-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathRakefile
50 lines (43 loc) · 1.54 KB
/
Rakefile
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
require 'bundler/setup'
require 'bundler/gem_tasks'
require 'appraisal'
require 'rspec/core/rake_task'
require 'coveralls/rake/task'
require 'yard'
require 'yard-rspec'
Coveralls::RakeTask.new
RSpec::Core::RakeTask.new(:spec) do |spec|
spec.rspec_opts = ['--backtrace '] if ENV['DEBUG']
spec.verbose = true
end
desc 'Default: run the unit tests.'
task default: [:all]
desc 'Test the plugin under all supported Rails versions.'
task :all do |_t|
if ENV['TRAVIS']
# require 'json'
# puts JSON.pretty_generate(ENV.to_hash)
if ENV['BUNDLE_GEMFILE'] =~ /gemfiles/
appraisal_name = ENV['BUNDLE_GEMFILE'].scan(/rails_(.*)\.gemfile/).flatten.first
command_prefix = "appraisal rails-#{appraisal_name}"
exec ("#{command_prefix} bundle install && #{command_prefix} bundle exec rspec && bundle exec rake coveralls:push ")
else
exec(' bundle exec appraisal install && bundle exec rake appraisal spec && bundle exec rake coveralls:push')
end
else
exec('bundle exec appraisal install && bundle exec rake appraisal spec')
end
end
YARD::Config.options[:load_plugins] = true
YARD::Config.load_plugins
::Rake.application.class.class_eval do
alias_method :last_comment, :last_description
end
YARD::Rake::YardocTask.new do |t|
t.files = %w(lib/**/*.rb spec/**/*_spec.rb) # optional
t.options = %w(--any --extra --opts --markup-provider=redcarpet --markup=markdown --debug) # optional
t.stats_options = ['--list-undoc'] # optional
end
task :docs do
exec('bundle exec inch --pedantic && bundle exec yard --list-undoc')
end