forked from olbrich/ruby-units
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Rakefile.rb
91 lines (75 loc) · 2.76 KB
/
Rakefile.rb
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
83
84
85
86
87
88
89
90
91
require 'rubygems'
require 'rake'
require 'rake/testtask'
require './lib/ruby-units'
begin
require 'jeweler'
Jeweler::Tasks.new do |gem|
gem.name = "ruby-units"
gem.summary = %Q{A class that performs unit conversions and unit math}
gem.description = %Q{Provides classes and methods to perform unit math and conversions}
gem.authors = ["Kevin Olbrich, Ph.D."]
gem.email = ["[email protected]"]
gem.homepage = "https://github.com/olbrich/ruby-units"
gem.files.exclude(".*","test/**/*","spec/**/*","autotest/**/*", "Gemfile")
gem.license = "MIT"
gem.post_install_message = <<-EOS
====================
Deprecation Warning
====================
Several convenience methods that ruby-units added to the string class have
been deprecated in this release. These methods include String#to, String#from, String#ago, String#before and others.
If your code relies on these functions, they can be added back by adding this line to your code.
require 'ruby-units/string/extras'
# note that these methods do not play well with Rails, which is one of the reasons they are being removed.
The extra functions mostly work the same, but will no longer properly handle cases when they are called with strings..
'min'.from("4-1-2011") # => Exception
Pass in a Date, Time, or DateTime object to get the expected result.
They will go away completely in the next release, so it would be a good idea to refactor your code
to avoid using them. They will also throw deprecation warnings when they are used.
EOS
end
Jeweler::GemcutterTasks.new
rescue LoadError
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
end
begin
require 'simplecov'
desc "code coverage report using simplecov (ruby 1.9+)"
task :simplecov do
ENV['COVERAGE']='true'
Rake::Task['spec'].invoke
end
rescue LoadError
end
begin
require 'rspec/core/rake_task'
desc "Run specs"
RSpec::Core::RakeTask.new do |spec|
puts
# puts %x{rvm current}
puts
end
desc "Run all specs with rcov"
RSpec::Core::RakeTask.new("spec:rcov") do |t|
t.rcov = true
t.rcov_opts = %w{--exclude osx\/objc,gems\/,spec\/,features\/}
end
rescue LoadError
end
task :specs => :spec
rubies = {
"ruby-1.8.7" => %w{ruby-1.8.7-p357@ruby-units ruby-1.8.7-p357@ruby-units-with-chronic},
"ruby-1.9.2" => %w{ruby-1.9.2-p290@ruby-units ruby-1.9.2-p290@ruby-units-with-chronic},
"rbx" => %w{rbx-head@ruby-units},
"jruby" => %w{jruby-1.6.7@ruby-units}
}
rubies.each do |name, ruby|
desc "Run Spec against #{name}"
task "spec:#{name}" do
sh "rvm #{ruby.join(',')} do rake spec"
end
end
desc "Run specs against several ruby versions, requires rvm"
task "spec:all" => rubies.keys.map {|name| "spec:#{name}"}
task :default => :spec