Sha256: 3627c0ddb76c397085697602f8a82cf2bc88a570f0c8f2d11d82953e95f01f19

Contents?: true

Size: 612 Bytes

Versions: 25

Compression:

Stored size: 612 Bytes

Contents

module CanTango
  module Rules
    class Scope
      attr_reader :name, :permit

      def initialize name, permit, &block
        @name = name.to_sym
        @permit = permit
      end

      ::CanTango.config.user.relations.each do |relationship|
        base.class_eval %{
          def #{relationship}_of *models, &block
            options = models.extract_options!
            scope = options[:scope] || name
            relation = UserRelation.new :#{relationship}, permit, scope, models, &block
            yield relation if block
            relation
          end
        }
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 2 rubygems

Version Path
cantango-core-0.1.2 lib/cantango/rules/scope.rb
cantango-core-0.1.1 lib/cantango/rules/scope.rb
cantango-core-0.1.0 lib/cantango/rules/scope.rb
cantango-0.9.4.7 lib/cantango/rules/scope.rb
cantango-0.9.4.6 lib/cantango/rules/scope.rb
cantango-0.9.4.5 lib/cantango/rules/scope.rb
cantango-0.9.4.3 lib/cantango/rules/scope.rb
cantango-0.9.4.2 lib/cantango/rules/scope.rb
cantango-0.9.4.1 lib/cantango/rules/scope.rb
cantango-0.9.4 lib/cantango/rules/scope.rb
cantango-0.9.3.2 lib/cantango/rules/scope.rb
cantango-0.8.9.5 lib/cantango/rules/scope.rb
cantango-0.8.9.4 lib/cantango/rules/scope.rb
cantango-0.8.9.3 lib/cantango/rules/scope.rb
cantango-0.8.9.2 lib/cantango/rules/scope.rb
cantango-0.8.9.1 lib/cantango/rules/scope.rb
cantango-0.8.9 lib/cantango/rules/scope.rb
cantango-0.8.8.1 lib/cantango/rules/scope.rb
cantango-0.8.8 lib/cantango/rules/scope.rb
cantango-0.8.7 lib/cantango/rules/scope.rb