Sha256: b5414d63bc5509ee18ca40bbc40b778e1c22a2ed3e684712ed0954e0456fad55
Contents?: true
Size: 944 Bytes
Versions: 2
Compression:
Stored size: 944 Bytes
Contents
require 'singleton' module CanTango class Config class Ability # allow either block or direct access # engine(:permission) do |permission| # engine(:permission).config_path def engine name, &block engine = find_engine(name) yield engine if block engine end protected def find_engine name raise ArgumentError, "Must be label for an engine" if !name.kind_of_label? name = name.to_s.singularize engines.send(name) if engines.available? name end class Engine include Singleton def set state = :on raise ArgumentError, "Must be :on or :off" unless !state || [:on, :off].include?(state) @state = state || :on end def reset! @state = nil end def on? @state == :on end def off? !on? end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
cantango-config-0.2.1 | lib/cantango/config/ability/engine.rb |
cantango-config-0.2.0 | lib/cantango/config/ability/engine.rb |