class Enlight::Requests::Request
Attributes
id[RW]
Public Class Methods
new(attributes = {})
click to toggle source
# File lib/enlight/requests/request.rb, line 9 def initialize(attributes = {}) attributes.each {|k,v| send("#{k}=", v) if respond_to?(k)} end
Public Instance Methods
build_uri()
click to toggle source
# File lib/enlight/requests/request.rb, line 23 def build_uri query_params = {} resource_id = nil instance_variables.each do |v| var = v.to_s.delete('@') if var == 'id' resource_id = instance_variable_get(v) if var == 'id' else query_params[var.camelcase] = instance_variable_get(v) end end uri = "#{base_uri}/#{resource}" uri += "/#{resource_id}" if resource_id uri += "?#{query_params.to_query}" if query_params.any? URI(uri) end
fetch()
click to toggle source
# File lib/enlight/requests/request.rb, line 13 def fetch data = JSON.parse(Net::HTTP.get(build_uri)) "Enlight::Responses::#{resource}".constantize.new(data) end
resource()
click to toggle source
# File lib/enlight/requests/request.rb, line 19 def resource self.class.to_s.split("::").last end
Private Instance Methods
base_uri()
click to toggle source
# File lib/enlight/requests/request.rb, line 46 def base_uri URI("#{Enlight.configuration.url}/#{Enlight.configuration.integration_key}") end