Sha256: 861ea65e8b093c9a1f979e7078f0d682b9beecdeeab4a15f731f6a0cb3b238df

Contents?: true

Size: 924 Bytes

Versions: 8

Compression:

Stored size: 924 Bytes

Contents

require 'faraday'
require 'faraday_middleware'
require 'json'

module RooOnRails
  class PapertrailClient
    def initialize(token:)
      @token = token
    end

    def list_destinations
      _conn.get('destinations.json').body
    end

    def list_systems
      _conn.get('systems.json').body
    end

    def get_system(id)
      _conn.get('systems/%s.json' % id).body
    end

    def update_system(id, data)
      _conn.put('systems/%s.json' % id, system: data).body
    end

    # private

    def _conn
      @_conn ||= Faraday.new(_api_url, headers: { 'X-Papertrail-Token' => @token }) do |conf|
        conf.response :mashify
        conf.response :json
        conf.response :raise_error
        # conf.response :logger
        conf.request :json

        conf.adapter Faraday.default_adapter
      end
    end

    def _api_url
      @_api_url = URI.parse('https://papertrailapp.com/api/v1')
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
roo_on_rails-1.12.0 lib/roo_on_rails/papertrail_client.rb
roo_on_rails-1.11.1 lib/roo_on_rails/papertrail_client.rb
roo_on_rails-1.11.0 lib/roo_on_rails/papertrail_client.rb
roo_on_rails-1.10.0 lib/roo_on_rails/papertrail_client.rb
roo_on_rails-1.9.0 lib/roo_on_rails/papertrail_client.rb
roo_on_rails-1.8.1 lib/roo_on_rails/papertrail_client.rb
roo_on_rails-1.8.0 lib/roo_on_rails/papertrail_client.rb
roo_on_rails-1.7.0 lib/roo_on_rails/papertrail_client.rb