public
Description: Fixture replacement for focused and readable tests.
Homepage: http://thoughtbot.com/projects/factory_girl
Clone URL: git://github.com/thoughtbot/factory_girl.git
factory_girl / Rakefile
100644 82 lines (66 sloc) 2.387 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
require 'rubygems'
require 'rake'
require 'rake/rdoctask'
require 'rake/gempackagetask'
require 'rcov/rcovtask'
require 'date'
 
require 'spec/rake/spectask'
require 'cucumber/rake/task'
 
desc 'Default: run the specs and features.'
task :default => [:spec, :features]
 
Spec::Rake::SpecTask.new do |t|
  t.spec_opts = ['--options', "spec/spec.opts"]
end
 
desc 'Performs code coverage on the factory_girl plugin.'
Rcov::RcovTask.new do |t|
  t.test_files = FileList['spec/*_spec.rb']
  t.verbose = true
end
 
desc 'Generate documentation for the factory_girl plugin.'
Rake::RDocTask.new(:rdoc) do |rdoc|
  rdoc.rdoc_dir = 'rdoc'
  rdoc.title = 'Factory Girl'
  rdoc.options << '--line-numbers' << "--main" << "README.rdoc"
  rdoc.rdoc_files.include('README.rdoc')
  rdoc.rdoc_files.include('CONTRIBUTION_GUIDELINES.rdoc')
  rdoc.rdoc_files.include('lib/**/*.rb')
end
 
desc 'Update documentation on website'
task :sync_docs => 'rdoc' do
  `rsync -ave ssh rdoc/ dev@dev.thoughtbot.com:/home/dev/www/dev.thoughtbot.com/factory_girl`
end
 
spec = Gem::Specification.new do |s|
  s.name = %q{factory_girl}
  s.version = "1.2.3"
  s.summary = %q{factory_girl provides a framework and DSL for defining and
using model instance factories.}
  s.description = %q{factory_girl provides a framework and DSL for defining and
using factories - less error-prone, more explicit, and
all-around easier to work with than fixtures.}
 
  s.files = FileList['[A-Z]*', 'lib/**/*.rb', 'spec/**/*.rb']
  s.require_path = 'lib'
  s.test_files = Dir[*['spec/**/*_spec.rb']]
 
  s.has_rdoc = true
  s.extra_rdoc_files = ["README.rdoc"]
  s.rdoc_options = ['--line-numbers', "--main", "README.rdoc"]
 
  s.authors = ["Joe Ferris"]
  s.email = %q{jferris@thoughtbot.com}
  s.homepage = "http://thoughtbot.com/projects/factory_girl"
 
  s.platform = Gem::Platform::RUBY
end
 
Rake::GemPackageTask.new spec do |pkg|
  pkg.need_tar = true
  pkg.need_zip = true
end
 
desc "Clean files generated by rake tasks"
task :clobber => [:clobber_rdoc, :clobber_package]
 
desc "Generate a gemspec file"
task :gemspec do
  File.open("#{spec.name}.gemspec", 'w') do |f|
    f.write spec.to_ruby
  end
end
 
Cucumber::Rake::Task.new(:features) do |t|
  t.fork = true
  t.cucumber_opts = ['--format', (ENV['CUCUMBER_FORMAT'] || 'progress')]
end