class Enlighten::System
Constants
- END_POINTS
Attributes
params[R]
systems[R]
Public Class Methods
config(args={})
click to toggle source
# File lib/enlighten.rb, line 31 def config(args={}) @default_params = @default_params.merge(args).freeze unless args.empty? @default_params end
Also aliased as: default_options=
default_options=(args={})
Allows to set defaults through app configuration:
config.action_mailer.default_options = { from: "no-reply@example.org" }
Alias for: config
default_params()
click to toggle source
# File lib/enlighten.rb, line 57 def self.default_params @default_params end
find(id)
click to toggle source
# File lib/enlighten.rb, line 53 def self.find(id) new(:id=>id) end
new(params={})
click to toggle source
# File lib/enlighten.rb, line 45 def initialize(params={}) @id = params[:id].to_i #overide the default config with parameters passed in, like (user_id) @params=self.class.default_params.merge(params) @systems = fetch(nil).systems @attributes = @systems.select{|system| system['system_id'] == @id }[0] rescue {} end
url()
click to toggle source
# File lib/enlighten.rb, line 61 def self.url "https://#{@default_params[:host]}#{@default_params[:path]}" end
Public Instance Methods
method_missing(method,*args)
click to toggle source
Calls superclass method
# File lib/enlighten.rb, line 41 def method_missing(method,*args) @attributes[method.to_s] || super end
Protected Instance Methods
api_response(method,args={})
click to toggle source
# File lib/enlighten.rb, line 72 def api_response(method,args={}) Net::HTTP.get(URI(format_url(method,args))) end
date_format(date)
click to toggle source
# File lib/enlighten.rb, line 85 def date_format(date) date ? (date.respond_to?(:strftime)?date.strftime('%Y-%m-%d'):date.to_s) : '' end
fetch(method, args={})
click to toggle source
# File lib/enlighten.rb, line 66 def fetch(method, args={}) result = OpenStruct.new(JSON.parse(api_response(method,args))) raise(EnlightenApiError.new(result)) if result.respond_to?(:reason) result end
format_url(method,args={})
click to toggle source
# File lib/enlighten.rb, line 76 def format_url(method,args={}) params = {key: @params[:key], user_id: @params[:user_id]}.merge(args||{}) self.class.url + '/' + (method && (@id.to_s + '/' + method.to_s)||'') + '?' + query_string(params) end
query_string(args)
click to toggle source
# File lib/enlighten.rb, line 81 def query_string(args) args.map{|k,v|value= (['start_at','end_at'].include? k.to_s) ? v.to_i.to_s : date_format(v);"#{k.to_s}=#{CGI.escape(value)}"}.join('&') end