class Myfinance::Resources::Base
Attributes
http[RW]
Public Class Methods
new(http)
click to toggle source
# File lib/myfinance/resources/base.rb, line 7 def initialize(http) @http = http end
Private Instance Methods
build_search_endpoint(params)
click to toggle source
# File lib/myfinance/resources/base.rb, line 13 def build_search_endpoint(params) query_string = query(params).join("&") URI.encode("#{endpoint}?#{query_string}") end
entity_klass_name()
click to toggle source
# File lib/myfinance/resources/base.rb, line 35 def entity_klass_name self.class.to_s.gsub("Resources", "Entities") end
query(params)
click to toggle source
# File lib/myfinance/resources/base.rb, line 18 def query(params) page = params.delete(:page) query = params.map { |key, value| "search[#{key}]=#{value}" } query << "page=#{page}" if page query end
respond_with_collection(response)
click to toggle source
# File lib/myfinance/resources/base.rb, line 25 def respond_with_collection(response) collection_klass = Myfinance::Entities.const_get("#{entity_klass_name}Collection") collection_klass.build(response) end
respond_with_object(response, key)
click to toggle source
# File lib/myfinance/resources/base.rb, line 30 def respond_with_object(response, key) entity_klass = Myfinance::Entities.const_get(entity_klass_name) entity_klass.new(response.parsed_body(key)) end