Sha256: d9ce3350e64b0e170576c11d3e30e4799047694d3866bd91088e9e7c8da63b4d

Contents?: true

Size: 921 Bytes

Versions: 4

Compression:

Stored size: 921 Bytes

Contents

#:nodoc:
module Users
  #:nodoc:
  module Model
    ##
    # Model that represents a single access rule. This model has the following
    # relations:
    #
    # * users (many to one)
    # * user groups (many to one)
    #
    # @author Yorick Peterse
    # @since  0.1
    #
    class AccessRule < Sequel::Model
      many_to_one :user      , :class => "Users::Model::User"
      many_to_one :user_group, :class => "Users::Model::UserGroup"
      
      ##
      # Validation rules used when creating or updating an access rule.
      #
      # @author Yorick Peterse
      # @since  0.1
      #
      def validate
        validates_presence([
          :package, :controller, :create_access, :read_access, :update_access, 
          :delete_access
        ])

        validates_type(
          TrueClass, 
          [:create_access, :read_access, :update_access, :delete_access]
        )
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
zen-0.2.7 lib/zen/package/users/lib/users/model/access_rule.rb
zen-0.2.6.1 lib/zen/package/users/lib/users/model/access_rule.rb
zen-0.2.6 lib/zen/package/users/lib/users/model/access_rule.rb
zen-0.2.5 lib/zen/package/users/lib/users/model/access_rule.rb