class Trestle::Scopes
Public Class Methods
new(definition, context)
click to toggle source
# File lib/trestle/scopes.rb, line 11 def initialize(definition, context) @definition = definition @scopes = @definition.evaluate(context) end
Public Instance Methods
active(params)
click to toggle source
# File lib/trestle/scopes.rb, line 41 def active(params) select { |s| s.active?(params) } end
classes()
click to toggle source
# File lib/trestle/scopes.rb, line 16 def classes [ 'scopes', ('grouped' if grouped?), layout_class, options[:class] ].compact end
each(&block)
click to toggle source
# File lib/trestle/scopes.rb, line 25 def each(&block) @scopes.values.each(&block) end
grouped()
click to toggle source
# File lib/trestle/scopes.rb, line 33 def grouped if grouped? group_by(&:group) else { nil => @scopes.values.flatten } end end
grouped?()
click to toggle source
# File lib/trestle/scopes.rb, line 29 def grouped? options[:group] != false && any?(&:group) end
Private Instance Methods
layout_class()
click to toggle source
# File lib/trestle/scopes.rb, line 46 def layout_class "columns" if %w(column columns).include?(options[:layout].to_s) end