Code Monkey home page Code Monkey logo

aws-xray-sdk-ruby's Introduction

Build Status

๐Ÿ“ฃ OpenTelemetry Ruby with AWS X-Ray

AWS X-Ray supports using OpenTelemetry Ruby and the AWS Distro for OpenTelemetry (ADOT) Collector to instrument your application and send trace data to X-Ray. The OpenTelemetry SDKs are an industry-wide standard for tracing instrumentation. They provide more instrumentations and have a larger community for support, but may not have complete feature parity with the X-Ray SDKs. See choosing between the ADOT and X-Ray SDKs for more help with choosing between the two. Note that using OpenTelemetry Ruby and ADOT is in public preview, and like this SDK in beta, is not recommended for production applications.

If you want additional features when tracing your Ruby applications, please open an issue on the OpenTelemetry Ruby Instrumentation repository.

AWS X-Ray SDK for Ruby (beta)

Screenshot of the AWS X-Ray console

Installing

The AWS X-Ray SDK for Ruby is compatible with Ruby 2.3.6 and newer Ruby versions. It has experimental support for JRuby 9.2.0.0 (still forthcoming).

To install the Ruby gem for your project, add it to your project Gemfile. You must also add either the Oj or JrJackson gems, for MRI and JRuby respectively, for JSON parsing. The default JSON parser will not work properly, currently.

# Gemfile
gem 'aws-xray-sdk'
gem 'oj', platform: :mri
gem 'jrjackson', platform: :jruby

Then run bundle install.

Getting Help

Use the following community resources for getting help with the SDK. We use the GitHub issues for tracking bugs and feature requests.

Opening Issues

If you encounter a bug with the AWS X-Ray SDK for Ruby, we want to hear about it. Before opening a new issue, search the existing issues to see if others are also experiencing the issue. Include the version of the AWS X-Ray SDK for Ruby, Ruby language, and other gems if applicable. In addition, include the repro case when appropriate.

The GitHub issues are intended for bug reports and feature requests. For help and questions about using the AWS SDK for Ruby, use the resources listed in the Getting Help section. Keeping the list of open issues lean helps us respond in a timely manner.

Documentation

The developer guide provides in-depth guidance about using the AWS X-Ray service. The API Reference provides documentation for public APIs of all classes in the SDK.

Quick Start

Configuration

require 'aws-xray-sdk'

# For configuring sampling rules through X-Ray service
# please see https://docs.aws.amazon.com/xray/latest/devguide/xray-console-sampling.html.
# The doc below defines local fallback sampling rules which has lower priority.
my_sampling_rules = {
  version: 2,
  rules: [
    {
      description: 'healthcheck',
      host: '*',
      http_method: 'GET',
      url_path: '/ping',
      fixed_target: 0,
      rate: 0
    }
  ],
  default: {
    fixed_target: 1,
    rate: 0.2
  }
}

user_config = {
  sampling: true,
  sampling_rules: my_sampling_rules,
  name: 'default_segment_name',
  daemon_address: '127.0.0.1:3000',
  context_missing: 'LOG_ERROR',
  patch: %I[net_http aws_sdk]
}

XRay.recorder.configure(user_config)

Working with Lambda

# Bundle aws-xray-sdk with your code.
# Require any aws-sdks and http libraries to be used, then...
require 'aws-xray-sdk/lambda'
# aws-sdk and http calls from here on will be instrumented

See also lib/aws-xray-sdk/lambda.rb

Working with Rails

# Edit Gemfile to add XRay middleware
gem 'aws-xray-sdk', require: ['aws-xray-sdk/facets/rails/railtie']

# Configure the recorder in app_root/config/initializers/aws_xray.rb
Rails.application.config.xray = {
  # default segment name generated by XRay middleware
  name: 'myrails',
  patch: %I[net_http aws_sdk],
  # record db transactions as subsegments
  active_record: true
}

Adding metadata/annotations using recorder

require 'aws-xray-sdk'

# Add annotations to the current active entity
XRay.recorder.annotations[:k1] = 'v1'
XRay.recorder.annotations.update k2: 'v2', k3: 3

# Add metadata to the current active entity
XRay.recorder.metadata[:k1] = 'v1' # add to default namespace
XRay.recorder.metadata(namespace: :my_ns).update k2: 'v2'

XRay.recorder.sampled? do
  XRay.recorder.metadata.update my_meta # expensive metadata generation here
end

Capture

require 'aws-xray-sdk'

XRay.recorder.capture('name_for_subsegment') do |subsegment|
  resp = myfunc()
  subsegment.annotations.update k1: 'v1'
  resp
end

# Manually apply the parent segment for the captured subsegment
XRay.recorder.capture('name_for_subsegment', segment: my_segment) do |subsegment|
  myfunc()
end

Thread Injection

require 'aws-xray-sdk'

XRay.recorder.configure({patch: %I[net_http]})

uri = URI.parse('http://aws.amazon.com/')
# Get the active entity from current call context
entity = XRay.recorder.current_entity

workers = (0...3).map do
  Thread.new do
    begin
      # set X-Ray context for this thread
      XRay.recorder.inject_context entity do
        http = Net::HTTP.new(uri.host, uri.port)
        http.request(Net::HTTP::Get.new(uri.request_uri))
      end
    rescue ThreadError
    end
  end
end

workers.map(&:join)

Start a custom segment/subsegment

require 'aws-xray-sdk'

# Start a segment
segment = XRay.recorder.begin_segment 'my_service'
# Start a subsegment
subsegment = XRay.recorder.begin_subsegment 'outbound_call', namespace: 'remote'

# Add metadata or annotation here if necessary
my_annotations = {
  k1: 'v1',
  k2: 1024
}
segment.annotations.update my_annotations

# Add metadata to default namespace
subsegment.metadata[:k1] = 'v1'

# Set user for the segment (subsegment is not supported)
segment.user = 'my_name'

# End segment/subsegment
XRay.recorder.end_subsegment
XRay.recorder.end_segment

License

The AWS X-Ray SDK for Ruby is licensed under the Apache 2.0 License. See LICENSE and NOTICE for more information.

aws-xray-sdk-ruby's People

Contributors

agirling avatar arizuk avatar bhautikpip avatar bonybrown avatar carolabadeer avatar chanchiem avatar etiennechabert avatar haotianw465 avatar hyandell avatar jamesdbowman avatar jessedoyle avatar jj22ee avatar jknollmeyer avatar johan-smits avatar kta-m avatar larsfronius avatar le3ah avatar lloydpick avatar luluzhao avatar nathanielrn avatar patrikjohansson avatar shengxil avatar sisisin avatar srprash avatar sunfuze avatar thomasritz avatar timoschilling avatar wangzlei avatar willarmiros avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aws-xray-sdk-ruby's Issues

Threading issues with Puma

Started seeing these:

#<NoMethodError: undefined method `borrow_or_take' for nil:NilClass> /usr/local/rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/aws-xray-sdk-0.11.2/lib/aws-xray-sdk/sampling/default_sampler.rb:85:in `process_matched_rule' /usr/local/rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/aws-xray-sdk-0.11.2/lib/aws-xray-sdk/sampling/default_sampler.rb:54:in `sample_request?' /usr/local/rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/aws-xray-sdk-0.11.2/lib/aws-xray-sdk/facets/helper.rb:36:in `should_sample?' /usr/local/rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/aws-xray-sdk-0.11.2/lib/aws-xray-sdk/facets/rack.rb:30:in `call' /usr/local/rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/puma-4.0.1/lib/puma/configuration.rb:228:in `call' /usr/local/rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/puma-4.0.1/lib/puma/server.rb:657:in `handle_request' /usr/local/rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/puma-4.0.1/lib/puma/server.rb:467:in `process_client' /usr/local/rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/puma-4.0.1/lib/puma/server.rb:328:in `block in run' /usr/local/rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/puma-4.0.1/lib/puma/thread_pool.rb:135:in `block in spawn_thread'

However we aren't using sampling so I'm not sure whats up.

JRuby Support

The oj gem is MRI specific. Will you accept a patch to convert this gem to use multi_json so that it picks a JRuby friendly JSON library when appropriate? It defaults to Oj, when that gem is available. This will also allow users who've standardized on some other JSON library to continue using it, without pulling in another JSON gem.

`cloudwatch_logs` properties aren't populated causing CloudWatch Tracer logs to not work

Hi all

When you look at Traces in AWS CloudWatch, the Log section looks like this:

Untitled(2)

But if you click through to "View in CloudWatch Logs Insights` then apply the correct log-group it finds the appropriate logs, meaning the tracing header is being correctly set.

The X-Ray docs show that there is an aws field in the protocol of which only the xray part of this is filled in currently.

After investigation the aws field I see there are two fields cloudwatch_logs that are not populated. Luckily I know that an ECS instance has access to the ECS_CONTAINER_METADATA_URI_V4 endpoint.

When called from within an ECS instance in Far-gate, this responds with JSON in the following structure

{
    "Networks": [{
        ...
        "PrivateDNSName": "ip-10-0-157-102.eu-west-2.compute.internal",
        ...
    }],
    "LogOptions": {
        "awslogs-group": "..."
        "awslogs-region": "....",
        "awslogs-stream": "...."
    }
}

This endpoint includes enough information to fill in the cloudwatch_logs.group_name field via the awslogs-group field. I put together a branch here doing this.

cloudwatch_logs however requires two fields. log_group and arn. The problem is that whilst ECS_CONTAINER_METADATA_URI_V4 contains the awslogs-group, it does not contain the arn. It is very likely to be the same as the Labels['com.amazonaws.ecs.cluster'], which I use to calculate it in my branch which is successful.

image

However, my method for calculating the ARN from the cluster's ARN wouldn't if the logs were in a different account or region as the cluster. So I'm able to fill the Cloudwatch logs correctly with the logs, but this wouldn't work for some scenarios. One of two actions would fix this issue:

  • Could the ECS_CONTAINER_METADATA_URI_V4 endpoint be updated to pass through the full ARN of the target log so it could be passed via X-Ray and used in CloudWatch Traces?

  • Could the CloudWatch front-end be updated to handle only the log_group by itself? The front-end attempts to read a log-group by name if the arn isn't provided, or use the arn if it is.

Many thanks

Tom

The ability to trace SQL queries is not yet implemented.

The following pull-link said the feature would be implemented, but it doesn't seem to be supported yet.

#21

Would you be willing to merge the code similar to the pull request author's suggestion?

The part I want to fix is the following record method.

https://github.com/aws/aws-xray-sdk-ruby/blob/5d482e76d86b7610d5fe8e404c44cd0bce9e9547/lib/aws-xray-sdk/facets/rails/active_record.rb

      def record(transaction)
          payload = transaction.payload
          pool, conn = get_pool_n_conn(payload[:connection_id])

          return if IGNORE_OPS.include?(payload[:name]) || pool.nil? || conn.nil?
          # The spec notation is Rails < 6.1, later this can be found in the db_config
          db_config = if pool.respond_to?(:spec)
                        pool.spec.config
                      else
                        pool.db_config.configuration_hash
                      end
          name, sql = build_name_sql_meta config: db_config, conn: conn
          subsegment = XRay.recorder.begin_subsegment name, namespace: 'remote'
          # subsegment is nil in case of context missing
          return if subsegment.nil?
          subsegment.start_time = transaction.time.to_f
          subsegment.sql = sql
          XRay.recorder.end_subsegment end_time: transaction.end.to_f
        end

I would like to add sql[:sanitized_query] = payload[:sql] to the above code as follows.

      def record(transaction)
          payload = transaction.payload
          pool, conn = get_pool_n_conn(payload[:connection_id])

          return if IGNORE_OPS.include?(payload[:name]) || pool.nil? || conn.nil?
          # The spec notation is Rails < 6.1, later this can be found in the db_config
          db_config = if pool.respond_to?(:spec)
                        pool.spec.config
                      else
                        pool.db_config.configuration_hash
                      end
          name, sql = build_name_sql_meta config: db_config, conn: conn
          sql[:sanitized_query] = payload[:sql]
          subsegment = XRay.recorder.begin_subsegment name, namespace: 'remote'
          # subsegment is nil in case of context missing
          return if subsegment.nil?
          subsegment.start_time = transaction.time.to_f
          subsegment.sql = sql
          XRay.recorder.end_subsegment end_time: transaction.end.to_f
        end

If it is too difficult, put SQL in the metadata.

cannot trace http + aws sdk clients used in required gems

Problem:

the net_http and aws_sdk libraries are not patched by the xray sdk if those libraries are used through a gem as opposed to directly through the application.

e.g. our Gemfile for our Rails application:

gem 'aws-xray-sdk', require: ['aws-xray-sdk/facets/rails/railtie']
gem 'faraday'     # uses `net_http` lib by default
gem 'sqs-client'  # our own gem that makes use of aws-sdk-sqs

X-Ray configuration:

## /app/config/initializers/aws_xray.rb
xray_config = {
  name: "App",
  plugins: %I[ec2 elastic_beanstalk],
  patch: %I[net_http aws_sdk],
  sampling: true
}

Rails.application.config.xray = xray_config

Requests made through Faraday to our API Gateway will not be captured by XRay. The same goes for our sqs calls made through our own sqs-client gem.

SDK failed to fetch X-Ray tcp address

We have a rails application and run in docker.

There is our docker-compose file content.

  web:
    image: xxx
    container_name: xxx
    command: ["bundle", "exec", "rails", "server", "-b", "0.0.0.0"]
    environment:
      AWS_XRAY_TRACING_NAME: xxxx
      AWS_XRAY_DAEMON_ADDRESS: x-ray:2000
      AWS_XRAY_CONTEXT_MISSING: LOG_ERROR
    ports:
      - 80:3000
  x-ray:
    image: amazon/aws-xray-daemon
    container_name: x-ray
    command: ['-t', '0.0.0.0:2000', '-o', '--log-level','dev']
    environment:
      AWS_REGION: ap-northeast-1
      AWS_ACCESS_KEY_ID: xxxx
      AWS_SECRET_ACCESS_KEY: xxxx
    ports:
      - 2000:2000/udp

Now, we can see the trace information at aws x-ray console. but the sdk always output warn log like this:

W, [2019-05-11T05:06:21.583099 #45]  WARN -- : No effective centralized sampling rule match. Fallback to local rules.

and this

W, [2019-05-11T05:06:21.611366 #54]  WARN -- : failed to fetch X-Ray sampling rules due to Failed to open TCP connection to 127.0.0.1:2000 (Connection refused - connect(2) for "127.0.0.1" port 2000)

Why SDK try to fetch x-ray sampling rule, but use the default address 127.0.0.1:2000? I have pass the x-ray daemon address by AWS_XRAY_DAEMON_ADDRESS, and the SDK also success to send trace information.

invalid configuration option `:xray_recorder' for Aws::Firehose::Client

Hi,

I'm trying to add tracing to a lambda that talks to AWS Firehose using the built in AWS SDK Client:

def firehose_client
  @firehose_client ||= Aws::Firehose::Client.new
end

I'm getting the following error:

invalid configuration option `:xray_recorder'

/var/runtime/gems/aws-sdk-core-3.47.0/lib/seahorse/client/configuration.rb:166:in `rescue in block in apply_options'

/var/runtime/gems/aws-sdk-core-3.47.0/lib/seahorse/client/configuration.rb:162:in `block in apply_options'

/var/runtime/gems/aws-sdk-core-3.47.0/lib/seahorse/client/configuration.rb:161:in `each'

/var/runtime/gems/aws-sdk-core-3.47.0/lib/seahorse/client/configuration.rb:161:in `apply_options'

/var/runtime/gems/aws-sdk-core-3.47.0/lib/seahorse/client/configuration.rb:149:in `build!'

/var/runtime/gems/aws-sdk-core-3.47.0/lib/seahorse/client/base.rb:62:in `build_config'

/var/runtime/gems/aws-sdk-core-3.47.0/lib/seahorse/client/base.rb:19:in `initialize'

/var/runtime/gems/aws-sdk-firehose-1.12.0/lib/aws-sdk-firehose/client.rb:213:in `initialize'

/var/runtime/gems/aws-sdk-core-3.47.0/lib/seahorse/client/base.rb:99:in `new'

/var/task/app/functions/enricher.rb:45:in `firehose_client'

Here's my config:

xray_config = {
  sampling: true,
  patch: %I[aws_sdk]
}

XRay.recorder.configure(xray_config)

Using ruby 2.5, find attached the current Gemfile.lock:

GEM
  remote: https://rubygems.org/
  specs:
    aws-eventstream (1.0.3)
    aws-partitions (1.154.0)
    aws-sdk (3.0.1)
      aws-sdk-resources (~> 3)
    aws-sdk-acm (1.19.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-acmpca (1.13.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-alexaforbusiness (1.20.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-amplify (1.3.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-apigateway (1.26.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-apigatewaymanagementapi (1.3.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-apigatewayv2 (1.4.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-applicationautoscaling (1.22.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-applicationdiscoveryservice (1.15.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-appmesh (1.6.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-appstream (1.25.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-appsync (1.12.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-athena (1.12.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-autoscaling (1.20.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-autoscalingplans (1.12.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-backup (1.3.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-batch (1.17.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-budgets (1.18.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-chime (1.6.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-cloud9 (1.11.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-clouddirectory (1.14.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-cloudformation (1.19.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-cloudfront (1.15.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-cloudhsm (1.12.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-cloudhsmv2 (1.12.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-cloudsearch (1.9.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-cloudsearchdomain (1.9.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-cloudtrail (1.11.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-cloudwatch (1.20.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-cloudwatchevents (1.17.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-cloudwatchlogs (1.17.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-codebuild (1.32.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-codecommit (1.17.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-codedeploy (1.18.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-codepipeline (1.11.0)
      aws-sdk-core (~> 3, >= 3.39.0)
      aws-sigv4 (~> 1.0)
    aws-sdk-codestar (1.11.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-cognitoidentity (1.10.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-cognitoidentityprovider (1.18.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-cognitosync (1.9.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-comprehend (1.18.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-comprehendmedical (1.3.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-configservice (1.26.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-connect (1.13.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-core (3.48.6)
      aws-eventstream (~> 1.0, >= 1.0.2)
      aws-partitions (~> 1.0)
      aws-sigv4 (~> 1.1)
      jmespath (~> 1.0)
    aws-sdk-costandusagereportservice (1.10.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-costexplorer (1.21.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-databasemigrationservice (1.20.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-datapipeline (1.9.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-datasync (1.3.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-dax (1.11.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-devicefarm (1.19.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-directconnect (1.17.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-directoryservice (1.15.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-dlm (1.11.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-docdb (1.4.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-dynamodb (1.26.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-dynamodbstreams (1.9.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-ec2 (1.81.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-ecr (1.14.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-ecs (1.36.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-efs (1.13.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-eks (1.15.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-elasticache (1.14.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-elasticbeanstalk (1.19.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-elasticloadbalancing (1.12.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-elasticloadbalancingv2 (1.26.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-elasticsearchservice (1.19.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-elastictranscoder (1.11.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-emr (1.14.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-firehose (1.14.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-fms (1.12.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-fsx (1.4.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-gamelift (1.16.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-glacier (1.18.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-globalaccelerator (1.4.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-glue (1.30.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-greengrass (1.17.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-guardduty (1.14.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-health (1.12.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-iam (1.19.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-importexport (1.9.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv2 (~> 1.0)
    aws-sdk-inspector (1.16.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-iot (1.29.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-iot1clickdevicesservice (1.11.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-iot1clickprojects (1.10.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-iotanalytics (1.16.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-iotdataplane (1.9.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-iotjobsdataplane (1.10.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-kafka (1.4.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-kinesis (1.13.1)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-kinesisanalytics (1.12.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-kinesisanalyticsv2 (1.3.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-kinesisvideo (1.12.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-kinesisvideoarchivedmedia (1.11.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-kinesisvideomedia (1.10.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-kms (1.17.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-lambda (1.22.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-lambdapreview (1.9.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-lex (1.12.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-lexmodelbuildingservice (1.15.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-licensemanager (1.3.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-lightsail (1.18.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-machinelearning (1.10.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-macie (1.9.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-managedblockchain (1.0.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-marketplacecommerceanalytics (1.9.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-marketplaceentitlementservice (1.9.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-marketplacemetering (1.11.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-mediaconnect (1.5.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-mediaconvert (1.25.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-medialive (1.28.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-mediapackage (1.15.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-mediastore (1.12.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-mediastoredata (1.11.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-mediatailor (1.14.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-migrationhub (1.11.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-mobile (1.9.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-mq (1.13.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-mturk (1.12.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-neptune (1.12.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-opsworks (1.13.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-opsworkscm (1.16.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-organizations (1.24.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-pi (1.9.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-pinpoint (1.19.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-pinpointemail (1.6.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-pinpointsmsvoice (1.6.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-polly (1.19.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-pricing (1.9.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-quicksight (1.5.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-ram (1.4.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-rds (1.50.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-rdsdataservice (1.4.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-redshift (1.23.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-rekognition (1.22.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-resourcegroups (1.14.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-resourcegroupstaggingapi (1.9.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-resources (3.42.0)
      aws-sdk-acm (~> 1)
      aws-sdk-acmpca (~> 1)
      aws-sdk-alexaforbusiness (~> 1)
      aws-sdk-amplify (~> 1)
      aws-sdk-apigateway (~> 1)
      aws-sdk-apigatewaymanagementapi (~> 1)
      aws-sdk-apigatewayv2 (~> 1)
      aws-sdk-applicationautoscaling (~> 1)
      aws-sdk-applicationdiscoveryservice (~> 1)
      aws-sdk-appmesh (~> 1)
      aws-sdk-appstream (~> 1)
      aws-sdk-appsync (~> 1)
      aws-sdk-athena (~> 1)
      aws-sdk-autoscaling (~> 1)
      aws-sdk-autoscalingplans (~> 1)
      aws-sdk-backup (~> 1)
      aws-sdk-batch (~> 1)
      aws-sdk-budgets (~> 1)
      aws-sdk-chime (~> 1)
      aws-sdk-cloud9 (~> 1)
      aws-sdk-clouddirectory (~> 1)
      aws-sdk-cloudformation (~> 1)
      aws-sdk-cloudfront (~> 1)
      aws-sdk-cloudhsm (~> 1)
      aws-sdk-cloudhsmv2 (~> 1)
      aws-sdk-cloudsearch (~> 1)
      aws-sdk-cloudsearchdomain (~> 1)
      aws-sdk-cloudtrail (~> 1)
      aws-sdk-cloudwatch (~> 1)
      aws-sdk-cloudwatchevents (~> 1)
      aws-sdk-cloudwatchlogs (~> 1)
      aws-sdk-codebuild (~> 1)
      aws-sdk-codecommit (~> 1)
      aws-sdk-codedeploy (~> 1)
      aws-sdk-codepipeline (~> 1)
      aws-sdk-codestar (~> 1)
      aws-sdk-cognitoidentity (~> 1)
      aws-sdk-cognitoidentityprovider (~> 1)
      aws-sdk-cognitosync (~> 1)
      aws-sdk-comprehend (~> 1)
      aws-sdk-comprehendmedical (~> 1)
      aws-sdk-configservice (~> 1)
      aws-sdk-connect (~> 1)
      aws-sdk-costandusagereportservice (~> 1)
      aws-sdk-costexplorer (~> 1)
      aws-sdk-databasemigrationservice (~> 1)
      aws-sdk-datapipeline (~> 1)
      aws-sdk-datasync (~> 1)
      aws-sdk-dax (~> 1)
      aws-sdk-devicefarm (~> 1)
      aws-sdk-directconnect (~> 1)
      aws-sdk-directoryservice (~> 1)
      aws-sdk-dlm (~> 1)
      aws-sdk-docdb (~> 1)
      aws-sdk-dynamodb (~> 1)
      aws-sdk-dynamodbstreams (~> 1)
      aws-sdk-ec2 (~> 1)
      aws-sdk-ecr (~> 1)
      aws-sdk-ecs (~> 1)
      aws-sdk-efs (~> 1)
      aws-sdk-eks (~> 1)
      aws-sdk-elasticache (~> 1)
      aws-sdk-elasticbeanstalk (~> 1)
      aws-sdk-elasticloadbalancing (~> 1)
      aws-sdk-elasticloadbalancingv2 (~> 1)
      aws-sdk-elasticsearchservice (~> 1)
      aws-sdk-elastictranscoder (~> 1)
      aws-sdk-emr (~> 1)
      aws-sdk-firehose (~> 1)
      aws-sdk-fms (~> 1)
      aws-sdk-fsx (~> 1)
      aws-sdk-gamelift (~> 1)
      aws-sdk-glacier (~> 1)
      aws-sdk-globalaccelerator (~> 1)
      aws-sdk-glue (~> 1)
      aws-sdk-greengrass (~> 1)
      aws-sdk-guardduty (~> 1)
      aws-sdk-health (~> 1)
      aws-sdk-iam (~> 1)
      aws-sdk-importexport (~> 1)
      aws-sdk-inspector (~> 1)
      aws-sdk-iot (~> 1)
      aws-sdk-iot1clickdevicesservice (~> 1)
      aws-sdk-iot1clickprojects (~> 1)
      aws-sdk-iotanalytics (~> 1)
      aws-sdk-iotdataplane (~> 1)
      aws-sdk-iotjobsdataplane (~> 1)
      aws-sdk-kafka (~> 1)
      aws-sdk-kinesis (~> 1)
      aws-sdk-kinesisanalytics (~> 1)
      aws-sdk-kinesisanalyticsv2 (~> 1)
      aws-sdk-kinesisvideo (~> 1)
      aws-sdk-kinesisvideoarchivedmedia (~> 1)
      aws-sdk-kinesisvideomedia (~> 1)
      aws-sdk-kms (~> 1)
      aws-sdk-lambda (~> 1)
      aws-sdk-lambdapreview (~> 1)
      aws-sdk-lex (~> 1)
      aws-sdk-lexmodelbuildingservice (~> 1)
      aws-sdk-licensemanager (~> 1)
      aws-sdk-lightsail (~> 1)
      aws-sdk-machinelearning (~> 1)
      aws-sdk-macie (~> 1)
      aws-sdk-managedblockchain (~> 1)
      aws-sdk-marketplacecommerceanalytics (~> 1)
      aws-sdk-marketplaceentitlementservice (~> 1)
      aws-sdk-marketplacemetering (~> 1)
      aws-sdk-mediaconnect (~> 1)
      aws-sdk-mediaconvert (~> 1)
      aws-sdk-medialive (~> 1)
      aws-sdk-mediapackage (~> 1)
      aws-sdk-mediastore (~> 1)
      aws-sdk-mediastoredata (~> 1)
      aws-sdk-mediatailor (~> 1)
      aws-sdk-migrationhub (~> 1)
      aws-sdk-mobile (~> 1)
      aws-sdk-mq (~> 1)
      aws-sdk-mturk (~> 1)
      aws-sdk-neptune (~> 1)
      aws-sdk-opsworks (~> 1)
      aws-sdk-opsworkscm (~> 1)
      aws-sdk-organizations (~> 1)
      aws-sdk-pi (~> 1)
      aws-sdk-pinpoint (~> 1)
      aws-sdk-pinpointemail (~> 1)
      aws-sdk-pinpointsmsvoice (~> 1)
      aws-sdk-polly (~> 1)
      aws-sdk-pricing (~> 1)
      aws-sdk-quicksight (~> 1)
      aws-sdk-ram (~> 1)
      aws-sdk-rds (~> 1)
      aws-sdk-rdsdataservice (~> 1)
      aws-sdk-redshift (~> 1)
      aws-sdk-rekognition (~> 1)
      aws-sdk-resourcegroups (~> 1)
      aws-sdk-resourcegroupstaggingapi (~> 1)
      aws-sdk-robomaker (~> 1)
      aws-sdk-route53 (~> 1)
      aws-sdk-route53domains (~> 1)
      aws-sdk-route53resolver (~> 1)
      aws-sdk-s3 (~> 1)
      aws-sdk-s3control (~> 1)
      aws-sdk-sagemaker (~> 1)
      aws-sdk-sagemakerruntime (~> 1)
      aws-sdk-secretsmanager (~> 1)
      aws-sdk-securityhub (~> 1)
      aws-sdk-serverlessapplicationrepository (~> 1)
      aws-sdk-servicecatalog (~> 1)
      aws-sdk-servicediscovery (~> 1)
      aws-sdk-ses (~> 1)
      aws-sdk-shield (~> 1)
      aws-sdk-signer (~> 1)
      aws-sdk-simpledb (~> 1)
      aws-sdk-sms (~> 1)
      aws-sdk-snowball (~> 1)
      aws-sdk-sns (~> 1)
      aws-sdk-sqs (~> 1)
      aws-sdk-ssm (~> 1)
      aws-sdk-states (~> 1)
      aws-sdk-storagegateway (~> 1)
      aws-sdk-support (~> 1)
      aws-sdk-swf (~> 1)
      aws-sdk-textract (~> 1)
      aws-sdk-transcribeservice (~> 1)
      aws-sdk-transcribestreamingservice (~> 1)
      aws-sdk-transfer (~> 1)
      aws-sdk-translate (~> 1)
      aws-sdk-waf (~> 1)
      aws-sdk-wafregional (~> 1)
      aws-sdk-workdocs (~> 1)
      aws-sdk-worklink (~> 1)
      aws-sdk-workmail (~> 1)
      aws-sdk-workspaces (~> 1)
      aws-sdk-xray (~> 1)
    aws-sdk-robomaker (1.5.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-route53 (1.22.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-route53domains (1.11.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-route53resolver (1.4.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-s3 (1.36.1)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sdk-kms (~> 1)
      aws-sigv4 (~> 1.0)
    aws-sdk-s3control (1.5.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.0)
    aws-sdk-sagemaker (1.33.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-sagemakerruntime (1.10.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-secretsmanager (1.24.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-securityhub (1.4.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-serverlessapplicationrepository (1.15.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-servicecatalog (1.21.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-servicediscovery (1.12.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-ses (1.18.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-shield (1.13.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-signer (1.9.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-simpledb (1.9.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv2 (~> 1.0)
    aws-sdk-sms (1.10.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-snowball (1.14.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-sns (1.13.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-sqs (1.13.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-ssm (1.38.0)
      aws-sdk-core (~> 3, >= 3.39.0)
      aws-sigv4 (~> 1.0)
    aws-sdk-states (1.14.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-storagegateway (1.21.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-support (1.9.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-swf (1.9.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-textract (1.4.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-transcribeservice (1.19.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-transcribestreamingservice (1.2.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-transfer (1.6.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-translate (1.11.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-waf (1.16.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-wafregional (1.17.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-workdocs (1.12.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-worklink (1.4.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-workmail (1.11.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-workspaces (1.19.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sdk-xray (1.13.0)
      aws-sdk-core (~> 3, >= 3.48.2)
      aws-sigv4 (~> 1.1)
    aws-sigv2 (1.0.1)
    aws-sigv4 (1.1.0)
      aws-eventstream (~> 1.0, >= 1.0.2)
    aws-xray-sdk (0.10.2)
      oj (~> 3.0)
    browser (2.5.3)
    coderay (1.1.2)
    diff-lcs (1.3)
    jmespath (1.4.0)
    method_source (0.9.2)
    oj (3.7.12)
    pry (0.12.2)
      coderay (~> 1.1.0)
      method_source (~> 0.9.0)
    rspec (3.8.0)
      rspec-core (~> 3.8.0)
      rspec-expectations (~> 3.8.0)
      rspec-mocks (~> 3.8.0)
    rspec-core (3.8.0)
      rspec-support (~> 3.8.0)
    rspec-expectations (3.8.3)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.8.0)
    rspec-mocks (3.8.0)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.8.0)
    rspec-support (3.8.0)
    timecop (0.9.1)

PLATFORMS
  ruby

DEPENDENCIES
  aws-sdk
  aws-xray-sdk
  browser
  pry
  rspec
  timecop

BUNDLED WITH
   2.0.1

Add rails caching and/or redis support

It would be great if redis calls could be made into subsegments just as easily as the net/http calls can be. Or adding support for Rails cache reads and writes just like the active record support that is already there.

Rails db migrate fail

Deploy failed when execute db:migrate

this is rails project and initializer is here

Rails.application.config.xray = {
  # default segment name generated by XRay middleware
  name: 'cvsinfo_web',
  patch: %I[net_http aws_sdk],
  # record db transactions as subsegments
  active_record: true
}

Works if commented active_record: true

here is error log

01:07 deploy:migrating
      01 $HOME/.rbenv/bin/rbenv exec bundle exec rake db:migrate
      01 rake aborted!
      01 XRay::ContextMissingError: Can not find any active segment or subsegment.
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/aws-xray-sdk-0.9.0/lib/aws-xray-sdk/context/default_context.rb:58:in `handle_context_missing'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/aws-xray-sdk-0.9.0/lib/aws-xray-sdk/context/default_context.rb:35:in `current_entity'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/aws-xray-sdk-0.9.0/lib/aws-xray-sdk/recorder.rb:122:in `current_entity'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/aws-xray-sdk-0.9.0/lib/aws-xray-sdk/recorder.rb:62:in `begin_subsegment'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/aws-xray-sdk-0.9.0/lib/aws-xray-sdk/facets/rails/active_record.rb:22:in `record'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/aws-xray-sdk-0.9.0/lib/aws-xray-sdk/facets/rails/active_record.rb:65:in `block in <top (required)>'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/activesupport-5.1.4/lib/active_support/notifications/fanout.rb:127:in `finish'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/activesupport-5.1.4/lib/active_support/notifications/fanout.rb:46:in `block in finish'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/activesupport-5.1.4/lib/active_support/notifications/fanout.rb:46:in `each'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/activesupport-5.1.4/lib/active_support/notifications/fanout.rb:46:in `finish'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/activesupport-5.1.4/lib/active_support/notifications/instrumenter.rb:42:in `finish_with_state'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/activesupport-5.1.4/lib/active_support/notifications/instrumenter.rb:27:in `instrument'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract_adapter.rb:603:in `log'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/connection_adapters/postgresql/database_statements.rb:59:in `query'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:70:in `query_value'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/connection_adapters/postgresql_adapter.rb:329:in `get_advisory_lock'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/migration.rb:1314:in `with_advisory_lock'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/migration.rb:1148:in `migrate'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/migration.rb:1007:in `up'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/migration.rb:985:in `migrate'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/tasks/database_tasks.rb:171:in `migrate'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/railties/databases.rake:58:in `block (2 levels) in <top (required)>'
      01 /home/ubuntu/www/cvsinfo/shared/bundle/ruby/2.5.0/gems/rake-12.3.0/exe/rake:27:in `<top (required)>'
      01 /home/ubuntu/.rbenv/versions/2.5.0/bin/bundle:23:in `load'
      01 /home/ubuntu/.rbenv/versions/2.5.0/bin/bundle:23:in `<main>'
      01 Tasks: TOP => db:migrate
      01 (See full trace by running task with --trace)

Missing context error breaks Logger

Please forgive me if this is deeply confused, but I've spent the entire day trying to pin down the source of this without much success.

I was trying to figure out why my Cloudfront logs looked like my lambda functions had just died without warning. It turns out that the functions were fine, but my $logger instance had stopped outputting to STDOUT.

I believe this handler reproduces the issue:

require "aws-sdk-s3"
require "logger"
$logger = Logger.new($stdout)
require "aws-xray-sdk/lambda"

TEST_BUCKET = "my-s3-test-bucket

def lambda_handler(event:, context:)
  $logger.info('## EVENT')
  $logger.info(event.to_json)

  # create a large file so that S3 upload uses multipart threads:
  File.open("/tmp/testfile", "w"){ |f| 2000.times{ f.write "abcdefg" * 2000 } }
  $logger.info "Uploading #{File.size '/tmp/testfile'} bytes"

  # up to this point, everything is fine, $logger logs appear in Cloudwatch
  Aws::S3::Resource.new.bucket(TEST_BUCKET).object("tmptest").upload_file("/tmp/testfile")


  # And now $logger is broken, logs no longer appear in Cloudwatch
  STDOUT.puts "Done (from STDOUT)" # this appears in cloudwatch
  STDERR.puts "Done (from STDERR)" # this appears in cloudwatch
  $logger.info "Done!"  # this doesn't appear in cloudwatch!

  return { status: "OK!", type: "tester" }

rescue Exception => e
  $logger.error e.inspect
  STDERR.puts e.inspect
  raise
ensure
  STDOUT.flush
  STDERR.flush
end

after the S3 upload completes, $logger.info (or $logger.fatal etc) don't cause anything to appear in the Cloudwatch logs. However, STDOUT & STDERR continue to work fine.

If I remove the XRay library, or if I set ENV["AWS_XRAY_CONTEXT_MISSING"] = "IGNORE_ERROR", then the logger continues to work fine. It seems to be something to do with XRay triggering in the threaded S3 multipart uploader, but I've been unable to reproduce it just by creating my own threads and trying to log from there.

An alternate fix/hack seems to be to add a Thread subclass in Aws::S3 that automatically injects the XRay context:

module Aws::S3
  class Thread < ::Thread
    def self.new(&block)
      entity = XRay.recorder.current_entity
      super { XRay.recorder.inject_context(entity, &block) }
    end
  end
end

Any suggestions what's happening here?

invalid configuration option `:xray_recorder' on Kinesis

Hi guys, are there better documentations on what dependencies i'll need to update for working with instrumenting this SDK with Ruby Lambda functions?

I followed the example, and have tried to instrument X-Ray with a Lambda function (with Kinesis data stream as its event source).

require 'aws-sdk-lambda'
require 'aws-xray-sdk/lambda'

require './lib/logger.rb'

xray_config = {
  context_missing: 'LOG_ERROR',
  logger: LOGGER
}
XRay.recorder.configure(xray_config)

def my_function(event:, context:)
  client = Aws::Lambda::Client.new

  # business logic

  client.get_account_settings.account_usage.to_h
end

However, I seem to hit a possible bug(?) :

invalid configuration option `:xray_recorder'

The redacted error trace:


"/var/task/vendor/bundle/ruby/2.5.0/gems/aws-sdk-core-3.72.0/lib/seahorse/client/configuration.rb:162:in `block in apply_options'",
"/var/task/vendor/bundle/ruby/2.5.0/gems/aws-sdk-core-3.72.0/lib/seahorse/client/configuration.rb:161:in `each'",
"/var/task/vendor/bundle/ruby/2.5.0/gems/aws-sdk-core-3.72.0/lib/seahorse/client/configuration.rb:161:in `apply_options'",
"/var/task/vendor/bundle/ruby/2.5.0/gems/aws-sdk-core-3.72.0/lib/seahorse/client/configuration.rb:149:in `build!'",
"/var/task/vendor/bundle/ruby/2.5.0/gems/aws-sdk-core-3.72.0/lib/seahorse/client/base.rb:62:in `build_config'",
"/var/task/vendor/bundle/ruby/2.5.0/gems/aws-sdk-core-3.72.0/lib/seahorse/client/base.rb:19:in `initialize'",
"/var/task/vendor/bundle/ruby/2.5.0/gems/aws-sdk-kinesis-1.20.0/lib/aws-sdk-kinesis/client.rb:273:in `initialize'",
"/var/task/vendor/bundle/ruby/2.5.0/gems/aws-sdk-core-3.72.0/lib/seahorse/client/base.rb:99:in `new'",

My dependencies are below:

GEM
  remote: https://rubygems.org/
  specs:
    ...
    aws-eventstream (1.1.0)
    aws-partitions (1.343.0)
    aws-record (2.4.0)
      aws-sdk-dynamodb (~> 1.18)
    aws-sdk-core (3.104.1)
      aws-eventstream (~> 1, >= 1.0.2)
      aws-partitions (~> 1, >= 1.239.0)
      aws-sigv4 (~> 1.1)
      jmespath (~> 1.0)
    aws-sdk-dynamodb (1.37.0)
      aws-sdk-core (~> 3, >= 3.71.0)
      aws-sigv4 (~> 1.1)
    aws-sdk-kinesis (1.26.0)
      aws-sdk-core (~> 3, >= 3.99.0)
      aws-sigv4 (~> 1.1)
    aws-sdk-lambda (1.31.0)
      aws-sdk-core (~> 3, >= 3.71.0)
      aws-sigv4 (~> 1.1)
    aws-sdk-sns (1.20.0)
      aws-sdk-core (~> 3, >= 3.71.0)
      aws-sigv4 (~> 1.1)
    aws-sdk-xray (1.4.0)
      aws-sdk-core (~> 3)
      aws-sigv4 (~> 1.0)
    aws-sigv4 (1.2.1)
      aws-eventstream (~> 1, >= 1.0.2)
    aws-xray-sdk (0.11.5)
      aws-sdk-xray (~> 1.4.0)
      multi_json (~> 1)
...

DEPENDENCIES
  aws-record
  aws-sdk-kinesis
  aws-sdk-lambda
  aws-sdk-sns
  aws-xray-sdk
  ...

Not sure if it's related to #26 but the fix mentioned here shows the Kinesis service is whitelisted so I'm not sure what exactly is going wrong?
Would i just need to bump my dependencies on the aws-sdk-* gems?

Thank you! ๐Ÿ™

net/http patch does not return response

I'm trying to use the X-Ray SDK with the patch enabled for net/http, but instead of returning an HTTPResponse object it looks like it's returning an HTTP status code as an Integer.

Here's a snippet with the unpatched net/http library:

require 'net/http'

http = Net::HTTP.new('aws.amazon.com', 80)
req = Net::HTTP::Get.new('/')
res = http.request(req)
puts res.body

Here's what is printed when running the snippet:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="https://aws.amazon.com/">here</a>.</p>
</body></html>

Here's a snippet with the patched net/http library:

require 'net/http'
require 'aws-xray-sdk'
require 'aws-xray-sdk/facets/net_http'

XRay.recorder.configure({patch: %I[net_http]})
XRay.recorder.begin_segment 'my_service'

http = Net::HTTP.new('aws.amazon.com', 80)
req = Net::HTTP::Get.new('/')
res = http.request(req)
puts res.body

XRay.recorder.end_segment

Here's what is printed when running the snippet:

Traceback (most recent call last):
/Users/ben.vidulich/Desktop/snippet2.rb:11:in `<main>': undefined method `body' for 301:Integer (NoMethodError)

Regarding next release date

Hi guys, thanks for your work on X-Ray for Ruby.
As a serverless enthusiast Iโ€™m very excited with Lambda instrumentation made possible in a recent PR #20.

Do you have plans to release anytime soon?

How to record SQL queries?

I'm attempting to start to use X-RAY with Rails for tracing SQL queries.

But, I cannot see SQL queries in SQL tab.
I'd like to see queries on below popup.
Is it possible?

aws_x-ray

Otherwise, I think that I will use annotations.
I succeeded to record queries by adding the following code around here:
https://github.com/aws/aws-xray-sdk-ruby/blob/master/lib/aws-xray-sdk/facets/rails/active_record.rb#L26

sql_query = { sql_query: payload.fetch(:sql) }
subsegment.annotations.update sql_query

aws_x-ray

Please let me know, if there are any other options.

Regards.

stack level too deep (SystemStackError)

When active_record is set to true, I get a stack level too deep (SystemStackError) error.

Puma caught this error: stack level too deep (SystemStackError)
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:152:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `block in as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `each'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `map'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:171:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/activesupport-5.2.1/lib/active_support/core_ext/object/json.rb:56:in `as_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/multi_json-1.13.1/lib/multi_json/adapters/oj.rb:40:in `dump'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/multi_json-1.13.1/lib/multi_json/adapters/oj.rb:40:in `dump'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/multi_json-1.13.1/lib/multi_json/adapter.rb:25:in `dump'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/multi_json-1.13.1/lib/multi_json.rb:139:in `dump'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/aws-xray-sdk-0.11.1/lib/aws-xray-sdk/model/entity.rb:171:in `to_json'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/aws-xray-sdk-0.11.1/lib/aws-xray-sdk/emitter/default_emitter.rb:27:in `send_entity'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/aws-xray-sdk-0.11.1/lib/aws-xray-sdk/recorder.rb:56:in `end_segment'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/aws-xray-sdk-0.11.1/lib/aws-xray-sdk/facets/rack.rb:58:in `call'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/newrelic_rpm-5.4.0.347/lib/new_relic/agent/instrumentation/middleware_tracing.rb:92:in `call'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/webpacker-3.5.5/lib/webpacker/dev_server_proxy.rb:22:in `perform_request'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/rack-proxy-0.6.4/lib/rack/proxy.rb:57:in `call'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/newrelic_rpm-5.4.0.347/lib/new_relic/agent/instrumentation/middleware_tracing.rb:92:in `call'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/railties-5.2.1/lib/rails/engine.rb:524:in `call'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/newrelic_rpm-5.4.0.347/lib/new_relic/agent/instrumentation/middleware_tracing.rb:92:in `call'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/puma-3.12.0/lib/puma/configuration.rb:225:in `call'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/puma-3.12.0/lib/puma/server.rb:658:in `handle_request'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/puma-3.12.0/lib/puma/server.rb:472:in `process_client'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/puma-3.12.0/lib/puma/server.rb:332:in `block in run'
/Users/jordan/.rvm/gems/ruby-2.4.4/gems/puma-3.12.0/lib/puma/thread_pool.rb:133:in `block in spawn_thread'

Rails: How do trace Sidekiq ?

I set it according to the README, but I can't trace it in Sidekiq. What should i do?

Error Log:

E, [2020-10-22T13:02:15.451793 #1] ERROR -- : can not find the current context.

Gem

 gem 'aws-xray-sdk', '0.11.5', require: ['aws-xray-sdk/facets/rails/railtie']
 gem 'oj', '3.10.15', platform: :mri

client_ip with X-Forwarded-For + Rack

When using the Rack middleware and client IPs are being set via the X-Forwarded-For header, it looks like the client IP is being sent to the X-Ray service as the last character of the header value.

Rackup snippet for reproduction:

# config.ru
require 'aws-xray-sdk'
require 'aws-xray-sdk/facets/rack'

XRay.recorder.configure(name: 'example')

class HelloWorld
  def call(env)
    [200, {"Content-Type" => "text/html"}, ["Hello World!\n"]]
  end
end

use XRay::Rack::Middleware
run HelloWorld.new

The following commands trigger a trace to be sent to localhost on UDP port 2000 (the X-Ray default).

$ curl --header "X-Forwarded-For: 1.2.3.4" localhost:9292

Results in client_ip set to 4.

$ curl --header "X-Forwarded-For: 1.2.3.4, 5.6.7.8" localhost:9292

Results in client_ip set to 8.

Payload sent to X-Ray daemon {"name":"example","id":"0c01ca44eb76e204","start_time":1519090666.569221,"end_time":1519090666.56938,"http":{"request":{"url":"http://localhost:9292/","user_agent":"curl/7.54.0","method":"GET","client_ip":"8","x_forwarded_for":true},"response":{"status":200,"content_length":82}},"trace_id":"1-5a8b7bea-6ad09f5d5612bb63e07fadb3"}

$ curl --header "X-Forwarded-For: abcdef" localhost:9292

Results in client_ip set to f.

Issue with running latest version 0.11.0 on Rails with puma clustered mode (killed thread rule_poller)

Steps to reproduce:

gem install rails -v 2.5.1
rails new ~/xray-app
cd ~/xray-app
echo "gem 'aws-xray-sdk', require: ['aws-xray-sdk/facets/rails/railtie']"  >> Gemfile
bundle install
echo 'workers 2' > config/puma.rb
$ bundle exec rails server
=> Booting Puma
=> Rails 5.2.1 application starting in development
=> Run `rails server -h` for more startup options
[2204] Puma starting in cluster mode...
[2204] * Version 3.12.0 (ruby 2.5.1-p57), codename: Llamas in Pajamas
[2204] * Min threads: 0, max threads: 16
[2204] * Environment: development
[2204] * Process workers: 2
[2204] * Phased restart available
[2204] * Listening on tcp://localhost:3000
[2204] Use Ctrl-C to stop
[2204] - Worker 0 (pid: 2245) booted, phase: 0
[2204] - Worker 1 (pid: 2246) booted, phase: 0
2018-10-05 17:46:50 +0200: Rack app error handling request { GET / }
#<ThreadError: killed thread>
/usr/local/lib/ruby/gems/2.5.0/gems/aws-xray-sdk-0.11.0/lib/aws-xray-sdk/sampling/rule_poller.rb:16:in `run'
/usr/local/lib/ruby/gems/2.5.0/gems/aws-xray-sdk-0.11.0/lib/aws-xray-sdk/sampling/rule_poller.rb:16:in `run'
/usr/local/lib/ruby/gems/2.5.0/gems/aws-xray-sdk-0.11.0/lib/aws-xray-sdk/sampling/lead_poller.rb:24:in `start'
/usr/local/lib/ruby/gems/2.5.0/gems/aws-xray-sdk-0.11.0/lib/aws-xray-sdk/sampling/default_sampler.rb:33:in `block in start'
/usr/local/lib/ruby/gems/2.5.0/gems/aws-xray-sdk-0.11.0/lib/aws-xray-sdk/sampling/default_sampler.rb:31:in `synchronize'
/usr/local/lib/ruby/gems/2.5.0/gems/aws-xray-sdk-0.11.0/lib/aws-xray-sdk/sampling/default_sampler.rb:31:in `start'
/usr/local/lib/ruby/gems/2.5.0/gems/aws-xray-sdk-0.11.0/lib/aws-xray-sdk/sampling/default_sampler.rb:43:in `sample_request?'
/usr/local/lib/ruby/gems/2.5.0/gems/aws-xray-sdk-0.11.0/lib/aws-xray-sdk/facets/helper.rb:36:in `should_sample?'
/usr/local/lib/ruby/gems/2.5.0/gems/aws-xray-sdk-0.11.0/lib/aws-xray-sdk/facets/rack.rb:30:in `call'
/usr/local/lib/ruby/gems/2.5.0/gems/railties-5.2.1/lib/rails/engine.rb:524:in `call'
/usr/local/lib/ruby/gems/2.5.0/gems/puma-3.12.0/lib/puma/configuration.rb:225:in `call'
/usr/local/lib/ruby/gems/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:658:in `handle_request'
/usr/local/lib/ruby/gems/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:472:in `process_client'
/usr/local/lib/ruby/gems/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:332:in `block in run'
/usr/local/lib/ruby/gems/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:133:in `block in spawn_thread'
2018-10-05 17:46:51 +0200: Rack app error handling request { GET /favicon.ico }
#<ThreadError: killed thread>
/usr/local/lib/ruby/gems/2.5.0/gems/aws-xray-sdk-0.11.0/lib/aws-xray-sdk/sampling/rule_poller.rb:16:in `run'
/usr/local/lib/ruby/gems/2.5.0/gems/aws-xray-sdk-0.11.0/lib/aws-xray-sdk/sampling/rule_poller.rb:16:in `run'
/usr/local/lib/ruby/gems/2.5.0/gems/aws-xray-sdk-0.11.0/lib/aws-xray-sdk/sampling/lead_poller.rb:24:in `start'
/usr/local/lib/ruby/gems/2.5.0/gems/aws-xray-sdk-0.11.0/lib/aws-xray-sdk/sampling/default_sampler.rb:33:in `block in start'
/usr/local/lib/ruby/gems/2.5.0/gems/aws-xray-sdk-0.11.0/lib/aws-xray-sdk/sampling/default_sampler.rb:31:in `synchronize'
/usr/local/lib/ruby/gems/2.5.0/gems/aws-xray-sdk-0.11.0/lib/aws-xray-sdk/sampling/default_sampler.rb:31:in `start'
/usr/local/lib/ruby/gems/2.5.0/gems/aws-xray-sdk-0.11.0/lib/aws-xray-sdk/sampling/default_sampler.rb:43:in `sample_request?'
/usr/local/lib/ruby/gems/2.5.0/gems/aws-xray-sdk-0.11.0/lib/aws-xray-sdk/facets/helper.rb:36:in `should_sample?'
/usr/local/lib/ruby/gems/2.5.0/gems/aws-xray-sdk-0.11.0/lib/aws-xray-sdk/facets/rack.rb:30:in `call'
/usr/local/lib/ruby/gems/2.5.0/gems/railties-5.2.1/lib/rails/engine.rb:524:in `call'
/usr/local/lib/ruby/gems/2.5.0/gems/puma-3.12.0/lib/puma/configuration.rb:225:in `call'
/usr/local/lib/ruby/gems/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:658:in `handle_request'
/usr/local/lib/ruby/gems/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:472:in `process_client'
/usr/local/lib/ruby/gems/2.5.0/gems/puma-3.12.0/lib/puma/server.rb:332:in `block in run'
/usr/local/lib/ruby/gems/2.5.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:133:in `block in spawn_thread'
^C[2204] - Gracefully shutting down workers...
[2204] === puma shutdown: 2018-10-05 17:46:56 +0200 ===
[2204] - Goodbye!
Exiting

It looks like once you enable clustered mode (worker setting in Puma) the background thread for polling sampling rules is being killed unexpectedly.

Wrong duration for DB transaction event

[Steps to reproduce the issue]

  • Create a Ruby on rails application with the X-Ray SDK for Ruby middleware [3] to send requests to the Database.
    • Create a Model and a corresponding Controller.
    • Define routing URL pattern corresponding to the Controller.
  • Start the X-Ray daemon.
  • Send a request to the created application.
  • Confirm the the time duration for the trace in the X-Ray console.

As a result, the start_time of a subsegment during a DB operation was set to a time in the distant future.

[Investigation]

has_header? missing on old rack version

gem 'aws-xray-sdk', require: ['aws-xray-sdk/facets/rails/railtie']
 #<NoMethodError: undefined method `has_header?' for #<Rack::Request:0x000056350963a080>>
 /bundle/vendor/gems/aws-xray-sdk-0.10.2/lib/aws-xray-sdk/facets/rack.rb:69:in `extract_request_meta'
 /bundle/vendor/gems/aws-xray-sdk-0.10.2/lib/aws-xray-sdk/facets/rack.rb:40:in `call'
 /bundle/vendor/gems/railties-4.2.11.1/lib/rails/engine.rb:518:in `call'
 /bundle/vendor/gems/railties-4.2.11.1/lib/rails/application.rb:165:in `call'
 /bundle/vendor/gems/rack-pjax-1.0.0/lib/rack/pjax.rb:12:in `call'
 /bundle/vendor/gems/puma-4.3.1/lib/puma/configuration.rb:228:in `call'
 /bundle/vendor/gems/puma-4.3.1/lib/puma/server.rb:681:in `handle_request'
 /bundle/vendor/gems/puma-4.3.1/lib/puma/server.rb:472:in `process_client'
 /bundle/vendor/gems/puma-4.3.1/lib/puma/server.rb:328:in `block in run'
 /bundle/vendor/gems/puma-4.3.1/lib/puma/thread_pool.rb:134:in `block in spawn_thread'
rails 4.2.11.1
rack 1.6.12

fairly old version of rails/rack app, tried adding xray tracing anyway.
maybe we should check about rack ~> 2.0 like in gemspec devdependencies or can this be adjusted for older rack versions?

Lambda functions - adding annotations to segments "Can not find any active segment or subsegment."

Hello,

Is it possible with the latest version of the SDK to add annotations to the underlying segment? What is the recommended approach?

I want to to add an annotation to my lambda function so that I can search for the segment in the XRay console. I've tried to add annotations to the parent segment and a new subsegment, but when i do i receive an error

"Can not find any active segment or subsegment." when accessing the segment

  • I've also verified my function has the proper permissions to write:
- Effect: Allow
      Action:
        - "xray:PutTraceSegments"
        - "xray:PutTelemetryRecords"
      Resource:
        - "*"
require 'aws-xray-sdk/lambda'
....

handler :my_function do |event:, context:|
    document = XRay.recorder.begin_subsegment name: 'annotations', namespace: 'remote'
    lambda_annotation = {lambda_annotation: 'true' }
    document.annotations.update lambda_annotation
    XRay.recorder.end_subsegment
end

and

handler :my_function do |event:, context:|
    document = XRay.recorder.current_segment
    lambda_annotation = {lambda_annotation: 'true' }
    document.annotations.update lambda_annotation
end

Thanks

Basic setup implodes on pg connection with RDS + IAM (ec2 instance profile)

# config/initializers/aws-xray.rb
Rails.application.config.xray = {
  name: 'Foo',
  patch: %I[net_http aws_sdk]
}

# Gemfile
gem 'aws-xray-sdk', require: ['aws-xray-sdk/facets/rails/railtie']

If i trigger a database connection, or load console and fetch from AR, the following fatal is thrown

AWS_REGION=us-east-1 bin/rails db:migrate --trace

** Invoke db:migrate (first_time)
** Invoke db:load_config (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:load_config
** Execute db:migrate
rails aborted!
Aws::Sigv4::Errors::MissingCredentialsError: missing credentials, provide credentials with one of the following options:

  • :access_key_id and :secret_access_key
  • :credentials
  • :credentials_provider
    /home/ubuntu/vendor/ruby/3.0.0/gems/aws-sigv4-1.2.3/lib/aws-sigv4/signer.rb:621:in `extract_credentials_provider'

If i rm config/initializers/aws-xray.rb the issue is gone.

warning: instance variable @metadata not initialized

Hello,

Version used: aws-xray-sdk-0.13.0

I am flooded by warnings such as:

/usr/local/bundle/gems/aws-xray-sdk-0.13.0/lib/aws-xray-sdk/model/entity.rb:158: warning: instance variable @metadata not initialized

Coming from this line: https://github.com/aws/aws-xray-sdk-ruby/blob/master/lib/aws-xray-sdk/model/entity.rb#L158

I have the feeling that this could be easily prevented if Instead of using directly, @metadata, we would be using the metadata method ? https://github.com/aws/aws-xray-sdk-ruby/blob/master/lib/aws-xray-sdk/model/entity.rb#L64

Sorry if I am totally missing something and this warning is actually because I am doing something wrong.

Best,

activating aws_sdk patching affects Lambda responses sometimes

I use the aws-sdk-lambda gem to invoke Lambda functions with the Aws::Lambda::Client#invoke method. My functions return JSON strings which then get parsed.

Recently I added X-Ray via the aws-xray-sdk gem and found that if I activate the net_http and aws_sdk patches the response of the Lambda functions sometimes gets scrambled. One or more of the last bytes are appended to the end which leads to a parsing error.
AFAICS this happens to longer responses (around 1K) only but not to short (around 100 bytes) ones. Also when retrying the invocation immediately the response is unscrambled.
When disabling the aws_sdk patch this does not seem to happen.

Logs flooded with `cannot find the current context`

Hihi

On the latest-version, seeing a lot of this in the logs:

E, [2023-02-14T16:46:29.307789 #87679] ERROR -- : cannot find the current context.

This is coming from this line which may be mistakenly hiding a bug?

The code is:

def current_entity
      if entity = Thread.current[LOCAL_KEY]
        entity
      else
        handle_context_missing
      end
end

But when I run Thread.current[LOCAL_KEY] I get uninitialized constant XRay::NetHttp::HTTPInstanceInterceptor::LOCAL_KEY which I imagine is unintended.

Ah, but further research shows this is coming from the Unleash gem I use which runs on a scheduled task on it's own Thread.

So Unleash fires, calling http-fetch which get's intercepted by XRay which throws an error because no context is set.

I've also found an undocumented context_missing option of IGNORE_ERROR which silences the issue.

Parsing error

Aws::Xml::Parser::ParsingError
XML declaration allowed only at the start of the document

/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/aws-sdk-core/xml/parser/stack.rb:45:in `error'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/aws-sdk-core/xml/parser/engines/nokogiri.rb:39:in `error'
/usr/local/bundle/gems/nokogiri-1.10.5/lib/nokogiri/xml/sax/parser.rb:110:in `parse_with'
/usr/local/bundle/gems/nokogiri-1.10.5/lib/nokogiri/xml/sax/parser.rb:110:in `parse_memory'
/usr/local/bundle/gems/nokogiri-1.10.5/lib/nokogiri/xml/sax/parser.rb:83:in `parse'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/aws-sdk-core/xml/parser/engines/nokogiri.rb:13:in `parse'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/aws-sdk-core/xml/parser.rb:34:in `parse'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/aws-sdk-core/rest/response/body.rb:43:in `parse'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/aws-sdk-core/rest/response/body.rb:23:in `apply'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/aws-sdk-core/rest/response/parser.rb:32:in `extract_body'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/aws-sdk-core/rest/response/parser.rb:12:in `apply'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/aws-sdk-core/rest/handler.rb:9:in `block in call'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/seahorse/client/response.rb:45:in `block in on'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/seahorse/client/http/response.rb:144:in `block in on_success'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/seahorse/client/http/response.rb:171:in `block in listener'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/seahorse/client/http/response.rb:135:in `on_done'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/seahorse/client/http/response.rb:142:in `on_success'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/seahorse/client/response.rb:44:in `on'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/aws-sdk-core/rest/handler.rb:9:in `call'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/aws-sdk-core/plugins/user_agent.rb:13:in `call'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/aws-sdk-core/plugins/endpoint_pattern.rb:28:in `call'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/aws-sdk-core/plugins/endpoint_discovery.rb:78:in `call'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/seahorse/client/plugins/endpoint.rb:45:in `call'
/usr/local/bundle/gems/aws-xray-sdk-0.10.2/lib/aws-xray-sdk/facets/aws_sdk.rb:31:in `block in call'
/usr/local/bundle/gems/aws-xray-sdk-0.10.2/lib/aws-xray-sdk/recorder.rb:120:in `capture'
/usr/local/bundle/gems/aws-xray-sdk-0.10.2/lib/aws-xray-sdk/facets/aws_sdk.rb:28:in `call'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/aws-sdk-core/plugins/param_validator.rb:24:in `call'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/seahorse/client/plugins/raise_response_errors.rb:14:in `call'
/usr/local/bundle/gems/aws-sdk-s3-1.57.0/lib/aws-sdk-s3/plugins/sse_cpk.rb:22:in `call'
/usr/local/bundle/gems/aws-sdk-s3-1.57.0/lib/aws-sdk-s3/plugins/dualstack.rb:26:in `call'
/usr/local/bundle/gems/aws-sdk-s3-1.57.0/lib/aws-sdk-s3/plugins/accelerate.rb:35:in `call'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/aws-sdk-core/plugins/jsonvalue_converter.rb:20:in `call'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/aws-sdk-core/plugins/idempotency_token.rb:17:in `call'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/aws-sdk-core/plugins/param_converter.rb:24:in `call'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/aws-sdk-core/plugins/response_paging.rb:10:in `call'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/seahorse/client/plugins/response_target.rb:23:in `call'
/usr/local/bundle/gems/aws-sdk-core-3.82.0/lib/seahorse/client/request.rb:70:in `send_request'
/usr/local/bundle/gems/aws-sdk-s3-1.57.0/lib/aws-sdk-s3/client.rb:1110:in `copy_object'

How do you disable tracing some requests in Rails?

I'm adding the X-Ray SDK to a Rails application, and I'm struggling with understanding how to disable tracing for some requests. I've figured out that you can use the sampling feature for this, for some situations, however not for my case.

We have monitoring that hits the root route of the application, and this creates a lot of noise in X-Ray and we really would prefer to not have those traces at all. What I would need in order to use the sampling feature to disable tracing for these requests is an ability to look at the user agent, but that doesn't seem to be supported.

It seems like an easy fix, and I would be happy to submit a PR for that, but it also seems to me that sampling and disabling are different things. If I didn't use the X-Ray SDK's middleware, I would simply just not start a segment for the requests I didn't want to trace (this is in fact what we do in non-Rails applications where we don't use the X-Ray SDK).

Is sampling really the way to go to solve this, or is there another way I haven't figured out?

Lambda runtime segments appearing in traces

Adding x-ray instrumentation to a lambda causes segments in the trace that are due to the lambda runtime, like this:

image

These shouldn't appear, and should be filtered out by XRay::NetHttp::HTTPInstanceInterceptor#lambda_runtime_request? but the current implementation is not correct.

A correct implementation is below (can be used as a monkey-patch to fix the current sdk release)

module XRay
  module NetHttp
    module HTTPInstanceInterceptor
      def lambda_runtime_request?(_req)
        ENV['AWS_LAMBDA_RUNTIME_API'] == "#{address}:#{port}"
      end
    end
  end
end

I'll create a PR for this. Just need the issue to reference.

Sampling rules matching when they shouldn't

Say I have a sampling rule like this with priority 1:
screenshot 2019-03-05 at 13 44 02
The only other rule configured is the Default rule.

I'd expect for this sampling rule to apply to a service, which starts it's segment like
XRay.recorder.begin_segment 'anotherService' and no others, in order to throttle tracing data originating from anotherService.

However, it appears to also match in our case to other documents than originally intended and thus is effectively becoming the new default.
From our document I can see that the rule has been applied (censored some bits):

{
    "Duration": 0.095,
    "Id": "1-5c7e774b-8423ee74fd64ab8c0540f810",
    "Segments": [
        {
            "Document": {
                "id": "1799765cda88d70c",
                "name": "aDifferentServiceName",
                "start_time": 1551791947.8924115,
                "end_time": 1551791947.9878953,
                "http": {
                    "request": {
                        "url": "XXXXX",
                        "method": "GET",
                        "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36",
                        "client_ip": "XXXXXX",
                        "x_forwarded_for": true
                    },
                    "response": {
                        "status": 200,
                        "content_length": 12345
                    }
                },
                "aws": {
                    "xray": {
                        "sdk_version": "0.11.1",
                        "sdk": "X-Ray for Ruby",
                        "sampling_rule_name": "foo"
                    }
                },

I'd have expected for my rule not to match in this case and only the Default rule to match.

Rails 6.1 gives errors when active record is enabled

This happens because spec is removed.

  Rails.application.config.xray = {
        name: "#{ENV['LC_LWS_ENV']}_#{Rails.application.class.name}",
        patch: %I[net_http aws_sdk],
        active_record: true,
        daemon_address: '127.0.0.1:2000',
        context_missing: 'LOG_ERROR'
    }
NoMethodError (undefined method `spec' for #<ActiveRecord::ConnectionAdapters::ConnectionPool:0x00007feeb1d0f708>
Did you mean?  inspect):

/var/app/current/vendor/bundle/ruby/2.7.0/gems/aws-xray-sdk-0.11.5/lib/aws-xray-sdk/facets/rails/active_record.rb:20:in `record'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/aws-xray-sdk-0.11.5/lib/aws-xray-sdk/facets/rails/active_record.rb:68:in `block in <top (required)>'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/notifications/fanout.rb:186:in `finish'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/notifications/fanout.rb:63:in `block in finish'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/notifications/fanout.rb:63:in `each'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/notifications/fanout.rb:63:in `finish'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/notifications/instrumenter.rb:45:in `finish_with_state'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/notifications/instrumenter.rb:30:in `instrument'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/abstract_adapter.rb:688:in `log'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:691:in `exec_cache'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:657:in `execute_and_clear'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/postgresql/database_statements.rb:53:in `exec_query'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:536:in `select_prepared'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/abstract/database_statements.rb:67:in `select_all'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/abstract/query_cache.rb:101:in `block in select_all'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/abstract/query_cache.rb:118:in `block in cache_sql'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.0/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/abstract/query_cache.rb:109:in `cache_sql'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.0/lib/active_record/connection_adapters/abstract/query_cache.rb:101:in `select_all'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.0/lib/active_record/querying.rb:47:in `find_by_sql'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.0/lib/active_record/statement_cache.rb:150:in `execute'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.0/lib/active_record/core.rb:359:in `find_by'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.0/lib/active_record/dynamic_matchers.rb:66:in `find_by_token'
/var/app/current/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.0/lib/active_record/dynamic_matchers.rb:20:in `method_missing'

Explicitly specify start and end times

I was hoping to use this in conjunction with with Rails' notification system. See:

https://guides.rubyonrails.org/active_support_instrumentation.html

However the notifications rely on being able to explicitly record the start_time and end_time which I'm having trouble figuring out how to do with this gem. Specifically I'm trying to record SQL requests along with the the query:

ActiveSupport::Notifications.subscribe "sql.active_record" do |name, start, finish, id, payload|
  # Having trouble specifying times.
  # XRay.recorder.capture(:sql) do |thing|
  #   thing.segment.start_time = start.to_i
  #   thing.segment.end_time = finish.to_i
  #   XRay.recorder.metadata[:sql_query] = payload.fetch(:sql)
  # end
end

Is there currently away to do this that I'm missing or plans to add this ability.

Thank you!

Rails: Does version 0.12.0 conflict with aws-sdk?

Hello,

We have a rails application and run in docker.

We add 'aws-xray-sdk' (version 0.12.0) and re-build docker image, but build is failed.

What should I do?

Gemfile

gem 'aws-sdk', '~> 3' # We use this for uploading image to s3 and sending mail via ses
gem 'aws-xray-sdk', '~> 0.12.0', require: ['aws-xray-sdk/facets/rails/railtie']

Docker build log

 => ERROR [11/14] RUN bundle install                                                                                             29.1s
------
 > [11/14] RUN bundle install:
#15 2.922 Fetching gem metadata from https://rubygems.org/.........
#15 27.93 Resolving dependencies......
#15 28.99 Bundler could not find compatible versions for gem "aws-sdk-xray":
#15 28.99   In snapshot (Gemfile.lock):
#15 28.99     aws-sdk-xray (= 1.42.0)
#15 28.99
#15 28.99   In Gemfile:
#15 28.99     aws-sdk (~> 3) was resolved to 3.1.0, which depends on
#15 28.99       aws-sdk-resources (~> 3) was resolved to 3.116.0, which depends on
#15 28.99         aws-sdk-xray (~> 1)
#15 28.99
#15 28.99     aws-xray-sdk (~> 0.12.0) was resolved to 0.12.0, which depends on
#15 28.99       aws-sdk-xray (~> 1.4.0)
#15 28.99
#15 28.99 Running `bundle update` will rebuild your snapshot from scratch, using only
#15 28.99 the gems in your Gemfile, which may resolve the conflict.
------

UDP Packet size limit

Hi,

I faced the bellow warning in Xray SDK log:

W, [2019-07-01T03:04:35.414605 #22440]  WARN -- : failed to send payload due to Message too long - send(2)

My segment entry is over 65507bytes that is UDP payload size limit.

Do you have any solutions like splitting or cutting segment?

URL path naming

Hi,

I'm looking into x-ray with rails atm, and can see that whenever I group traces by URL - those are by full URLs with parameters. I would rather expect having parameter keys instead of values, so the grouping is more valuable. i.e. with routes like

get "/:locale/books/:id" => "books#show"

I would prefer to have traces under

https://books.com/:locale/books/:id

But instead we get

https://books.com/en/books/foo
https://books.com/en/books/bar
https://books.com/de/books/foo
etc

The question is - is it by design and shouldn't be fiddled around? For example is there any documentation showing how to work around this problem? Or is there some kind of work on the subject already?

Best,
Leszek

High memory overhead when patching aws-sdk

Hello,

We recently added aws-xray-sdk to a bunch of applications, and those where we patch aws_sdk started using significantly more memory than usual. Here is how it's configured:

# if aws-sdk is loaded, we want to instrument that too
patch = Gem.loaded_specs.has_key?('aws-sdk-core') ?
          %I[aws_sdk net_http] : %I[net_http]

# if there isn't a name set, attempting to record a segment will
# throw an error
govuk_app_name = ENV['GOVUK_APP_NAME']
name = govuk_app_name.blank? ? 'xray' : govuk_app_name

XRay.recorder.configure(
  name: name,
  patch: patch,
  context_missing: 'LOG_ERROR',
  sampling_rules: {
    version: 1,
    default: {
      'fixed_target': ENV.fetch('XRAY_SAMPLE_TARGET', 0).to_i,
      'rate': ENV.fetch('XRAY_SAMPLE_RATE', 0.01).to_f,
    },
    rules: [],
  },
)

I don't think this is a memory leak, but an overhead incurred when the patching is performed. Here is the memory usage of our publishing-api application, which shot up dramatically when the X-Ray configuration was deployed:

publishing-api patching aws-sdk and net_http

The application doesn't actually use any AWS stuff, but it depends on some AWS gems because there are a couple of rake tasks to import and export data to S3. So despite the application itself not doing any AWS stuff, the memory usage is still dramatically increased.

The reason I think this is a problem with the aws_sdk patching is because the same problem does not occur when only net_http is patched. The same application, with only net_http patched, looks like this:

publishing-api only patching net_http

When the change was deployed, the memory usage plummeted. Towards the end of the graph, a branch which enabled patching of aws-sdk was deployed, and the memory usage goes up. This seems like too much of a coincidence for it not to be the aws-sdk patching at fault.

There's some more details, including graphs for a second application, here: alphagov/govuk_app_config#61

Add support for tracing Lambda functions

It'd be useful to be able to trace Lambda functions, as per the code below, but currently this doesn't work as when opening a new subsegment within a Lambda function, the SDK cannot find the current context and logs the error can not find the current context.

require 'aws-xray-sdk'

def lambda_handler(event:, context:)
    # ... some code
    XRay.recorder.begin_subsegment('subsegment_name')
    # Code to record
    XRay.recorder.end_subsegment()
    # ... some other code
end

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.