Sha256: 4eda296a3a6d47935cf31508860be0ad789059a8698faf4f3cd04228feeea21d

Contents?: true

Size: 678 Bytes

Versions: 16

Compression:

Stored size: 678 Bytes

Contents

module Shogun
  module Normalizer
    def to_hash
      attributes.inject({}) do |hash, attribute|
        if public_send(attribute)
          hash.merge(attribute => public_send(attribute))
        else
          hash
        end
      end
    end

    def as_meta
      metadata.inject({}) do |hash, meta|
        if public_send(meta)
          hash.merge(meta => public_send(meta))
        else
          hash
        end
      end
    end

    private def attributes
      self.class.const_get("ATTRIBUTES")
    end

    private def metadata
      self.class.const_get("METADATA")
    end

    private def namespace
      self.class.const_get("NAMESPACE")
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
shogun-6.4.2 lib/shogun/normalizer.rb
shogun-6.4.1 lib/shogun/normalizer.rb
shogun-6.4.0 lib/shogun/normalizer.rb
shogun-6.3.0 lib/shogun/normalizer.rb
shogun-6.2.3 lib/shogun/normalizer.rb
shogun-6.2.2 lib/shogun/normalizer.rb
shogun-6.2.1 lib/shogun/normalizer.rb
shogun-6.2.0 lib/shogun/normalizer.rb
shogun-6.1.0 lib/shogun/normalizer.rb
shogun-6.0.0 lib/shogun/normalizer.rb
shogun-4.0.1 lib/shogun/normalizer.rb
shogun-4.0.0 lib/shogun/normalizer.rb
shogun-3.4.0 lib/shogun/normalizer.rb
shogun-3.2.0 lib/shogun/normalizer.rb
shogun-3.1.0 lib/shogun/normalizer.rb
shogun-3.0.0 lib/shogun/normalizer.rb