Module: BBServices::ServiceProvider
- Defined in:
- lib/bbservices/service_provider.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Class Method Details
.included(base) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/bbservices/service_provider.rb', line 6 def self.included(base) base.extend ClassMethods base.class_eval do ## # Creates a brand new service of a given type def service(service_type, service_params = {}) service_type.new.tap do |service| service.set_params(service_params) end end ## # Creates and runs a brand new service using the safe method def run_service(service_type, service_params = {}, &block) service(service_type, service_params).tap do |service| service.set_service_class(service_type) service.run(&block) end end ## # Creates and runs a brand new service using the unsafe method def run_service!(service_type, service_params = {}, &block) service(service_type, service_params).tap do |service| service.set_service_class(service_type) service.run!(&block) end end end end |