Class: AuxiliaryRails::AbstractCommand
- Inherits:
-
Object
- Object
- AuxiliaryRails::AbstractCommand
- Extended by:
- Dry::Initializer
- Includes:
- ActiveModel::Validations
- Defined in:
- lib/auxiliary_rails/abstract_command.rb
Direct Known Subclasses
Class Method Summary collapse
- .call(*args) ⇒ Object
-
.i18n_scope ⇒ Object
Method for ActiveModel::Translation.
Instance Method Summary collapse
- #call ⇒ Object
- #failure? ⇒ Boolean
-
#read_attribute_for_validation(attr_name) ⇒ Object
Method for ActiveModel::Errors.
- #status?(value) ⇒ Boolean
- #success? ⇒ Boolean
-
#transaction(&block) ⇒ Object
Shortcut for
ActiveRecord::Base.transaction.
Class Method Details
.call(*args) ⇒ Object
9 10 11 |
# File 'lib/auxiliary_rails/abstract_command.rb', line 9 def self.call(*args) new(*args).call end |
.i18n_scope ⇒ Object
Method for ActiveModel::Translation
47 48 49 |
# File 'lib/auxiliary_rails/abstract_command.rb', line 47 def self.i18n_scope :commands end |
Instance Method Details
#call ⇒ Object
13 14 15 |
# File 'lib/auxiliary_rails/abstract_command.rb', line 13 def call raise NotImplementedError end |
#failure? ⇒ Boolean
17 18 19 |
# File 'lib/auxiliary_rails/abstract_command.rb', line 17 def failure? status?(:failure) end |
#read_attribute_for_validation(attr_name) ⇒ Object
Method for ActiveModel::Errors
37 38 39 40 41 42 43 44 |
# File 'lib/auxiliary_rails/abstract_command.rb', line 37 def read_attribute_for_validation(attr_name) attr_name = attr_name.to_sym if attr_name == :command self else self.class.dry_initializer.attributes(self)[attr_name] end end |
#status?(value) ⇒ Boolean
21 22 23 24 25 |
# File 'lib/auxiliary_rails/abstract_command.rb', line 21 def status?(value) ensure_execution! status == value&.to_sym end |
#success? ⇒ Boolean
27 28 29 |
# File 'lib/auxiliary_rails/abstract_command.rb', line 27 def success? status?(:success) end |
#transaction(&block) ⇒ Object
Shortcut for ActiveRecord::Base.transaction
32 33 34 |
# File 'lib/auxiliary_rails/abstract_command.rb', line 32 def transaction(&block) ActiveRecord::Base.transaction(&block) if block_given? end |