class Norma43::Utils::Contexts
Public Class Methods
Source
# File lib/norma43/utils/contexts.rb, line 6 def initialize(containers = nil) Array(containers).compact.each do |container| add container end end
Public Instance Methods
Source
# File lib/norma43/utils/contexts.rb, line 20 def add(container) contexts.push container end
Source
# File lib/norma43/utils/contexts.rb, line 28 def move_to(container_class) until current.is_a?(container_class) || current.nil? move_up end if contexts.any? end
Source
# File lib/norma43/utils/contexts.rb, line 34 def move_to_or_add_to_parent(container_class, parent_container_class) return self if current.is_a?(container_class) until current.kind_of?(parent_container_class) move_up end entity = container_class.new setter_name = StringHelpers.underscore container_class.name.split("::").last current.public_send "#{setter_name}=", entity add entity self end