Sha256: b9bcba9fb068f70c47e07cc366dd71c41dcb2155d699f5f7cddac1a11b8a029f
Contents?: true
Size: 1.31 KB
Versions: 1
Compression:
Stored size: 1.31 KB
Contents
class Object def metaclass class << self; self; end end def meta_def(name, &blk) metaclass.define_method(name, &blk) end end module Kernel # From http://oldrcrs.rubypal.com/rcr/show/309 def __DIR__(offset = 0) (/^(.+)?:\d+/ =~ caller[offset + 1]) ? File.dirname($1) : nil end # Shorthand for lambda # e.g. L{|r| puts r} def L(&blk) lambda(&blk) end # Shorthand for Proc.new # e.g. P{|r| puts r} def P(&blk) Proc.new(&blk) end end class String def /(*args) File.join(self, *args) end def to_pathname Pathname.new(self) end end class Array def extract_options! last.is_a?(Hash) ? pop : {} end end class Module def has_library(*items) namespace = self.to_s.underscore items.each do |item| require File.join(namespace, item.to_s.underscore) end end def extends_library(*items) namespace = self.to_s.underscore items.each do |item| klass = item.to_s.camelize.to_sym # Load if it isn't loaded already. const_get(klass) unless const_defined?(klass) # And finally load the file. require File.join(namespace, item.to_s.underscore) end end def attempt_require(*files) files.each do |file| begin require file rescue LoadError end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
Sutto-perennial-0.2.3.3 | lib/perennial/core_ext/misc.rb |