Module: Ponominalu::API

Defined in:
lib/ponominalu/api.rb

Constant Summary collapse

BASE_URL =

Base part of Ponominalu API endpoint url.

'http://api.cultserv.ru/jtransport'.freeze

Class Method Summary collapse

Class Method Details

.call_method(method_name, args = {}, &block) ⇒ Hashie::Mash

API method call.

Parameters:

  • method_name (String)

    A name of the method.

  • args (Hash) (defaults to: {})

    Method arguments.

Returns:

  • (Hashie::Mash)

    Mashed server response.



11
12
13
14
15
16
17
18
19
# File 'lib/ponominalu/api.rb', line 11

def call_method(method_name, args = {}, &block)
  method_name_str = method_name.to_s
  url = create_url(method_name_str)
  args = Helpers.flatten(args)

  response = connection(url).send(Ponominalu.http_verb,
    method_name_str, args).body
  Response.process(response, block)
end

.connection(url) ⇒ Faraday::Connection

Faraday connection.

Parameters:

  • url (String)

    Connection URL (either full or just prefix).

Returns:

  • (Faraday::Connection)

    Created connection.



24
25
26
27
28
29
30
31
32
# File 'lib/ponominalu/api.rb', line 24

def connection(url)
  Faraday.new(url, Ponominalu.faraday_options) do |faraday|
    faraday.request  :multipart
    faraday.request  :url_encoded
    faraday.request  :retry, Ponominalu.max_retries
    faraday.response :ponominalu
    faraday.adapter  Ponominalu.adapter
  end
end