Sha256: 6cb5e9c28e38a0a8c9b67eda34fb4af9efb1bbe888cafb350ba38980e017e30f

Contents?: true

Size: 583 Bytes

Versions: 4

Compression:

Stored size: 583 Bytes

Contents

module Paperdragon
  # 2-level meta data hash for a file. Returns empty string if not found.
  # Metadata.new(nil)[:original][:width] => ""
  # Holds metadata for an attachment. This is a hash keyed by versions, e.g. +:original+,
  # +:thumb+, and so on.
  class Metadata
    def initialize(hash)
      @hash = hash || {}
    end

    def [](name)
      @hash[name] || {}
    end

    def populated?
      @hash.size > 0
    end

    def merge!(hash)
      @hash.merge!(hash)
    end

    def dup
      self.class.new(@hash.dup)
    end

    def to_hash
      @hash
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
paperdragon-0.0.5 lib/paperdragon/metadata.rb
paperdragon-0.0.4 lib/paperdragon/metadata.rb
paperdragon-0.0.3 lib/paperdragon/metadata.rb
paperdragon-0.0.2 lib/paperdragon/metadata.rb