class CircuitApi::Resource
Attributes
circuit_resource_type[R]
Public Class Methods
new(circuit_resource_type, attributes)
click to toggle source
# File lib/circuit_api/resource.rb, line 5 def initialize(circuit_resource_type, attributes) @circuit_resource_type = circuit_resource_type attributes.each do |name, value| define_accessors(name) send("#{name}=".to_sym, value) end end
Public Instance Methods
to_json(options = {})
click to toggle source
# File lib/circuit_api/resource.rb, line 13 def to_json(options = {}) instance_variables.each_with_object({}) do |variable, result| result[variable.to_s.delete('@')] = instance_variable_get(variable) end end
Private Instance Methods
define_accessors(name)
click to toggle source
# File lib/circuit_api/resource.rb, line 21 def define_accessors(name) define_getter(name) define_setter(name) end
define_getter(name)
click to toggle source
# File lib/circuit_api/resource.rb, line 34 def define_getter(name) return if self.respond_to?(name.to_sym) self.class.send(:define_method, name.to_sym) do instance_variable_get("@#{name.to_s}") end end
define_setter(name)
click to toggle source
# File lib/circuit_api/resource.rb, line 26 def define_setter(name) return if self.respond_to?("#{name}=".to_sym) self.class.send(:define_method, "#{name}=".to_sym) do |value| instance_variable_set("@#{name.to_s}", value) end end