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