class Answers::Answer

Constants

ANSWER_ATTRS

Public Class Methods

new(params={}) click to toggle source
# File lib/answers/answer.rb, line 20
def initialize(params={})
  ANSWER_ATTRS.each do |attribute|
    instance_variable_set("@#{attribute[:name]}", params[attribute[:name]]) if params[attribute[:name]]
  end
  update_attributes!(params)
end

Public Instance Methods

attributes() click to toggle source
# File lib/answers/answer.rb, line 27
def attributes
  ivar_to_sym = Proc.new {|ivar| ivar.to_s.sub(/^@/, '').to_sym}
  
  attributes = instance_variables.inject({}) do |r, s|
    r.merge!({ivar_to_sym[s] => instance_variable_get(s)})
  end.delete_if do |k,v|
    !ANSWER_ATTRS.map {|attribute| attribute[:name]}.include?(ivar_to_sym[k])
  end 
  
  attributes
end