Class: Redminerb::Projects

Inherits:
Object
  • Object
show all
Defined in:
lib/redminerb/projects.rb

Overview

Projects resource wrapper

Class Method Summary collapse

Class Method Details

.list(params) ⇒ Object

Get Redmine’s projects as OpenStruct objects.

Example:

Redminerb.init!
Redminerb::Projects.list.each do |project|
   puts "#{project.id}: #{project.name}"
end


16
17
18
19
20
21
22
23
24
# File 'lib/redminerb/projects.rb', line 16

def list(params)
  projects = Redminerb.client.get_json('/projects.json', params)['projects']
  if (name = params.delete(:name))
    projects = projects.select {|project| project['name'] =~ /#{name}/i}
  end
  projects.map do |project|
    OpenStruct.new project
  end
end

.read(id) ⇒ Object

Get an project’s info as an OpenStruct object.

Example:

Redminerb.init!
project = Redminerb::Projects.read(34)
puts "#{project.id}: #{project.name}"


33
34
35
# File 'lib/redminerb/projects.rb', line 33

def read(id)
  RecursiveOpenStruct.new Redminerb.client.get_json("/projects/#{id}.json")['project']
end