Class: WishlistItem

Inherits:
Object
  • Object
show all
Defined in:
lib/dim_wishlist/item.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(lines) ⇒ WishlistItem

rolls schema { Roll.key(item_id, perks) => [roll…] }



9
10
11
12
13
14
# File 'lib/dim_wishlist/item.rb', line 9

def initialize(lines)
  @info = []
  @notes = []
  @rolls = {}
  lines.each { |line| process(line) }
end

Instance Attribute Details

#infoObject

Returns the value of attribute info.



4
5
6
# File 'lib/dim_wishlist/item.rb', line 4

def info
  @info
end

#notesObject

Returns the value of attribute notes.



4
5
6
# File 'lib/dim_wishlist/item.rb', line 4

def notes
  @notes
end

#rollsObject

Returns the value of attribute rolls.



4
5
6
# File 'lib/dim_wishlist/item.rb', line 4

def rolls
  @rolls
end

Instance Method Details

#has_roll?(item_id, perks) ⇒ Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/dim_wishlist/item.rb', line 20

def has_roll?(item_id, perks)
  !@rolls[Roll.key(item_id, perks)].nil?
end

#item_idsObject



16
17
18
# File 'lib/dim_wishlist/item.rb', line 16

def item_ids
  @rolls.values.map(&:item_id).uniq
end

#to_sObject



24
25
26
# File 'lib/dim_wishlist/item.rb', line 24

def to_s
  ["// #{@info.join('. ')}", "// #{@notes.join('. ')}", @rolls.values.map(&:to_s), "\n"].flatten.join("\n")
end