Sha256: 5a93295c77808b8845ecd78d4bad6672a1a7ef2bf9851565c7d6f69f89003a4b

Contents?: true

Size: 1.12 KB

Versions: 1

Compression:

Stored size: 1.12 KB

Contents

require 'faraday'

module FirstGiving
  module Base
    DONATION_SANDBOX_ENDPOINT    = 'http://usapisandbox.fgdev.net'
    DONATION_PRODUCTION_ENDPOINT = 'https://api.firstgiving.com'
    SEARCH_ENDPOINT = 'http://graphapi.firstgiving.com'

    def headers_json
      {
        'User-Agent'        => 'FirstGiving Ruby SDK',
        'Content-Type'      => 'application/json'
      }
    end

    def headers_security
      {
        'JG_APPLICATIONKEY' => "#{FirstGiving.configuration.application_key}",
        'JG_SECURITYTOKEN'  => "#{FirstGiving.configuration.security_token}"
      }
    end

    [:post, :get].each do |method|
      define_method "#{method}_call" do |api_endpoint, action, params, headers|
        conn = Faraday.new(url: api_endpoint) do |faraday|
          faraday.request  :url_encoded
          faraday.adapter  Faraday.default_adapter
        end

        conn.send("#{method}") do |req|
          req.url action
          req.params = params
          req.headers = headers
        end
      end
    end

    def logging(msg)
      puts "[FG-LOG] #{msg}" if FirstGiving.configuration.options[:verbose]
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
firstgiving-1.0.2 lib/firstgiving/base.rb