Class: Characterize::ObjectSet
- Inherits:
-
Object
- Object
- Characterize::ObjectSet
- Defined in:
- lib/characterize/object_set.rb
Instance Attribute Summary collapse
-
#object_name ⇒ Object
readonly
Returns the value of attribute object_name.
Instance Method Summary collapse
- #action_character(action_name) ⇒ Object
- #action_characters(action_name) ⇒ Object
- #action_object_character_name(action_name) ⇒ Object
- #defaults ⇒ Object
- #dig(action_name, *_ignored) ⇒ Object
-
#initialize(object_name, **hash) ⇒ ObjectSet
constructor
A new instance of ObjectSet.
- #object_character ⇒ Object
- #object_character_name ⇒ Object
- #object_class_name ⇒ Object
Constructor Details
#initialize(object_name, **hash) ⇒ ObjectSet
Returns a new instance of ObjectSet.
5 6 7 8 |
# File 'lib/characterize/object_set.rb', line 5 def initialize(object_name, **hash) @object_name = object_name @hash = hash end |
Instance Attribute Details
#object_name ⇒ Object (readonly)
Returns the value of attribute object_name.
9 10 11 |
# File 'lib/characterize/object_set.rb', line 9 def object_name @object_name end |
Instance Method Details
#action_character(action_name) ⇒ Object
46 47 48 49 50 |
# File 'lib/characterize/object_set.rb', line 46 def action_character(action_name) Object.const_get(action_object_character_name(action_name)) rescue nil end |
#action_characters(action_name) ⇒ Object
52 53 54 |
# File 'lib/characterize/object_set.rb', line 52 def action_characters(action_name) Array(@hash.fetch(action_name.to_sym, [action_character(action_name)])).compact end |
#action_object_character_name(action_name) ⇒ Object
42 43 44 |
# File 'lib/characterize/object_set.rb', line 42 def action_object_character_name(action_name) "#{action_name.to_s.classify}#{object_character_name}" end |
#defaults ⇒ Object
36 37 38 39 40 |
# File 'lib/characterize/object_set.rb', line 36 def defaults Array( Characterize.standard_features + @hash.fetch(:default, []) + [object_character] ).flatten.compact.uniq end |
#dig(action_name, *_ignored) ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/characterize/object_set.rb', line 11 def dig(action_name, *_ignored) if @hash.key?(action_name.to_sym) Array(defaults + action_characters(action_name)).compact else defaults end end |
#object_character ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/characterize/object_set.rb', line 27 def object_character return @object_character if defined?(@object_character) @object_character = begin Object.const_get(object_character_name) rescue nil end end |
#object_character_name ⇒ Object
23 24 25 |
# File 'lib/characterize/object_set.rb', line 23 def object_character_name "#{object_class_name}#{Characterize.module_suffix}" end |
#object_class_name ⇒ Object
19 20 21 |
# File 'lib/characterize/object_set.rb', line 19 def object_class_name @object_name.to_s.classify end |