class Falcor::Factory

Public Class Methods

create_methods(blk) click to toggle source
# File lib/falcor/factory.rb, line 11
def create_methods(blk)
  instance_eval(&blk)
end
new(overrides) click to toggle source
# File lib/falcor/factory.rb, line 16
def initialize(overrides)
  unless overrides.empty?
    overrides.each do |k,v|
      self.send(:"#{k}=", v)
    end
  end
end

Public Instance Methods

associations() click to toggle source
# File lib/falcor/factory.rb, line 28
def associations
  self.class.associations || []
end
fields() click to toggle source
# File lib/falcor/factory.rb, line 24
def fields
  self.class.fields || []
end
lists() click to toggle source
# File lib/falcor/factory.rb, line 32
def lists
  self.class.lists || []
end
to_json() click to toggle source
# File lib/falcor/factory.rb, line 36
def to_json
  json = {}

  fields.each do |field|
    value = self.send(field)
    unless value.nil?
      json[field.to_s] = self.send(field)
    end
  end

  associations.each do |field|
    json[field.to_js] = self.send(field).send(:to_json)
  end

  lists.each do |field|
    json[field.to_s] = self.send(field).map { |m| m.to_json }
  end

  json
end