Class: AutomationObject::BluePrint::HashAdapter::Screen
- Defined in:
- lib/automation_object/blue_print/hash_adapter/screen.rb
Overview
Screen-level composite, ActiveRecord style composite implementation inheriting from Composite
Instance Method Summary collapse
-
#automatic_modal_changes ⇒ Array<AutomaticModalChange>
Array of AutomaticModalChange that are defined under the screen.
-
#automatic_screen_changes ⇒ Array<Symbol>
Array of screens where screen can automatically change to.
-
#included_views ⇒ Array<Symbol>
Array of views this can has.
-
#merge_views ⇒ Object
Method to take views and merge into this composite.
Instance Method Details
#automatic_modal_changes ⇒ Array<AutomaticModalChange>
Returns array of AutomaticModalChange that are defined under the screen
53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/automation_object/blue_print/hash_adapter/screen.rb', line 53 def automatic_modal_changes return @automatic_modal_changes if defined? @automatic_modal_changes children = hash[:automatic_modal_changes] children = children.is_a?(Array) ? children : [] @automatic_modal_changes = create_array_children(:automatic_modal_changes, children, interface: AutomaticModalChange, location: location + '[automatic_modal_changes]') @automatic_modal_changes end |
#automatic_screen_changes ⇒ Array<Symbol>
Returns array of screens where screen can automatically change to
66 67 68 69 |
# File 'lib/automation_object/blue_print/hash_adapter/screen.rb', line 66 def automatic_screen_changes screen_array = hash[:automatic_screen_changes] ||= [] screen_array.map(&:to_sym) end |
#included_views ⇒ Array<Symbol>
Returns array of views this can has
72 73 74 75 |
# File 'lib/automation_object/blue_print/hash_adapter/screen.rb', line 72 def included_views included_views_array = hash[:included_views] ||= [] included_views_array.map(&:to_sym) end |
#merge_views ⇒ Object
Method to take views and merge into this composite
78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/automation_object/blue_print/hash_adapter/screen.rb', line 78 def merge_views top_hash = top.hash return unless top_hash.is_a?(Hash) return unless top_hash[:views].is_a?(Hash) top_view_hash = top_hash[:views] included_views.each do |included_view| next unless top_view_hash[included_view].is_a?(Hash) self.hash = hash.deep_merge(top_view_hash[included_view]) end end |