Module: XMLable::Mixins::RootStorage::ClassMethods
- Defined in:
- lib/xmlable/mixins/root_storage.rb
Instance Method Summary collapse
-
#__define_root(h) ⇒ Object
Define root object methods.
-
#__root_handler ⇒ XMLable::Handlers::Root, XMLable::Handlers::RootNone
Root object’s handler.
-
#root(*args, &block) ⇒ Object
Define root handler.
Instance Method Details
#__define_root(h) ⇒ Object
Define root object methods
142 143 144 145 146 147 148 |
# File 'lib/xmlable/mixins/root_storage.rb', line 142 def __define_root(h) return if h.method_name == 'root' define_method(h.method_name) { root } define_method("#{h.method_name}=") { |val| self.root = val } define_method("#{h.method_name}!") { root! } define_method("__initialize_#{h.method_name}") { |val| __initialize_root(val) } end |
#__root_handler ⇒ XMLable::Handlers::Root, XMLable::Handlers::RootNone
Root object’s handler
155 156 157 158 |
# File 'lib/xmlable/mixins/root_storage.rb', line 155 def __root_handler @__root_handler ||= __nested(:@__root_handler) || Handlers::RootNone.build(:root) end |
#root(*args, &block) ⇒ Object
Define root handler
132 133 134 135 |
# File 'lib/xmlable/mixins/root_storage.rb', line 132 def root(*args, &block) @__root_handler = Handlers::Root.build(*args, &block) __define_root(@__root_handler) end |