Sha256: 5f0789d16a98d83f8d8551bc2215db1095aaddee346007bca4d6adb11ad8ee66
Contents?: true
Size: 806 Bytes
Versions: 6
Compression:
Stored size: 806 Bytes
Contents
module Trestle class Scopes class Block attr_reader :block, :admin def initialize(admin=nil, &block) @admin = admin @block = block end def scopes(context) context = Evaluator.new(@admin, context) context.instance_exec(@admin, &block) context.scopes end class Evaluator include EvaluationContext attr_reader :scopes def initialize(admin, context=nil) @admin, @context = admin, context @scopes = [] end def scope(name, scope=nil, options={}, &block) if scope.is_a?(Hash) options = scope scope = nil end scopes << Scope.new(@admin, name, options, &(scope || block)) end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems