class BluePrint::ActiveIf
Constants
- NAMED_ACTIVE_IFS_MAP
Public Class Methods
new(name = nil, &logic)
click to toggle source
# File lib/blue_print/active_if.rb, line 14 def initialize(name = nil, &logic) @name = name @logic = logic NAMED_ACTIVE_IFS_MAP[name] = self unless anonymous? end
resolve(name)
click to toggle source
# File lib/blue_print/active_if.rb, line 6 def self.resolve(name) if name.respond_to?(:active?) name else NAMED_ACTIVE_IFS_MAP[name.to_s.to_sym] end end
Public Instance Methods
active?()
click to toggle source
# File lib/blue_print/active_if.rb, line 33 def active? return BluePrint.env[cache_key] if BluePrint.env.key?(cache_key) BluePrint.env[cache_key] = BluePrint.env.within(&@logic) end
anonymous?()
click to toggle source
# File lib/blue_print/active_if.rb, line 25 def anonymous? name.nil? end
cache_key()
click to toggle source
# File lib/blue_print/active_if.rb, line 29 def cache_key @cache_key ||= "blue_print_active_id_#{name || object_id}".to_sym end
deactive?()
click to toggle source
# File lib/blue_print/active_if.rb, line 39 def deactive? !active? end
name()
click to toggle source
# File lib/blue_print/active_if.rb, line 21 def name @name ? @name.to_s.to_sym : nil end