Sha256: 4e0fb6816a02e895d67438c13587c28b177c6a4ce7eaa6fda09dc15302c7789e

Contents?: true

Size: 1.12 KB

Versions: 1

Compression:

Stored size: 1.12 KB

Contents

# coding: utf-8

#
# Why would we ever use Ruby 1.8.7 when we can backport with something
# as simple as this?
#
# copied from prawn.
# modified by Hideo NAKAMURA
#
class String # :nodoc:
  def first_line
    each_line { |line| return line }
  end
  alias lines to_a unless "".respond_to?(:lines)
  unless "".respond_to?(:each_char)
    def each_char(&block) # :nodoc:
      # copied from jcode
      if block_given?
        scan(/./m, &block)
      else
        scan(/./m)
      end
    end
  end

  unless "".respond_to?(:bytesize)
    def bytesize # :nodoc:
      length
    end
  end

  unless "".respond_to?(:ord)
    def ord
      self[0]
    end
  end

  unless "".respond_to?(:ascii_only?)
    def ascii_only?
      !!(self =~ %r{[^!"#$%&'()*+,\-./:;<=>?@0-9A-Za-z_\[\\\]\{\}^` ~\0\n]})
    end
  end
end

unless File.respond_to?(:binread)
  def File.binread(file) # :nodoc:
    File.open(file, "rb:utf-8:utf-8") { |f| f.read }
  end
end

if RUBY_VERSION < "1.9"

  def ruby_18 # :nodoc:
    yield
  end

  def ruby_19 # :nodoc:
    false
  end

else

  def ruby_18 # :nodoc:
    false
  end

  def ruby_19 # :nodoc:
    yield
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
write_xlsx-1.09.5 lib/write_xlsx/compatibility.rb