Sha256: 6c747374c772bcaa1e3bcfbba6fbe6ad7f5e3474a09ac18e7fa5f58e3659ec01
Contents?: true
Size: 884 Bytes
Versions: 3
Compression:
Stored size: 884 Bytes
Contents
require 'ripl' module Ripl::Rc; end module Ripl::Rc::U def self.included mod mod.send(:include, Ripl::Rc) class << mod attr_accessor :disabled def enable self.disabled = false end def disable self.disabled = true end def enabled? !disabled end def disabled? !!disabled end end snake_name = mod.name[/::\w+$/].tr(':', ''). # remove namespaces gsub(/([A-Z][a-z]*)/, '\\1_').downcase[0..-2] code = (%w[enable disable].map{ |meth| <<-RUBY def #{meth}_#{snake_name} #{mod.name}.#{meth} end RUBY } + %w[enabled? disabled?].map{ |meth| <<-RUBY def #{snake_name}_#{meth} #{mod.name}.#{meth} end RUBY }).join("\n") module_eval(code) end end Ripl.extend(Ripl::Rc::U)
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ripl-rc-0.2.2 | lib/ripl/rc/u.rb |
ripl-rc-0.2.1 | lib/ripl/rc/u.rb |
ripl-rc-0.2.0 | lib/ripl/rc/u.rb |