Sha256: 9961a6bbdf8868e4015c6e91c9e62134b02fba082dfe5161189a6cec37e26854

Contents?: true

Size: 605 Bytes

Versions: 3

Compression:

Stored size: 605 Bytes

Contents

module CanTango
  module Dsl
    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|
        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

3 entries across 3 versions & 1 rubygems

Version Path
cantango-api-0.1.2 lib/cantango/api/can/dsl/scope.rb
cantango-api-0.1.1 lib/cantango/api/can/dsl/scope.rb
cantango-api-0.1.0 lib/cantango/api/can/dsl/scope.rb