Module: ActiveInteractor::ClassMethods
- Defined in:
- lib/active_interactor.rb
Instance Method Summary collapse
-
#expose(*instance_variable_names) ⇒ Object
Expose local instance variables into the returning value of #call.
- #exposures ⇒ Hash
- #validation_attribute_names ⇒ Array<Symbol>
- #validation_required? ⇒ Boolean
-
#validations(*attribute_names) { ... } ⇒ void
Configure #validator_class.
- #validator_class ⇒ Class
Instance Method Details
#expose(*instance_variable_names) ⇒ Object
Expose local instance variables into the returning value of ActiveInteractor#call
52 53 54 55 56 |
# File 'lib/active_interactor.rb', line 52 def expose(*instance_variable_names) instance_variable_names.each do |name| exposures[name.to_sym] = "@#{name}" end end |
#exposures ⇒ Hash
59 60 61 |
# File 'lib/active_interactor.rb', line 59 def exposures @exposures ||= {} end |
#validation_attribute_names ⇒ Array<Symbol>
64 65 66 |
# File 'lib/active_interactor.rb', line 64 def validation_attribute_names @validation_attribute_names || [] end |
#validation_required? ⇒ Boolean
69 70 71 |
# File 'lib/active_interactor.rb', line 69 def validation_required? validation_attribute_names.present? end |
#validations(*attribute_names) { ... } ⇒ void
This method returns an undefined value.
Configure #validator_class
36 37 38 39 40 41 42 |
# File 'lib/active_interactor.rb', line 36 def validations(*attribute_names, &block) @validation_attribute_names = attribute_names validator_class.class_eval do attr_accessor(*attribute_names) end validator_class.class_eval(&block) end |
#validator_class ⇒ Class
45 46 47 |
# File 'lib/active_interactor.rb', line 45 def validator_class @validator_class ||= build_validator_class end |