Module: ActiveInteractor::ClassMethods

Defined in:
lib/active_interactor.rb

Instance Method Summary collapse

Instance Method Details

#expose(*instance_variable_names) ⇒ Object

Expose local instance variables into the returning value of ActiveInteractor#call

Parameters:

  • instance_variable_names (Array<Symbol>)


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

#exposuresHash

Returns:

  • (Hash)


59
60
61
# File 'lib/active_interactor.rb', line 59

def exposures
  @exposures ||= {}
end

#validation_attribute_namesArray<Symbol>

Returns:

  • (Array<Symbol>)


64
65
66
# File 'lib/active_interactor.rb', line 64

def validation_attribute_names
  @validation_attribute_names || []
end

#validation_required?Boolean

Returns:

  • (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

Parameters:

  • attribute_names (Array<Symbol>)

    list of

Yields:



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_classClass

Returns:

  • (Class)


45
46
47
# File 'lib/active_interactor.rb', line 45

def validator_class
  @validator_class ||= build_validator_class
end