Sha256: f62f423ca9a539b0161ba4dd60aae0c482f930b4a420789ec449cff3772ab499

Contents?: true

Size: 715 Bytes

Versions: 2

Compression:

Stored size: 715 Bytes

Contents

# frozen_string_literal: true

class String
  class << self
    def adapt?(xml_node)
      xml_node.is_a?(String) || xml_node.adapt?(String)
    end

    def read_from(xml_node)
      xml_node.to_s
    end
  end
end

class Time
  class << self
    def adapt?(xml_node)
      xml_node.is_a?(String) || xml_node.adapt?(Time)
    end

    def read_from(xml_node)
      xml_node.to_s.to_time
    end
  end

  def to_element(**_context)
    strftime('%Y-%m-%dT%H:%M:%SZ')
  end
end

class Integer
  class << self
    def adapt?(xml_node)
      xml_node.is_a?(String) || xml_node.adapt?(Integer)
    end

    def read_from(xml_node)
      xml_node.to_s.to_i
    end
  end

  def to_element(**_context)
    to_s
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
goldendocx-0.3.0 lib/extensions/xml_serialize_extensions.rb
goldendocx-0.2.3 lib/extensions/xml_serialize_extensions.rb