class Fable::ListDefinition

Attributes

item_name_to_values[RW]

The main representation should be simple item names, rather than a RawListItem, since we mainly want to access items based on their simple name, since that's how they'll be most commonly requested from ink

items[RW]
name[RW]

Public Class Methods

new(name, items) click to toggle source
# File lib/fable/list_definition.rb, line 39
def initialize(name, items)
  self.name = name
  self.item_name_to_values = items
end

Public Instance Methods

contains?(item) click to toggle source
# File lib/fable/list_definition.rb, line 26
def contains?(item)
  return false if item.origin_name != self.name
  return contains_item_with_name?(item.item_name)
end
contains_item_with_name?(item_name) click to toggle source
# File lib/fable/list_definition.rb, line 31
def contains_item_with_name?(item_name)
  return item_name_to_values.has_key?(item_name)
end
item_for_value(int_value) click to toggle source
# File lib/fable/list_definition.rb, line 35
def item_for_value(int_value)
  return item_name_to_values.key(int_value)
end
value_for_item(item) click to toggle source
# File lib/fable/list_definition.rb, line 22
def value_for_item(item)
  return item_name_to_values[item.item_name] || 0
end