Module: Comandor
- Defined in:
- lib/comandor.rb,
lib/comandor/version.rb
Overview
Service Objects
Defined Under Namespace
Modules: ClassMethods
Constant Summary collapse
- VERSION =
'0.1.5'
Instance Attribute Summary collapse
-
#result ⇒ Object
readonly
Returns the value of attribute result.
Class Method Summary collapse
-
.extended(base) ⇒ Object
Callback on ‘extend Comandor`.
Instance Method Summary collapse
-
#error(key, message) ⇒ False
Add new error to key array.
-
#errors ⇒ Hash<Symbol => Array>
List of errors.
-
#fail? ⇒ Boolean
(also: #failed?)
Are we failed?.
- #perform(*args, &block) ⇒ self
-
#success? ⇒ Boolean
Are we done here?.
Instance Attribute Details
#result ⇒ Object (readonly)
Returns the value of attribute result.
7 8 9 |
# File 'lib/comandor.rb', line 7 def result @result end |
Class Method Details
.extended(base) ⇒ Object
Callback on ‘extend Comandor`
10 11 12 13 |
# File 'lib/comandor.rb', line 10 def self.extended(base) base.prepend(self) base.extend(ClassMethods) end |
Instance Method Details
#error(key, message) ⇒ False
Add new error to key array
61 62 63 64 65 66 67 68 69 |
# File 'lib/comandor.rb', line 61 def error(key, ) errors[key] ||= [] if .is_a? Array errors[key] = errors[key] + else errors[key] << end false end |
#errors ⇒ Hash<Symbol => Array>
List of errors
86 87 88 |
# File 'lib/comandor.rb', line 86 def errors @errors ||= {} end |
#fail? ⇒ Boolean Also known as: failed?
Are we failed?
79 80 81 |
# File 'lib/comandor.rb', line 79 def fail? done? && errors? end |
#perform(*args, &block) ⇒ self
44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/comandor.rb', line 44 def perform(*args, &block) raise NoMethodError unless defined?(:perform) @result = if self.class.transaction_klass && self.class.transaction_method Object.const_get(self.class.transaction_klass).send self.class.transaction_method.to_sym do super end else super end @done = true self end |
#success? ⇒ Boolean
Are we done here?
73 74 75 |
# File 'lib/comandor.rb', line 73 def success? done? && !errors? end |