class FreeAgent::Object
Public Class Methods
new(attributes)
click to toggle source
Calls superclass method
# File lib/free_agent/object.rb, line 5 def initialize(attributes) super to_ostruct(attributes) # The FreeAgent API doesn't send an ID so generate it from the URL if attributes["url"] number = attributes["url"].match(/\d{2,}/) self.id = number[0] unless number.nil? end end
Public Instance Methods
to_ostruct(obj)
click to toggle source
# File lib/free_agent/object.rb, line 15 def to_ostruct(obj) if obj.is_a?(Hash) OpenStruct.new(obj.map { |key, val| [key, to_ostruct(val)] }.to_h) elsif obj.is_a?(Array) obj.map { |o| to_ostruct(o) } else # Assumed to be a primitive value obj end end