class Dicer::Context
Public Class Methods
current()
click to toggle source
# File lib/dicer/railtie/context.rb, line 12 def self.current Middleware.store[:context] end
current=(context)
click to toggle source
# File lib/dicer/railtie/context.rb, line 8 def self.current=(context) Middleware.store[:context] = context end
current_controller()
click to toggle source
# File lib/dicer/railtie/context.rb, line 20 def self.current_controller Middleware.store[:current_controller] end
current_controller=(controller)
click to toggle source
# File lib/dicer/railtie/context.rb, line 16 def self.current_controller=(controller) Middleware.store[:current_controller] = controller end
describe(klass, &block)
click to toggle source
# File lib/dicer/context.rb, line 12 def self.describe(klass, &block) description = Description.new(klass, &block) klass = description.described_class if descriptions.has_key?(klass) descriptions[klass].merge!(description) else descriptions[klass] = description end end
descriptions()
click to toggle source
# File lib/dicer/context.rb, line 5 def self.descriptions @descriptions ||= self < Dicer::Context ? self.superclass.descriptions.dup : {} end
Public Instance Methods
controller()
click to toggle source
# File lib/dicer/railtie/context.rb, line 24 def controller self.class.current_controller end
supply(object, role = nil)
click to toggle source
# File lib/dicer/context.rb, line 23 def supply(object, role = nil) description = self.class.descriptions[object.class] delegator = description ? (role.nil? ? description.delegator : description.delegator_for(role)) : nil delegator ? delegator.new(object) : object end