Class: RedmineRest::Models::Project

Inherits:
ActiveResource::Base show all
Defined in:
lib/redmine_rest/models/project.rb

Overview

Project model

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from ActiveResource::Base

find_by_id

Class Method Details

.find(scope, options = {}) ⇒ Object

Adds trackers to request.



22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/redmine_rest/models/project.rb', line 22

def self.find(scope, options = {})
  options[:params] = {} unless options[:params]
  params = options[:params]

  if params[:include]
    params[:include] += ',trackers'
  else # doubling is not bad
    params[:include] = 'trackers'
  end

  super(scope, options)
end

Instance Method Details

#members(options = {}) ⇒ Object



43
44
45
46
47
48
49
50
# File 'lib/redmine_rest/models/project.rb', line 43

def members(options = {})
  users = memberships
          .map { |m| m.user? ? m.user : m.group.reload.users }
          .flatten
  users.map(&:reload) if options[:reload]

  Collections::Base.new(users)
end

#membershipsObject



39
40
41
# File 'lib/redmine_rest/models/project.rb', line 39

def memberships
  Membership.all params: { project_id: id }
end

#versionsObject



35
36
37
# File 'lib/redmine_rest/models/project.rb', line 35

def versions
  Version.all params: { project_id: id }
end