Sha256: 54536140de7e5b049cb9fbbe42eba18ed15fda75e1427b1be2a3050ddbbc2d21

Contents?: true

Size: 607 Bytes

Versions: 8

Compression:

Stored size: 607 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

8 entries across 4 versions & 1 rubygems

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