class ReadyTalk::ReadyTalkList
Public Class Methods
new(data, list_key, klass, data_keys = nil)
click to toggle source
# File lib/readytalk/list.rb, line 3 def initialize(data, list_key, klass, data_keys = nil) @klass = klass @list_data = data[ReadyTalk::Util.camelize(list_key)] || [] @list_data = @list_data.map { |d| klass.new(d) } unless data_keys.nil? data_keys.each do |key| key_data = data[ReadyTalk::Util.camelize(key)] if key_data.is_a?(Hash) key_data = ReadyTalk::Util.new_helper_object(data, key) end self.class.send(:attr_reader, key) self.instance_variable_set("@#{key.to_s}", key_data) end end end
Public Instance Methods
[](value)
click to toggle source
# File lib/readytalk/list.rb, line 21 def [](value) @list_data[value] end
each(&block)
click to toggle source
# File lib/readytalk/list.rb, line 37 def each(&block) @list_data.each(&block) end
empty?()
click to toggle source
# File lib/readytalk/list.rb, line 41 def empty? @list_data.empty? end
first(*args)
click to toggle source
# File lib/readytalk/list.rb, line 25 def first(*args) @list_data.send(:first, *args) end
last(*args)
click to toggle source
# File lib/readytalk/list.rb, line 29 def last(*args) @list_data.send(:last, *args) end
size()
click to toggle source
# File lib/readytalk/list.rb, line 33 def size @list_data.size end
Also aliased as: count