class TwelvedataRuby::Request

Constants

DEFAULT_HTTP_VERB

Attributes

endpoint[RW]

Public Class Methods

new(name, **query_params) click to toggle source
# File lib/twelvedata_ruby/request.rb, line 12
def initialize(name, **query_params)
  self.endpoint = Endpoint.new(name, **query_params)
end

Public Instance Methods

build()
Alias for: to_a
fetch() click to toggle source
# File lib/twelvedata_ruby/request.rb, line 17
def fetch
  Client.instance.fetch(self)
end
full_url() click to toggle source
# File lib/twelvedata_ruby/request.rb, line 33
def full_url
  return_nil_unless_valid { "#{Client.origin[:origin]}/#{relative_url}" }
end
http_verb() click to toggle source
# File lib/twelvedata_ruby/request.rb, line 21
def http_verb
  return_nil_unless_valid { endpoint.definition[:http_verb] || DEFAULT_HTTP_VERB }
end
params() click to toggle source
# File lib/twelvedata_ruby/request.rb, line 25
def params
  {params: endpoint.query_params}
end
relative_url() click to toggle source
# File lib/twelvedata_ruby/request.rb, line 29
def relative_url
  return_nil_unless_valid { name.to_s }
end
to_a() click to toggle source
# File lib/twelvedata_ruby/request.rb, line 41
def to_a
  return_nil_unless_valid { [http_verb, relative_url, params] }
end
Also aliased as: build
to_h() click to toggle source
# File lib/twelvedata_ruby/request.rb, line 37
def to_h
  return_nil_unless_valid { {http_verb: http_verb, relative_url: relative_url}.merge(params: params) }
end

Private Instance Methods

return_nil_unless_valid(&block) click to toggle source
# File lib/twelvedata_ruby/request.rb, line 50
def return_nil_unless_valid(&block)
  Utils.return_nil_unless_true(valid?) { block.call }
end