Sha256: a88a372142691472dd093c701b1a12624e6243cb9da5141aebc031fc00e6a745

Contents?: true

Size: 843 Bytes

Versions: 31

Compression:

Stored size: 843 Bytes

Contents

module Saucy
  module User
    extend ActiveSupport::Concern

    included do
      attr_accessible :name, :project_ids, :email, :password
      has_many :memberships
      has_many :accounts, :through => :memberships
      has_many :permissions
      has_many :projects, :through => :permissions
      validates_presence_of :name
    end

    module InstanceMethods
      def admin_of?(account)
        memberships.exists?(:account_id => account.id, :admin => true)
      end

      def member_of?(account_or_project)
        account_or_project.has_member?(self)
      end
    end

    module ClassMethods
      def search(query)
        return [] if query.nil?
        where ['users.email like :query or users.name like :query', { :query => "%#{query}%" }]
      end
      def by_name
        order('users.name')
      end
    end
  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
saucy-0.15.2 lib/saucy/user.rb
saucy-0.15.1 lib/saucy/user.rb
saucy-0.15.0 lib/saucy/user.rb
saucy-0.14.5 lib/saucy/user.rb
saucy-0.14.3 lib/saucy/user.rb
saucy-0.10.10 lib/saucy/user.rb
saucy-0.14.2 lib/saucy/user.rb
saucy-0.14.1 lib/saucy/user.rb
saucy-0.14.0 lib/saucy/user.rb
saucy-0.13.3 lib/saucy/user.rb
saucy-0.13.2 lib/saucy/user.rb
saucy-0.10.9 lib/saucy/user.rb
saucy-0.10.8 lib/saucy/user.rb
saucy-0.13.1 lib/saucy/user.rb
saucy-0.13.0 lib/saucy/user.rb
saucy-0.12.5 lib/saucy/user.rb
saucy-0.12.4 lib/saucy/user.rb
saucy-0.12.3 lib/saucy/user.rb
saucy-0.12.2 lib/saucy/user.rb
saucy-0.12.1 lib/saucy/user.rb