module Svarog::Base
Public Instance Methods
call(input = nil)
click to toggle source
Calls superclass method
# File lib/svarog.rb, line 20 def call(input = nil) input ||= {} @_passed_input = Result.new(true, input) begin super rescue NoMethodError raise CallMethodNotImplemented, "You have to implement `call` method in your class before using it" end enforce_data_format @_passed_input end
Private Instance Methods
enforce_data_format()
click to toggle source
# File lib/svarog.rb, line 55 def enforce_data_format raise WrongDataPassed, "You didn't use `success` or `failure` method to return value from method." unless @_passed_input.instance_of? Result end
failure(value)
click to toggle source
# File lib/svarog.rb, line 51 def failure(value) Result.new(false, value) end
run(callable)
click to toggle source
# File lib/svarog.rb, line 34 def run(callable) return unless @_passed_input.success? if callable.instance_of? Symbol raise MethodNotImplemented, "You didn't implement #{callable} method. Implement it before calling this class" unless respond_to?(callable, true) callable = method(callable) end raise NonCallablePassedToRun, "You can pass only symbol with method name of instance of callable class to run method" unless callable.respond_to?(:call) @_passed_input = callable.call(@_passed_input.value) end
success(value)
click to toggle source
# File lib/svarog.rb, line 47 def success(value) Result.new(true, value) end