Class: ArtisanArRepository::ProjectRepository

Inherits:
Object
  • Object
show all
Includes:
BaseRepository
Defined in:
lib/artisan-ar-repository/project_repository.rb

Instance Method Summary collapse

Methods included from BaseRepository

#create, #destroy_all, #find, #find_each, #new, #save

Instance Method Details

#add_iteration(project, iteration) ⇒ Object



33
34
35
36
# File 'lib/artisan-ar-repository/project_repository.rb', line 33

def add_iteration(project, iteration)
  project.iterations << iteration
  return iteration
end

#add_member(project, user, owner) ⇒ Object



38
39
40
# File 'lib/artisan-ar-repository/project_repository.rb', line 38

def add_member(project, user, owner)
  Artisan::Repository.member.create(:user_id => user.id, :project_id => project.id , :owner => owner)
end

#archived(*args) ⇒ Object



29
30
31
# File 'lib/artisan-ar-repository/project_repository.rb', line 29

def archived(*args)
  model_class.archived(*args)
end

#create_project_configuration(project) ⇒ Object



67
68
69
# File 'lib/artisan-ar-repository/project_repository.rb', line 67

def create_project_configuration(project)
  project.create_project_configuration
end

#find_by_api_key(id) ⇒ Object



13
14
15
# File 'lib/artisan-ar-repository/project_repository.rb', line 13

def find_by_api_key(id)
  model_class.find_by_api_key(id)
end

#find_by_name(id) ⇒ Object



17
18
19
# File 'lib/artisan-ar-repository/project_repository.rb', line 17

def find_by_name(id)
  model_class.find_by_name(id)
end

#is_member?(project, user) ⇒ Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/artisan-ar-repository/project_repository.rb', line 46

def is_member?(project, user)
  return !membership_for(project, user).nil?
end

#is_owner?(project, user) ⇒ Boolean

Returns:

  • (Boolean)


50
51
52
53
# File 'lib/artisan-ar-repository/project_repository.rb', line 50

def is_owner?(project, user)
  return false if project.nil? || not_a_member_of?(project, user)
  return membership_for(project, user).owner?
end

#membership_for(project, user) ⇒ Object



59
60
61
# File 'lib/artisan-ar-repository/project_repository.rb', line 59

def membership_for(project, user)
  return project.members.find_by_user_id(user.id)
end

#model_classObject



9
10
11
# File 'lib/artisan-ar-repository/project_repository.rb', line 9

def model_class
  ::Project
end

#not_a_member_of?(project, user) ⇒ Boolean

Returns:

  • (Boolean)


55
56
57
# File 'lib/artisan-ar-repository/project_repository.rb', line 55

def not_a_member_of?(project, user)
  return membership_for(project, user).nil?
end

#order_by_name(*args) ⇒ Object



21
22
23
# File 'lib/artisan-ar-repository/project_repository.rb', line 21

def order_by_name(*args)
  model_class.order_by_name(*args)
end

#owners(project) ⇒ Object



63
64
65
# File 'lib/artisan-ar-repository/project_repository.rb', line 63

def owners(project)
  project.members.find_all_by_owner(true).collect(&:user)
end

#remove_member(project, user) ⇒ Object



42
43
44
# File 'lib/artisan-ar-repository/project_repository.rb', line 42

def remove_member(project, user)
  membership_for(project, user).destroy
end

#unarchived(*args) ⇒ Object



25
26
27
# File 'lib/artisan-ar-repository/project_repository.rb', line 25

def unarchived(*args)
  model_class.unarchived(*args)
end