Sha256: 330508eebeb5670e5f13d4ce81fdc93eab4901fc230fe0fe3c7f4835a7b976b8

Contents?: true

Size: 868 Bytes

Versions: 1

Compression:

Stored size: 868 Bytes

Contents

module Users
  module Model
    ##
    # Model for managing permissions.
    #
    # @since  0.3
    #
    class Permission < Sequel::Model
      include Zen::Model::Helper

      many_to_one :user      , :class => 'Users::Model::User'
      many_to_one :user_group, :class => 'Users::Model::UserGroup'

      ##
      # Validates the model's attributes before saving it.
      #
      # @since  0.3
      #
      def validate
        validates_presence(:permission)

        if self.user_id.nil?
          validates_presence(:user_group_id)
        else
          validates_presence(:user_id)
        end
      end

      ##
      # Hook that is executed before creating or saving an object.
      #
      # @since 2012-01-03
      #
      def before_save
        sanitize_fields([:permission])

        super
      end
    end # Permission
  end # Model
end # Users

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
zen-0.4.3 lib/zen/package/users/lib/users/model/permission.rb