Module: FlagSet
- Defined in:
- lib/flagset.rb,
lib/flagset/version.rb
Defined Under Namespace
Constant Summary collapse
- VERSION =
"0.1.2"
Class Method Summary collapse
Class Method Details
.define(*names, &block) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/flagset.rb', line 7 def self.define(*names, &block) if names.any? and block raise ArgumentError, 'symbols and block cannot be specified at once' end builder = Builder.new unless block block = lambda{| *_ | names.each{| name | flag name } } end builder.define(&block) Class.new(Base){ define_singleton_method(:flagset_builder){ builder } define_flags_class_methods define_flags_instance_methods } end |