class Twizo::Result

Attributes

result[R]

Public Class Methods

new(result) click to toggle source

Constructor

@param [Array] result

# File lib/twizo/result.rb, line 23
def initialize(result)
  set_fields(result)
end

Public Instance Methods

add_attribute_accessor(attr_name, attr_value) click to toggle source

Getter and Setter fields are dynamically created

@param [String] attr_name @param [Object] attr_value

# File lib/twizo/result.rb, line 42
def add_attribute_accessor(attr_name, attr_value)
  self.class.send(:define_method, "#{attr_name}=".to_sym) do |value|
    instance_variable_set('@' + attr_name.to_s, value)
  end

  self.class.send(:define_method, attr_name.to_sym) do
    instance_variable_get('@' + attr_name.to_s)
  end

  self.send("#{attr_name}=".to_sym, attr_value)
end
add_result(item) click to toggle source

add an item to parent result

@param [Object] item

# File lib/twizo/result.rb, line 59
def add_result(item)
  @result ||= []
  @result << item
end
set_fields(fields) click to toggle source

@param [Array] fields

# File lib/twizo/result.rb, line 30
def set_fields(fields)
  fields.each do |name, value|
    add_attribute_accessor(name, value)
  end
end