module Pavlov
fork from active_support 3.2.14 : ActiveSuport::Concern Removed deprecation warning, and don’t include InstanceMethods
Including InstanceMethods conflicts with Virtus (which also uses InstanceMethods)
Constants
- VERSION
We’re doing this because we might write tests that deal with other versions of bundler and we are unsure how to handle this better.
Public Class Methods
command(command_name, *args, &block)
click to toggle source
# File lib/pavlov.rb, line 4 def self.command command_name, *args, &block command = get_instance(Commands, command_name, *args) call_or_yield_instance command, &block end
interactor(interactor_name, *args, &block)
click to toggle source
# File lib/pavlov.rb, line 10 def self.interactor interactor_name, *args, &block interactor = get_instance(Interactors, interactor_name, *args) call_or_yield_instance interactor, &block end
query(query_name, *args, &block)
click to toggle source
# File lib/pavlov.rb, line 16 def self.query query_name, *args, &block query = get_instance(Queries, query_name, *args) call_or_yield_instance query, &block end
Private Class Methods
call_or_yield_instance(operation, &block)
click to toggle source
# File lib/pavlov.rb, line 28 def self.call_or_yield_instance operation, &block if block.nil? operation.call else block.call operation end end
get_instance(klass, name, *args)
click to toggle source
# File lib/pavlov.rb, line 24 def self.get_instance(klass, name, *args) OperationFinder.find(klass, name).new(*args) end