module Neco::Command::InstanceMethods
When command object is instantiated, either by a class-level call, a container or a user, these methods will be called.
Public Class Methods
new(*args, container: FakeContainer.new(command: self), **params)
click to toggle source
# File lib/neco/command.rb, line 41 def initialize(*args, container: FakeContainer.new(command: self), **params) @args = args @container = container @params = params end
Public Instance Methods
call(*args, **params)
click to toggle source
# File lib/neco/command.rb, line 51 def call(*args, **params) @args += args @params.merge!(params) return false unless validate main = self.class.instance_variable_get(:@main) begin instance_exec(*@args, **@params, &main) Success.new rescue StandardError => e Failure.new(exception: e) end end
inspect()
click to toggle source
# File lib/neco/command.rb, line 81 def inspect to_s end
revert()
click to toggle source
# File lib/neco/command.rb, line 71 def revert rollback = self.class.instance_variable_get(:@rollback) instance_exec(*@args, **@params, &rollback) end
set(key, value)
click to toggle source
# File lib/neco/command.rb, line 47 def set(key, value) @container.set(key, value) end
to_s()
click to toggle source
# File lib/neco/command.rb, line 76 def to_s main = self.class.instance_variable_get(:@main) main.inspect end
validate()
click to toggle source
# File lib/neco/command.rb, line 66 def validate validation = self.class.instance_variable_get(:@validation) validation ? validation.call(@args, @params) : true end