Sha256: 0668021f7cd334630304416c9aa05c0ae789b97e5aaec7610c62d78cf3e13003

Contents?: true

Size: 1.16 KB

Versions: 54

Compression:

Stored size: 1.16 KB

Contents

class Symbol
  # Standard in ruby 1.9. See official documentation[http://ruby-doc.org/core-1.9/classes/Symbol.html]
  [ [%w(capitalize downcase next succ swapcase upcase), {:after => ".to_sym"}],
    [%w(=~ [] empty? length match size), {}]
  ].each { |methods, options| methods.each do |method|
    module_eval <<-end_eval
      def #{method}(*args)
        to_s.#{method}(*args)#{options[:after]}
      end unless method_defined? :#{method}
    end_eval
  end }

  # Standard in ruby 1.9. See official documentation[http://ruby-doc.org/core-1.9/classes/Symbol.html]
  def <=>(with)
    return nil unless with.is_a? Symbol
    to_s <=> with.to_s
  end unless method_defined? :"<=>"

  # Standard in ruby 1.9. See official documentation[http://ruby-doc.org/core-1.9/classes/Symbol.html]
  def casecmp(with)
    return nil unless with.is_a? Symbol
    to_s.casecmp(with.to_s)
  end unless method_defined? :casecmp

  # Standard in ruby 1.9. See official documentation[http://ruby-doc.org/core-1.9/classes/Symbol.html]
  unless ancestors.include? Comparable
    alias_method :dont_override_equal_please, :==
    include Comparable
    alias_method :==,  :dont_override_equal_please
  end
  
end

Version data entries

54 entries across 54 versions & 2 rubygems

Version Path
backports-3.0.3 lib/backports/1.9.1/symbol.rb
backports-3.0.2 lib/backports/1.9.1/symbol.rb
backports-3.0.1 lib/backports/1.9.1/symbol.rb
backports-3.0.0 lib/backports/1.9.1/symbol.rb
backports-2.8.2 lib/backports/1.9.1/symbol.rb
backports-2.8.1 lib/backports/1.9.1/symbol.rb
backports-2.8.0 lib/backports/1.9.1/symbol.rb
backports-2.7.1 lib/backports/1.9.1/symbol.rb
backports-2.7.0 lib/backports/1.9.1/symbol.rb
backports-2.6.7 lib/backports/1.9.1/symbol.rb
backports-2.6.6 lib/backports/1.9.1/symbol.rb
backports-2.6.5 lib/backports/1.9.1/symbol.rb
fragrant-0.0.5 vendor/bundle/ruby/1.9.1/gems/backports-2.6.4/lib/backports/1.9.1/symbol.rb
backports-2.6.4 lib/backports/1.9.1/symbol.rb
backports-2.6.3 lib/backports/1.9.1/symbol.rb
backports-2.6.2 lib/backports/1.9.1/symbol.rb
backports-2.6.1 lib/backports/1.9.1/symbol.rb
backports-2.6.0 lib/backports/1.9.1/symbol.rb
backports-2.5.3 lib/backports/1.9.1/symbol.rb
backports-2.5.2 lib/backports/1.9.1/symbol.rb