module XMLable::Mixins::ContentStorage

ContentStorage module contains the logic that helps to store XML element

content.

Public Class Methods

included(base) click to toggle source
# File lib/xmlable/mixins/content_storage.rb, line 8
def self.included(base)
  base.send(:extend, ClassMethods)
end

Public Instance Methods

__content() click to toggle source

Get content value

@api private

@return [Object]

# File lib/xmlable/mixins/content_storage.rb, line 55
def __content
  @__content
end
__content=(val) click to toggle source

Set content value

@param [Object] value

@api private

@return [Object]

# File lib/xmlable/mixins/content_storage.rb, line 68
def __content=(val)
  __overwrite_content(val)
end
__content_method() click to toggle source

Get content alias method

@api private

@return [String, nil]

# File lib/xmlable/mixins/content_storage.rb, line 98
def __content_method
  self.class.__content_method
end
__content_methods() click to toggle source

Contents methods

@api private

@return [Array<String>]

# File lib/xmlable/mixins/content_storage.rb, line 109
def __content_methods
  ret = ['__content']
  ret << __content_method.to_s if __content_method
  ret
end
__empty?() click to toggle source

Is this element?

@api private

@return [Boolean]

Calls superclass method
# File lib/xmlable/mixins/content_storage.rb, line 79
def __empty?
  return false unless super
  __empty(__content)
end
__object() click to toggle source

Get content value

@api private

@return [Object]

# File lib/xmlable/mixins/content_storage.rb, line 44
def __object
  __content
end
__overwrite_content(val) click to toggle source

Override XML node content

@param [Object] value

@api private

# File lib/xmlable/mixins/content_storage.rb, line 31
def __overwrite_content(val)
  val = __cast(val)
  @__node.content = __export_to_xml(val)
  @__content = val
end
__set_content(node) click to toggle source

Set XML element content

@param [Nokogiri::XML::Element] node

@api private

# File lib/xmlable/mixins/content_storage.rb, line 19
def __set_content(node)
  val = node.children.select(&:text?).map(&:content).join('').strip
  @__content = __cast(val)
end
to_s() click to toggle source

@return [String]

# File lib/xmlable/mixins/content_storage.rb, line 87
def to_s
  __content.to_s
end