Class: Reality::Facets::TargetManager
- Inherits:
-
Object
- Object
- Reality::Facets::TargetManager
- Defined in:
- lib/reality/facets/target_manager.rb
Instance Attribute Summary collapse
-
#container ⇒ Object
readonly
Returns the value of attribute container.
Instance Method Summary collapse
- #apply_extension(model) ⇒ Object
-
#initialize(container) ⇒ TargetManager
constructor
A new instance of TargetManager.
- #is_target_valid?(key) ⇒ Boolean
- #lock! ⇒ Object
- #locked? ⇒ Boolean
- #reset_targets ⇒ Object
- #target(model_class, key, container_key = nil, options = {}) ⇒ Object
- #target_by_key(key) ⇒ Object
- #target_by_key?(key) ⇒ Boolean
- #target_by_model_class(model_class) ⇒ Object
- #target_keys ⇒ Object
- #targets ⇒ Object
- #targets_by_container(container_key) ⇒ Object
Constructor Details
#initialize(container) ⇒ TargetManager
Returns a new instance of TargetManager.
76 77 78 79 |
# File 'lib/reality/facets/target_manager.rb', line 76 def initialize(container) @container = container @locked = false end |
Instance Attribute Details
#container ⇒ Object (readonly)
Returns the value of attribute container.
74 75 76 |
# File 'lib/reality/facets/target_manager.rb', line 74 def container @container end |
Instance Method Details
#apply_extension(model) ⇒ Object
110 111 112 113 |
# File 'lib/reality/facets/target_manager.rb', line 110 def apply_extension(model) container.lock! self.target_by_model_class(model.class).apply_extension_to(model) end |
#is_target_valid?(key) ⇒ Boolean
81 82 83 |
# File 'lib/reality/facets/target_manager.rb', line 81 def is_target_valid?(key) target_map.keys.include?(key) end |
#lock! ⇒ Object
123 124 125 |
# File 'lib/reality/facets/target_manager.rb', line 123 def lock! @locked = true end |
#locked? ⇒ Boolean
127 128 129 |
# File 'lib/reality/facets/target_manager.rb', line 127 def locked? !!@locked end |
#reset_targets ⇒ Object
131 132 133 134 |
# File 'lib/reality/facets/target_manager.rb', line 131 def reset_targets target_map.clear @locked = false end |
#target(model_class, key, container_key = nil, options = {}) ⇒ Object
115 116 117 |
# File 'lib/reality/facets/target_manager.rb', line 115 def target(model_class, key, container_key = nil, = {}) Target.new(self, model_class, key, container_key, ) end |
#target_by_key(key) ⇒ Object
97 98 99 100 101 |
# File 'lib/reality/facets/target_manager.rb', line 97 def target_by_key(key) target = target_map[key.to_sym] Reality::Facets.error("Can not find target with key '#{key}'") unless target target end |
#target_by_key?(key) ⇒ Boolean
93 94 95 |
# File 'lib/reality/facets/target_manager.rb', line 93 def target_by_key?(key) !!target_map[key] end |
#target_by_model_class(model_class) ⇒ Object
103 104 105 106 107 108 |
# File 'lib/reality/facets/target_manager.rb', line 103 def target_by_model_class(model_class) target_map.each do |key, target| return target if target.model_class == model_class end Reality::Facets.error("Can not find target with model class '#{model_class.name}'") end |
#target_keys ⇒ Object
85 86 87 |
# File 'lib/reality/facets/target_manager.rb', line 85 def target_keys target_map.keys end |
#targets ⇒ Object
89 90 91 |
# File 'lib/reality/facets/target_manager.rb', line 89 def targets target_map.values end |
#targets_by_container(container_key) ⇒ Object
119 120 121 |
# File 'lib/reality/facets/target_manager.rb', line 119 def targets_by_container(container_key) target_map.values.select { |target| target.container_key == container_key } end |