Module: BusinessFlow::DSL
- Defined in:
- lib/business_flow/dsl.rb
Overview
Core DSL for BusinessFlow. The relevant methods are all in ClassMethods.
Defined Under Namespace
Modules: ClassMethods
Classes: Field, FieldList, MemoizedField, ParameterField, ParameterObject, PublicField, UsesField
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.included(klass) ⇒ Object
86
87
88
|
# File 'lib/business_flow/dsl.rb', line 86
def self.included(klass)
klass.extend(ClassMethods)
end
|
Instance Method Details
#call ⇒ Object
93
94
95
96
97
|
# File 'lib/business_flow/dsl.rb', line 93
def call
return if invalid?
klass = self.class
klass.step_executor.new(klass.step_queue, self).call
end
|
#errors ⇒ Object
114
115
116
|
# File 'lib/business_flow/dsl.rb', line 114
def errors
@errors ||= ActiveModel::Errors.new(self)
end
|
#errors? ⇒ Boolean
118
119
120
|
# File 'lib/business_flow/dsl.rb', line 118
def errors?
@errors.present?
end
|
#invalid?(context = nil) ⇒ Boolean
126
127
128
|
# File 'lib/business_flow/dsl.rb', line 126
def invalid?(context = nil)
!valid?(context)
end
|
#valid?(_context = nil) ⇒ Boolean
122
123
124
|
# File 'lib/business_flow/dsl.rb', line 122
def valid?(_context = nil)
@errors.blank?
end
|