Sha256: c2dd895754618bfbea26358ecc9b45f70f683de6f66fc0f4f1fec3166caecaa7

Contents?: true

Size: 703 Bytes

Versions: 64

Compression:

Stored size: 703 Bytes

Contents

# encoding: utf-8

require "active_support/json"
require "active_support/core_ext/hash"

module CarrierWave
  module Uploader
    module Serialization
      extend ActiveSupport::Concern

      def serializable_hash
        {"url" => url}.merge Hash[versions.map { |name, version| [name, { "url" => version.url }] }]
      end

      def as_json(options=nil)
        Hash[mounted_as || "uploader", serializable_hash]
      end

      def to_json
        ActiveSupport::JSON.encode(as_json)
      end

      def to_xml(options={})
        merged_options = options.merge(:root => mounted_as || "uploader", :type => 'uploader')
        serializable_hash.to_xml(merged_options)
      end

    end
  end
end

Version data entries

64 entries across 59 versions & 4 rubygems

Version Path
classiccms-0.7.5 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/serialization.rb
classiccms-0.7.4 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/serialization.rb
classiccms-0.7.3 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/serialization.rb
classiccms-0.7.2 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/serialization.rb
classiccms-0.7.1 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/serialization.rb
classiccms-0.7.0 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/serialization.rb
carrierwave-0.8.0 lib/carrierwave/uploader/serialization.rb
sunrise-cms-0.5.0.rc1 vendor/bundle/ruby/1.9.1/gems/carrierwave-0.7.1/lib/carrierwave/uploader/serialization.rb
classiccms-0.6.9 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/serialization.rb
classiccms-0.6.8 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/serialization.rb
classiccms-0.6.7 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/serialization.rb
carrierwave-0.7.1 lib/carrierwave/uploader/serialization.rb
classiccms-0.6.6 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/serialization.rb
carrierwave-0.7.0 lib/carrierwave/uploader/serialization.rb
classiccms-0.6.5 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/serialization.rb
classiccms-0.6.4 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/serialization.rb
classiccms-0.6.3 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/serialization.rb
classiccms-0.6.2 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/serialization.rb
classiccms-0.6.1 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/serialization.rb
classiccms-0.6.0 vendor/bundle/gems/carrierwave-0.6.2/lib/carrierwave/uploader/serialization.rb