Sha256: 0c32272ab86db0c67dabdc1b6c46750efcb72234ca590c5549f4a34437fcf2a7

Contents?: true

Size: 902 Bytes

Versions: 4

Compression:

Stored size: 902 Bytes

Contents

#:nodoc:
module Users
  #:nodoc:
  module Models
    ##
    # 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::Models::User"
      many_to_one :user_group, :class => "Users::Models::UserGroup"
      
      ##
      # Validation rules used when creating or updating an access rule.
      #
      # @author Yorick Peterse
      # @since  0.1
      #
      def validate
        validates_presence(
          [:extension, :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.4.1 lib/zen/package/users/lib/users/model/access_rule.rb
zen-0.2.4 lib/zen/package/users/lib/users/model/access_rule.rb
zen-0.2.3 lib/zen/package/users/lib/users/model/access_rule.rb
zen-0.2 lib/zen/package/users/lib/users/model/access_rule.rb