class Stubby::Api
Attributes
enabled_stubs[RW]
environment[RW]
environments[RW]
master[RW]
registry[RW]
Public Class Methods
activate(source, mode)
click to toggle source
# File lib/stubby/master.rb, line 44 def activate(source, mode) registry_item = RegistryItem.new(source) self.enabled_stubs[source] = registry_item.stub(mode) end
activate_transient(options, key="_")
click to toggle source
# File lib/stubby/master.rb, line 49 def activate_transient(options, key="_") puts "Transient activation #{options.inspect}, #{key}" self.enabled_stubs[key] = TransientStub.new(options) end
env_settings()
click to toggle source
# File lib/stubby/master.rb, line 27 def env_settings (@environments[environment] || {}).dup end
environment=(name)
click to toggle source
# File lib/stubby/master.rb, line 31 def environment=(name) reset do @environment = name (env_settings["dependencies"] || []).each do |depname, mode| activate(depname, mode) end env_settings.delete("dependencies") activate_transient(env_settings) end end
expand_rules(options)
click to toggle source
# File lib/stubby/master.rb, line 54 def expand_rules(options) options.inject({}) do |new_opts, (trigger, instruction)| if instruction.is_a? Hash # dependency modes new_opts[trigger] = instruction else instruction = instruction.gsub("@", STUBBY_MASTER) protocol, url = trigger.split("://") url, protocol = protocol, :default if url.nil? extension = master.extensions[protocol.to_sym] if extension new_opts.delete(trigger) new_opts.merge!(extension.expand_rule(trigger, instruction)) else raise "No `#{extension}` extension found for trigger: #{trigger}" end end new_opts end end
reset() { || ... }
click to toggle source
# File lib/stubby/master.rb, line 19 def reset @enabled_stubs = nil @environment = nil @registry = nil yield if block_given? end