module SwitchPoint::ClassMethods

Public Instance Methods

config() click to toggle source
# File lib/switch_point.rb, line 13
def config
  @config ||= Config.new
end
configure(&block) click to toggle source
# File lib/switch_point.rb, line 9
def configure(&block)
  block.call(config)
end
readonly!(name) click to toggle source
# File lib/switch_point.rb, line 23
def readonly!(name)
  ProxyRepository.checkout(name).readonly!
end
readonly_all!() click to toggle source
# File lib/switch_point.rb, line 17
def readonly_all!
  config.each_key do |name|
    readonly!(name)
  end
end
with_mode(mode, *names, &block) click to toggle source
# File lib/switch_point.rb, line 53
def with_mode(mode, *names, &block)
  names.reverse.inject(block) do |func, name|
    lambda do
      ProxyRepository.checkout(name).with_mode(mode, &func)
    end
  end.call
end
with_readonly(*names, &block) click to toggle source
# File lib/switch_point.rb, line 37
def with_readonly(*names, &block)
  with_mode(:readonly, *names, &block)
end
with_readonly_all(&block) click to toggle source
# File lib/switch_point.rb, line 41
def with_readonly_all(&block)
  with_readonly(*config.keys, &block)
end
with_writable(*names, &block) click to toggle source
# File lib/switch_point.rb, line 45
def with_writable(*names, &block)
  with_mode(:writable, *names, &block)
end
with_writable_all(&block) click to toggle source
# File lib/switch_point.rb, line 49
def with_writable_all(&block)
  with_writable(*config.keys, &block)
end
writable!(name) click to toggle source
# File lib/switch_point.rb, line 33
def writable!(name)
  ProxyRepository.checkout(name).writable!
end
writable_all!() click to toggle source
# File lib/switch_point.rb, line 27
def writable_all!
  config.each_key do |name|
    writable!(name)
  end
end