class EacRubyUtils::Listable::Lists
Attributes
source[R]
Public Class Methods
new(source)
click to toggle source
# File lib/eac_ruby_utils/listable/lists.rb, line 14 def initialize(source) @source = source end
Public Instance Methods
acts_as_listable_items()
click to toggle source
# File lib/eac_ruby_utils/listable/lists.rb, line 33 def acts_as_listable_items @acts_as_listable_items ||= ActiveSupport::HashWithIndifferentAccess.new end
method_missing(name, *args, &block)
click to toggle source
Calls superclass method
# File lib/eac_ruby_utils/listable/lists.rb, line 24 def method_missing(name, *args, &block) list = find_list_by_method(name) list || super end
respond_to_missing?(name, include_all = false)
click to toggle source
Calls superclass method
# File lib/eac_ruby_utils/listable/lists.rb, line 29 def respond_to_missing?(name, include_all = false) find_list_by_method(name) || super end
Private Instance Methods
add(list_class, item, labels)
click to toggle source
# File lib/eac_ruby_utils/listable/lists.rb, line 39 def add(list_class, item, labels) check_acts_as_listable_new_item(item) acts_as_listable_items[item] = list_class.new(self, item, labels) end
check_acts_as_listable_new_item(item)
click to toggle source
# File lib/eac_ruby_utils/listable/lists.rb, line 44 def check_acts_as_listable_new_item(item) return unless acts_as_listable_items.key?(item) raise "Item já adicionado anteriormente: #{item} em #{self} " \ "(#{acts_as_listable_items.keys})" end
find_list_by_method(method)
click to toggle source
# File lib/eac_ruby_utils/listable/lists.rb, line 51 def find_list_by_method(method) acts_as_listable_items.each do |item, list| return list if method.to_sym == item.to_sym end nil end