class Spigot::Map::Base

Attributes

services[R]

Public Class Methods

new() click to toggle source
# File lib/spigot/map/base.rb, line 6
def initialize
  @services = []
  Spigot.config.map = self
end

Public Instance Methods

define(&block) click to toggle source
# File lib/spigot/map/base.rb, line 11
def define(&block)
  Spigot::Map::Service.class_eval(&block) if block_given?
end
inspect() click to toggle source
# File lib/spigot/map/base.rb, line 38
def inspect
  "#<Spigot::Map::Base #{to_hash.to_s}>"
end
reset() click to toggle source
# File lib/spigot/map/base.rb, line 20
def reset
  @services = []
end
service(name) click to toggle source
# File lib/spigot/map/base.rb, line 24
def service(name)
  services.find { |service| service.name == name.to_s.underscore.to_sym }
end
to_hash() click to toggle source
# File lib/spigot/map/base.rb, line 28
def to_hash
  hash = {}
  services.each do |service|
    service_map = {}
    service.resources.each { |resource| service_map.merge!(resource.to_hash) }
    hash.merge!(service.name.to_sym => service_map)
  end
  hash
end
update(name, service) click to toggle source
# File lib/spigot/map/base.rb, line 15
def update(name, service)
  @services.reject! { |s| s.name == name.to_s.underscore.to_sym }
  @services << service
end