class Minarai::Actions::Base
Attributes
backend[RW]
Public Class Methods
attribute(name, options = {})
click to toggle source
# File lib/minarai/actions/base.rb, line 11 def attribute(name, options = {}) default = options.delete(:default) define_method(name) do @attributes[name.to_s] || default end validates name, options end
new(attributes)
click to toggle source
# File lib/minarai/actions/base.rb, line 24 def initialize(attributes) @attributes = attributes end
Public Instance Methods
call()
click to toggle source
# File lib/minarai/actions/base.rb, line 28 def call if complete? Minarai::Logger.skip "[SKIP] #{name}" else run if complete? Minarai::Logger.done "[DONE] #{name}" else Minarai::Logger.fail "[FAIL] #{name}" end end end
error_messages()
click to toggle source
# File lib/minarai/actions/base.rb, line 45 def error_messages validation_error_messages end
run()
click to toggle source
# File lib/minarai/actions/base.rb, line 41 def run raise NotImplementedError end
Private Instance Methods
check_command(*args)
click to toggle source
# File lib/minarai/actions/base.rb, line 74 def check_command(*args) run_command(*args).success? end
check_specific_command(method, *args)
click to toggle source
# File lib/minarai/actions/base.rb, line 82 def check_specific_command(method, *args) run_specific_command(method, *args).success? end
complete?()
click to toggle source
# File lib/minarai/actions/base.rb, line 51 def complete? raise NotImplementedError end
name()
click to toggle source
# File lib/minarai/actions/base.rb, line 66 def name @attributes['name'] end
run_command(*args)
click to toggle source
# File lib/minarai/actions/base.rb, line 70 def run_command(*args) backend.run_command(*args) end
run_specific_command(method, *args)
click to toggle source
# File lib/minarai/actions/base.rb, line 78 def run_specific_command(method, *args) run_command(backend.command.get(method, *args)) end
validated?()
click to toggle source
# File lib/minarai/actions/base.rb, line 55 def validated? validate end
validation_error_messages()
click to toggle source
# File lib/minarai/actions/base.rb, line 59 def validation_error_messages validate errors.map do |attribute, error_message| Minarai::Errors::AttributeValidationError.new(attribute, error_message, name) end end