Sha256: 1b939f2c1bf2f363a0c593e1d5befd5576dd9199e8e39c645ab032ef56550b25

Contents?: true

Size: 589 Bytes

Versions: 13

Compression:

Stored size: 589 Bytes

Contents

module Pump
  module Array
    def pump_to_xml(options={})
      encoder = get_pump_encoder(options[:set], :xml)
      return to_xml(options) unless encoder
      encoder.encode(self, options)
    end

    def pump_to_json(options={})
      encoder = get_pump_encoder(options[:set], :json)
      return to_json(options) unless encoder
      encoder.encode(self, options)
    end

    private

    def get_pump_encoder(set, format)
      return if empty? || !first.class.respond_to?(:pumps)
      first.class.pumps.get(set, format)
    end
  end
end

class ::Array
  include Pump::Array
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
pump-0.11.0 lib/pump/array.rb
pump-0.10.0 lib/pump/array.rb
pump-0.9.1 lib/pump/array.rb
pump-0.9.0 lib/pump/array.rb
pump-0.8.0 lib/pump/array.rb
pump-0.7.0 lib/pump/array.rb
pump-0.6.6 lib/pump/array.rb
pump-0.6.5 lib/pump/array.rb
pump-0.6.4 lib/pump/array.rb
pump-0.6.3 lib/pump/array.rb
pump-0.6.2 lib/pump/array.rb
pump-0.6.1 lib/pump/array.rb
pump-0.6.0 lib/pump/array.rb