Sha256: 727d73f234698c5d7bfd0f8d50d138bbc87bff24dfa8c3e1c5c15b7c52090a04

Contents?: true

Size: 730 Bytes

Versions: 2

Compression:

Stored size: 730 Bytes

Contents

class Object
  def meta_def(m,&b) #:nodoc:
    (class<<self;self end).send(:define_method,m,&b)
  end
end

class Regexp
  def number_of_captures #:nodoc:
    c, x = 0, self.source.dup.gsub( /\\\(/, "" ).gsub( /\\\)/, "" )
    while( r = /(\([^\)]*\))/.match( x ) )
      c, x = c+1, r.post_match
    end
    c
  end
  
  # From http://facets.rubyforge.org/apidoc/api/core/classes/Regexp.html
  def arity #:nodoc:
    self.source.scan( /(?!\\)[(](?!\?[#=:!>-imx])/ ).length
  end
end

class Hash
  def keys_to_sym #:nodoc:
    self.each do |k, v|
      self.delete(k)
      self[k.to_s.to_sym] = v
    end
  end
end

require 'active_support'

class String
  def underscore
    ActiveSupport::Inflector.underscore( self )
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
Capcode-1.0.0 lib/capcode/core_ext.rb
Capcode-0.9.9 lib/capcode/core_ext.rb