class Dumpling::ServiceSpecification
Attributes
abstract_services[R]
dependencies[R]
Public Class Methods
new()
click to toggle source
# File lib/dumpling/service_specification.rb, line 5 def initialize @dependencies = {} @abstract_services = [] end
Public Instance Methods
class(klass = nil)
click to toggle source
# File lib/dumpling/service_specification.rb, line 10 def class(klass = nil) klass.nil? ? @class : (@class = klass) end
dependency(id, attribute: nil)
click to toggle source
# File lib/dumpling/service_specification.rb, line 18 def dependency(id, attribute: nil) dependencies[id] = { attribute: (attribute || guess_attribute(id)).to_sym } end
include(*ids)
click to toggle source
# File lib/dumpling/service_specification.rb, line 22 def include(*ids) abstract_services.concat ids nil end
instance(instance = nil)
click to toggle source
# File lib/dumpling/service_specification.rb, line 14 def instance(instance = nil) instance.nil? ? @instance : (@instance = instance) end
Private Instance Methods
guess_attribute(id)
click to toggle source
# File lib/dumpling/service_specification.rb, line 30 def guess_attribute(id) /(?<attribute>\w+)\z/i =~ id attribute || id end