Sha256: 600baf1b8c9975e9385a3e0504ed2ad83856a311f0c5d23089c90b5880ec7ca3

Contents?: true

Size: 826 Bytes

Versions: 2

Compression:

Stored size: 826 Bytes

Contents

require 'faraday'
require 'json'

module Ekg
  class Data

    class << self

      def send_data(data)
        name = data[:name]
        send_the_body name, data.to_json
      end

      def receive_data
        response = connection.get { |req| req.url("/heartbeats.json") }
        JSON.parse(response.body).map { |x| x[1] }
      end

      private

      def send_the_body(name, body)
        connection.patch do |req|
                           req.url "/heartbeats/#{name}.json"
                           req.body = body
                         end
      end

      def connection
        Faraday.new(:url => Ekg.config[:firebase_url]) do |faraday|
          faraday.request  :url_encoded
          faraday.response :logger
          faraday.adapter  Faraday.default_adapter
        end
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ekg-1.1.1 lib/ekg/data.rb
ekg-1.1.0 lib/ekg/data.rb