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
count()
Alias for: size
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