Sha256: e71235f5635f21d6d1f49838b5a710bbf78c9055e422c1cd3eed9734f695f2cc

Contents?: true

Size: 604 Bytes

Versions: 16

Compression:

Stored size: 604 Bytes

Contents

module Webmachine
  class StreamingEncoder
    def initialize(resource, encoder, charsetter, body)
      @resource, @encoder, @charsetter, @body = resource, encoder, charsetter, body
    end
  end

  class EnumerableEncoder < StreamingEncoder
    include Enumerable

    def each
      body.each do |block|
        yield @resource.send(@encoder, resource.send(@charsetter, block))
      end
    end
  end

  class CallableEncoder < StreamingEncoder
    def call
      @resource.send(@encoder, @resource.send(@charsetter, body.call))
    end

    def to_proc
      method(:call).to_proc
    end
  end
end

Version data entries

16 entries across 5 versions & 1 rubygems

Version Path
webmachine-0.4.1 pkg/webmachine-0.4.0/pkg/webmachine-0.3.0/pkg/webmachine-0.2.0/pkg/webmachine-0.1.0/lib/webmachine/streaming.rb
webmachine-0.4.1 pkg/webmachine-0.1.0/lib/webmachine/streaming.rb
webmachine-0.4.1 pkg/webmachine-0.2.0/pkg/webmachine-0.1.0/lib/webmachine/streaming.rb
webmachine-0.4.1 pkg/webmachine-0.3.0/pkg/webmachine-0.1.0/lib/webmachine/streaming.rb
webmachine-0.4.1 pkg/webmachine-0.3.0/pkg/webmachine-0.2.0/pkg/webmachine-0.1.0/lib/webmachine/streaming.rb
webmachine-0.4.1 pkg/webmachine-0.4.0/pkg/webmachine-0.1.0/lib/webmachine/streaming.rb
webmachine-0.4.1 pkg/webmachine-0.4.0/pkg/webmachine-0.2.0/pkg/webmachine-0.1.0/lib/webmachine/streaming.rb
webmachine-0.4.1 pkg/webmachine-0.4.0/pkg/webmachine-0.3.0/pkg/webmachine-0.1.0/lib/webmachine/streaming.rb
webmachine-0.4.0 pkg/webmachine-0.3.0/pkg/webmachine-0.2.0/pkg/webmachine-0.1.0/lib/webmachine/streaming.rb
webmachine-0.4.0 pkg/webmachine-0.1.0/lib/webmachine/streaming.rb
webmachine-0.4.0 pkg/webmachine-0.2.0/pkg/webmachine-0.1.0/lib/webmachine/streaming.rb
webmachine-0.4.0 pkg/webmachine-0.3.0/pkg/webmachine-0.1.0/lib/webmachine/streaming.rb
webmachine-0.3.0 pkg/webmachine-0.1.0/lib/webmachine/streaming.rb
webmachine-0.3.0 pkg/webmachine-0.2.0/pkg/webmachine-0.1.0/lib/webmachine/streaming.rb
webmachine-0.2.0 pkg/webmachine-0.1.0/lib/webmachine/streaming.rb
webmachine-0.1.0 lib/webmachine/streaming.rb