Module: Cardname::Parts
- Included in:
- Cardname
- Defined in:
- cardname/lib/cardname/parts.rb
Overview
naming conventions: methods that end with _name return name objects the same methods without _name return strings
Instance Method Summary collapse
-
#left ⇒ Object
-
#left_key ⇒ Object
-
#left_name ⇒ Object
-
#parent_keys ⇒ Object
-
#parent_names ⇒ Object
-
#parents ⇒ Object
-
#part_keys ⇒ Object
-
#part_names ⇒ Object
-
#parts ⇒ Object
(also: #to_a)
-
#right ⇒ Object
-
#right_key ⇒ Object
-
#right_name ⇒ Object
-
#tag ⇒ Object
-
#tag_key ⇒ Object
-
#tag_name ⇒ Object
-
#trunk ⇒ Object
-
#trunk_key ⇒ Object
-
#trunk_name ⇒ Object
Instance Method Details
#left ⇒ Object
59 60 61 |
# File 'cardname/lib/cardname/parts.rb', line 59 def left left_name&.s end |
#left_key ⇒ Object
63 64 65 |
# File 'cardname/lib/cardname/parts.rb', line 63 def left_key left_name&.key end |
#left_name ⇒ Object
55 56 57 |
# File 'cardname/lib/cardname/parts.rb', line 55 def left_name simple? ? nil : self.class.new(part_names[0..-2]) end |
#parent_keys ⇒ Object
51 52 53 |
# File 'cardname/lib/cardname/parts.rb', line 51 def parent_keys parent_names.map(&:key) end |
#parent_names ⇒ Object
43 44 45 |
# File 'cardname/lib/cardname/parts.rb', line 43 def parent_names simple? ? [] : [left_name, right_name] end |
#parents ⇒ Object
47 48 49 |
# File 'cardname/lib/cardname/parts.rb', line 47 def parents parent_names.map(&:s) end |
#part_keys ⇒ Object
15 16 17 |
# File 'cardname/lib/cardname/parts.rb', line 15 def part_keys part_names.map(&:key) end |
#part_names ⇒ Object
6 7 8 |
# File 'cardname/lib/cardname/parts.rb', line 6 def part_names @part_names ||= generate_part_names end |
#parts ⇒ Object Also known as: to_a
10 11 12 |
# File 'cardname/lib/cardname/parts.rb', line 10 def parts part_names.map(&:s) end |
#right ⇒ Object
71 72 73 |
# File 'cardname/lib/cardname/parts.rb', line 71 def right right_name&.s end |
#right_key ⇒ Object
75 76 77 |
# File 'cardname/lib/cardname/parts.rb', line 75 def right_key right_name&.key end |
#right_name ⇒ Object
67 68 69 |
# File 'cardname/lib/cardname/parts.rb', line 67 def right_name simple? ? nil : part_names[-1] end |
#tag ⇒ Object
35 36 37 |
# File 'cardname/lib/cardname/parts.rb', line 35 def tag tag_name.s end |
#tag_key ⇒ Object
39 40 41 |
# File 'cardname/lib/cardname/parts.rb', line 39 def tag_key tag_name.key end |
#tag_name ⇒ Object
31 32 33 |
# File 'cardname/lib/cardname/parts.rb', line 31 def tag_name simple? ? self : right_name end |
#trunk ⇒ Object
23 24 25 |
# File 'cardname/lib/cardname/parts.rb', line 23 def trunk trunk_name.s end |
#trunk_key ⇒ Object
27 28 29 |
# File 'cardname/lib/cardname/parts.rb', line 27 def trunk_key trunk_name.key end |
#trunk_name ⇒ Object
19 20 21 |
# File 'cardname/lib/cardname/parts.rb', line 19 def trunk_name simple? ? self : left_name end |