Sha256: 60830b7280674e0d5d26a2d1aa6db862b65b4f68d371afe130c58b1ea63aab08
Contents?: true
Size: 1.1 KB
Versions: 2
Compression:
Stored size: 1.1 KB
Contents
# frozen_string_literal: true require 'json/ext' # module Mutils module Mutils module Serialization # BaseSerializer: inherit this class to get Serializer functionality class BaseSerializer include Mutils::Serialization::SerializationIncludes include Mutils::Serialization::SerializationMethods include Mutils::Serialization::SerializationResults def initialize(object, options = {}) options[:child] = false unless options[:child] self.scope = object self.options = options self.mutex = Mutex.new end def as_json(_options = {}) if options[:child] || !self.class.include_root to_h else { class_name => to_h } end end def to_h generate_hash end def to_json(_options = {}) JSON.generate(as_json, options) end def to_xml(_options = {}) to_h.to_xml(root: class_name, skip_instruct: true, indent: 2) end def as_xml(_options = {}) to_xml end private attr_accessor :scope, :options, :mutex end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mutils-0.2.28 | lib/mutils/serialization/base_serializer.rb |
mutils-0.2.27 | lib/mutils/serialization/base_serializer.rb |