class Takeoff::Configuration
Public Instance Methods
[](name)
click to toggle source
# File lib/takeoff/configuration.rb, line 12 def [](name) name ||= default_plan plan = name.is_a?(Class) ? name : plans[name] if plan.nil? raise "Plan '#{name}' is unknown" end unless plan <= Plan::Base raise "Plan '#{name}' doesn't inherit from Takeoff::Plan::Base" end plan end
default_plan(name = nil, &block)
click to toggle source
# File lib/takeoff/configuration.rb, line 32 def default_plan(name = nil, &block) self.default_plan = name if name default_plan.instance_eval(&block) if block @default_plan ||= Plan::Default end
default_plan=(plan)
click to toggle source
# File lib/takeoff/configuration.rb, line 39 def default_plan=(plan) @default_plan = self[plan] end
plan(name, plan = nil, based_on: default_plan, &block)
click to toggle source
# File lib/takeoff/configuration.rb, line 45 def plan(name, plan = nil, based_on: default_plan, &block) if plan?(name) plan ||= self[name] else plan ||= Plan.const_set(name.to_s.camelize, Class.new(self[based_on])) plans[name] = plan end plan.instance_eval(&block) if block plan end
plan?(name)
click to toggle source
# File lib/takeoff/configuration.rb, line 28 def plan?(name) self[name] rescue nil end
plans()
click to toggle source
# File lib/takeoff/configuration.rb, line 8 def plans @plans ||= HashWithIndifferentAccess.new end