Sha256: 11498924c2539f526cfc9b549a9cfcd818678f86f926e17fb9fab75f4033fdd4

Contents?: true

Size: 397 Bytes

Versions: 9

Compression:

Stored size: 397 Bytes

Contents

module CoreExt
  module BooleanAccessor
    def boolean_accessor(*syms)
      syms.each do |sym|
        class_eval(<<-EOS, __FILE__, __LINE__)
          def #{sym}?; @#{sym} == 1; end
          def #{sym}=(value); @#{sym} = value.to_s.match(/true|yes|on|1/i) ? 1 : 0; end
          def #{sym}; @#{sym}; end
        EOS
      end
    end
  end
end

Module.send(:include, CoreExt::BooleanAccessor)

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
abcde-sappy-0.1.0 lib/core_ext/module/boolean_accessor.rb
abcde-sappy-0.1.1 lib/core_ext/module/boolean_accessor.rb
sappy-0.1.7 lib/core_ext/module/boolean_accessor.rb
sappy-0.1.6 lib/core_ext/module/boolean_accessor.rb
sappy-0.1.5 lib/core_ext/module/boolean_accessor.rb
sappy-0.1.4 lib/core_ext/module/boolean_accessor.rb
sappy-0.1.3 lib/core_ext/module/boolean_accessor.rb
sappy-0.1.2 lib/core_ext/module/boolean_accessor.rb
sappy-0.1.1 lib/core_ext/module/boolean_accessor.rb