module XMLable::Mixins::RootStorage::ClassMethods

Public Instance Methods

__define_root(h) click to toggle source

Define root object methods

@param [XMLable::Handlers::Root] h root's handler

# 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() click to toggle source

Root object's handler

@return [XMLable::Handlers::Root, XMLable::Handlers::RootNone]

# 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) click to toggle source

Define root handler

@see XMLable::Handler::Base#build

# 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