module XMLable::Mixins::Castable

Castable module contains the logic that helps to cast values from

different forms to XML/JSON and back.

Public Class Methods

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

Public Instance Methods

__cast(val) click to toggle source

Cast object from XML value

@param [String] val

@api private

@return [Object]

# File lib/xmlable/mixins/castable.rb, line 21
def __cast(val)
  val
end
__empty(val) click to toggle source

Is this object empty?

@api private

@return [Boolean]

# File lib/xmlable/mixins/castable.rb, line 71
def __empty(val)
  val.respond_to?(:empty?) && val.empty? ||
    val.is_a?(String) && val == '' ||
    val.nil?
end
__export(val) click to toggle source

Export value to XML/JSON

@param [Object] val

@api private

@return [Object]

# File lib/xmlable/mixins/castable.rb, line 34
def __export(val)
  val.to_s
end
__export_to_json(val) click to toggle source

Export value to JSON

@param [Object] val

@api private

@return [Object]

# File lib/xmlable/mixins/castable.rb, line 60
def __export_to_json(val)
  __export(val).to_s
end
__export_to_xml(val) click to toggle source

Export value to XML

@param [Object] val

@api private

@return [String]

# File lib/xmlable/mixins/castable.rb, line 47
def __export_to_xml(val)
  __export(val).to_s
end