Sha256: 5f82dff8185bef08b68745cdd9ad2f5149b4f43d9c809e1fbbd5d10c8234e115

Contents?: true

Size: 519 Bytes

Versions: 1

Compression:

Stored size: 519 Bytes

Contents

class FitbitSubscriptions::Rack
  delegate :instrument, to: ActiveSupport::Notifications

  def initialize(subscriber_id, consumer_secret)
    @subscriber_id, @consumer_secret = subscriber_id, consumer_secret
  end

  def call(env)
    request = Rack::Request.new env

    instrument 'notification.fitbit', json: json(request)

    [204, {}, ['']]
  end

  private

  attr_reader :subscriber_id, :consumer_secret

  def json(request)
    MultiJson.load request.body.read
  rescue MultiJson::ParseError
    []
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fitbit_subscriptions-0.0.1 lib/fitbit_subscriptions/rack.rb