To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.
root / test / exemplars / project_exemplar.rb @ 441:cbce1fd3b1b7
History | View | Annotate | Download (810 Bytes)
| 1 |
class Project < ActiveRecord::Base |
|---|---|
| 2 |
generator_for :name, :method => :next_name |
| 3 |
generator_for :identifier, :method => :next_identifier_from_object_daddy |
| 4 |
generator_for :enabled_modules, :method => :all_modules |
| 5 |
generator_for :trackers, :method => :next_tracker |
| 6 |
|
| 7 |
def self.next_name |
| 8 |
@last_name ||= 'Project 0' |
| 9 |
@last_name.succ!
|
| 10 |
@last_name
|
| 11 |
end
|
| 12 |
|
| 13 |
# Project#next_identifier is defined on Redmine
|
| 14 |
def self.next_identifier_from_object_daddy |
| 15 |
@last_identifier ||= 'project-0000' |
| 16 |
@last_identifier.succ!
|
| 17 |
@last_identifier
|
| 18 |
end
|
| 19 |
|
| 20 |
def self.all_modules |
| 21 |
[].tap do |modules|
|
| 22 |
Redmine::AccessControl.available_project_modules.each do |name| |
| 23 |
modules << EnabledModule.new(:name => name.to_s) |
| 24 |
end
|
| 25 |
end
|
| 26 |
end
|
| 27 |
|
| 28 |
def self.next_tracker |
| 29 |
[Tracker.generate!]
|
| 30 |
end
|
| 31 |
end
|