Sha256: e1e214b333a97a1908336c98c43045ade8f22e478488a3998bb87ce495035d2c

Contents?: true

Size: 904 Bytes

Versions: 50

Compression:

Stored size: 904 Bytes

Contents

# :stopdoc:
module Nokogiri
  module IoCallbacks

    class << self

      def plain_old_reader(io)
        lambda do |ctx, buffer, len|
          string = io.read(len)
          return 0 if string.nil?
          buffer.put_bytes(0, string, 0, string.length)
          string.length
        end
      end

      if defined?(FFI::IO.native_read)
        def ffi_io_native_reader(io)
          if io.is_a?(StringIO)
            plain_old_reader(io)
          else
            lambda do |ctx, buffer, len|
              rcode = FFI::IO.native_read(io, buffer, len)
              (rcode < 0) ? 0 : rcode
            end
          end
        end
        alias :reader :ffi_io_native_reader
      else
        alias :reader :plain_old_reader
      end

      def writer(io)
        lambda do |context, buffer, len|
          io.write buffer
          len
        end
      end
    end

  end
end
# :startdoc:

Version data entries

50 entries across 50 versions & 9 rubygems

Version Path
domo-0.0.4 vendor/bundle/ruby/1.9.1/gems/nokogiri-1.4.4/lib/nokogiri/ffi/io_callbacks.rb
nokogiri-1.4.7-java lib/nokogiri/ffi/io_callbacks.rb
nokogiri-1.4.7-x86-mingw32 lib/nokogiri/ffi/io_callbacks.rb
nokogiri-1.4.7-x86-mswin32-60 lib/nokogiri/ffi/io_callbacks.rb
nokogiri-1.4.7 lib/nokogiri/ffi/io_callbacks.rb
search_biomodel-1.0.0 search_biomodel/ruby/1.8/gems/nokogiri-1.4.6/lib/nokogiri/ffi/io_callbacks.rb
nokogiri-1.4.6 lib/nokogiri/ffi/io_callbacks.rb
nokogiri-1.4.6-java lib/nokogiri/ffi/io_callbacks.rb
nokogiri-1.4.6-x86-mingw32 lib/nokogiri/ffi/io_callbacks.rb
nokogiri-1.4.6-x86-mswin32-60 lib/nokogiri/ffi/io_callbacks.rb
nokogiri-1.4.5-java lib/nokogiri/ffi/io_callbacks.rb
nokogiri-1.4.5 lib/nokogiri/ffi/io_callbacks.rb
nokogiri-1.4.5-x86-mswin32-60 lib/nokogiri/ffi/io_callbacks.rb
nokogiri-1.4.5-x86-mingw32 lib/nokogiri/ffi/io_callbacks.rb
nokogiri-1.4.4.2-java lib/nokogiri/ffi/io_callbacks.rb
nokogiri-1.4.4.1-x86-mswin32 lib/nokogiri/ffi/io_callbacks.rb
nokogiri-1.4.4.1-x86-mingw32 lib/nokogiri/ffi/io_callbacks.rb
nokogiri-1.4.4-x86-mswin32 lib/nokogiri/ffi/io_callbacks.rb
nokogiri-1.4.4-x86-mingw32 lib/nokogiri/ffi/io_callbacks.rb
nokogiri-1.4.4-java lib/nokogiri/ffi/io_callbacks.rb