Class: WhyValidationsSuckIn96::ValidationBuilder
- Defined in:
- lib/whyvalidationssuckin96/validation_builder.rb
Constant Summary collapse
- RegisteredMacros =
{}
Class Method Summary collapse
-
.register_macro(macro_name, validation_class) ⇒ Object
Registers a macro to be used in setup_validations blocks.
Instance Method Summary collapse
- #create_validations! ⇒ Object
-
#initialize(klass_or_mod, definition_block) ⇒ ValidationBuilder
constructor
A new instance of ValidationBuilder.
Constructor Details
#initialize(klass_or_mod, definition_block) ⇒ ValidationBuilder
Returns a new instance of ValidationBuilder.
9 10 11 12 |
# File 'lib/whyvalidationssuckin96/validation_builder.rb', line 9 def initialize(klass_or_mod, definition_block) @klass_or_mod = klass_or_mod @definition_block = definition_block end |
Class Method Details
.register_macro(macro_name, validation_class) ⇒ Object
Registers a macro to be used in setup_validations blocks
21 22 23 24 25 26 27 28 29 |
# File 'lib/whyvalidationssuckin96/validation_builder.rb', line 21 def self.register_macro(macro_name, validation_class) RegisteredMacros[macro_name] = validation_class define_method(macro_name) do |*args| attrs, = (args) attrs.each do |attr| add_validation(validation_class, .merge(:attribute => attr)) end end end |
Instance Method Details
#create_validations! ⇒ Object
14 15 16 |
# File 'lib/whyvalidationssuckin96/validation_builder.rb', line 14 def create_validations! instance_eval(&@definition_block) end |