Module: ActionService::Container::ClassMethods
- Defined in:
- lib/action_service/container.rb
Instance Method Summary collapse
- #add_service_definition_callback(&block) ⇒ Object
- #has_service?(name) ⇒ Boolean
- #service(name, object = nil, options = {}, &block) ⇒ Object
- #services ⇒ Object
Instance Method Details
#add_service_definition_callback(&block) ⇒ Object
31 32 33 |
# File 'lib/action_service/container.rb', line 31 def add_service_definition_callback(&block) write_inheritable_array("service_definition_callbacks", [block]) end |
#has_service?(name) ⇒ Boolean
35 36 37 |
# File 'lib/action_service/container.rb', line 35 def has_service?(name) services.has_key?(name.to_sym) end |
#service(name, object = nil, options = {}, &block) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/action_service/container.rb', line 17 def service(name, object=nil, ={}, &block) if (object && block_given?) || (object.nil? && block.nil?) raise(ContainerError, "either service, or a block must be given") end name = name.to_sym if block_given? info = { name => { :block => block } } else info = { name => { :object => object } } end write_inheritable_hash("action_services", info) call_service_definition_callbacks(self, name, info) end |
#services ⇒ Object
39 40 41 |
# File 'lib/action_service/container.rb', line 39 def services read_inheritable_attribute("action_services") || {} end |