module EfnRuby
Public Class Methods
included(base)
click to toggle source
# File lib/efnruby.rb, line 2 def self.included(base) base.class_eval do def sfn(name, &block) self.class.send(:define_method, name, block) end def fn(name, type=:inst, &block) if type == :static self.class.send(:define_method, name, block) else define_method name, block end end def var(name, *options) if options.include? :get if options.include? :set attr_accessor name else attr_reader name end elsif options.include? :set attr_writer name else attr_accessor name end end end end
Public Instance Methods
fn(name, type=:inst, &block)
click to toggle source
# File lib/efnruby.rb, line 8 def fn(name, type=:inst, &block) if type == :static self.class.send(:define_method, name, block) else define_method name, block end end
sfn(name, &block)
click to toggle source
# File lib/efnruby.rb, line 4 def sfn(name, &block) self.class.send(:define_method, name, block) end
var(name, *options)
click to toggle source
# File lib/efnruby.rb, line 16 def var(name, *options) if options.include? :get if options.include? :set attr_accessor name else attr_reader name end elsif options.include? :set attr_writer name else attr_accessor name end end