Sha256: 1374179091ea5355cf558d6b910ee15610388f0b27036206bd9b64610a76ac16

Contents?: true

Size: 822 Bytes

Versions: 3

Compression:

Stored size: 822 Bytes

Contents

module RestPack::Group::Service::Models
  class Group < ActiveRecord::Base
    self.table_name = :restpack_groups

    attr_accessible :application_id, :account_id, :created_by, :name, :description, :invitation_required
    validates_presence_of :application_id, :created_by, :name

    validates :name, :length => { :maximum => 256 }
    validates :description, :length => { :maximum => 1024 }

    has_many :memberships
    has_many :invitations

    after_initialize :set_defaults
    after_create :create_default_member

    private

    def set_defaults
      self.invitation_required ||= false
    end

    def create_default_member
      self.memberships << Membership.new(
        user_id: self.created_by,
        application_id: self.application_id,
        account_id: self.account_id
      )
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
restpack_group_service-0.0.7 lib/restpack_group_service/models/group.rb
restpack_group_service-0.0.6 lib/restpack_group_service/models/group.rb
restpack_group_service-0.0.5 lib/restpack_group_service/models/group.rb