Class: HackCards::Card

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(image: "", text: "", url: "") ⇒ Card

Returns a new instance of Card.



6
7
8
9
10
# File 'lib/hack_cards.rb', line 6

def initialize(image: "", text: "", url: "")
  @image = image if image.length > 0
  @text = text if text.length > 0
  @url = url if url.length > 0
end

Instance Attribute Details

#imageObject

Returns the value of attribute image.



5
6
7
# File 'lib/hack_cards.rb', line 5

def image
  @image
end

#textObject

Returns the value of attribute text.



5
6
7
# File 'lib/hack_cards.rb', line 5

def text
  @text
end

#urlObject

Returns the value of attribute url.



5
6
7
# File 'lib/hack_cards.rb', line 5

def url
  @url
end

Instance Method Details

#componentsObject



12
13
14
15
16
17
18
# File 'lib/hack_cards.rb', line 12

def components
  r = []
  r << :image if image
  r << :text if text
  r << :url if url
  return r
end

#typeObject



20
21
22
23
# File 'lib/hack_cards.rb', line 20

def type
  string = components.reduce("") {|s, c| s + "_" + c.to_s}
  string[1..-1].to_sym
end