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