Skip to content

Commit 2614037

Browse files
author
Theo Cushion
committed
Feature: Added Ruby 1.8 support
1 parent 464ffdf commit 2614037

File tree

5 files changed

+57
-17
lines changed

5 files changed

+57
-17
lines changed

Rakefile

+39-11
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,47 @@
11
require 'bundler/gem_tasks'
2+
require 'rake'
3+
require 'rspec/core/rake_task'
24

3-
namespace :cover_me do
5+
RCOV = RUBY_VERSION.to_f == 1.8
6+
7+
namespace :spec do
8+
9+
RSpec::Core::RakeTask.new(:coverage) do |t|
10+
t.pattern = 'spec/**/*_spec.rb'
11+
12+
if RCOV
13+
t.rcov = true
14+
t.rcov_opts = '--exclude osx\/objc,spec,gems\/'
15+
end
16+
end
417

5-
desc "Generates and opens code coverage report."
6-
task :report do
7-
require 'cover_me'
8-
CoverMe.complete!
18+
RSpec::Core::RakeTask.new(:normal) do |t|
19+
t.pattern ='spec/**/*_spec.rb'
20+
t.rcov = false
21+
end
22+
23+
namespace :coverage do
24+
desc "Cleanup coverage data"
25+
task :cleanup do
26+
rm_rf 'coverage.data'
27+
rm_rf 'coverage'
28+
end
29+
30+
desc "Browse the code coverage report."
31+
task :report => ["spec:coverage:cleanup", "spec:coverage"] do
32+
if RCOV
33+
require "launchy"
34+
Launchy.open("coverage/index.html")
35+
else
36+
require 'cover_me'
37+
CoverMe.complete!
38+
end
39+
end
940
end
1041

1142
end
1243

13-
task :test do
14-
Rake::Task['cover_me:report'].invoke
15-
end
44+
desc "RSpec tests"
45+
task "spec" => "spec:normal"
1646

17-
task :spec do
18-
Rake::Task['cover_me:report'].invoke
19-
end
47+
task "default" => "spec"

draper.gemspec

+8-2
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,15 @@ Gem::Specification.new do |s|
2222
s.add_development_dependency "rspec", "~> 2.0.1"
2323
s.add_development_dependency "activesupport", "~> 3.0.9"
2424
s.add_development_dependency "actionpack", "~> 3.0.9"
25-
s.add_development_dependency "ruby-debug19"
2625
s.add_development_dependency "guard"
2726
s.add_development_dependency "guard-rspec"
2827
s.add_development_dependency "rb-fsevent"
29-
s.add_development_dependency 'cover_me', '>= 1.0.0.rc6'
28+
if RUBY_VERSION.to_f == "1.8"
29+
s.add_development_dependency "ruby-debug"
30+
s.add_development_dependency "rcov"
31+
s.add_development_dependency "launchy"
32+
else
33+
s.add_development_dependency "ruby-debug19"
34+
s.add_development_dependency 'cover_me', '>= 1.0.0.rc6'
35+
end
3036
end

lib/draper/all_helpers.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def _routes
3131
def url_for(*args)
3232
if args.last.is_a?(Hash) && !args.last[:only_path]
3333
args = args.dup
34-
args << args.pop.merge(host: ActionMailer::Base.default_url_options[:host])
34+
args << args.pop.merge('host' => ActionMailer::Base.default_url_options[:host])
3535
end
3636
super(*args)
3737
end

lib/draper/base.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ def to_model
5858

5959
private
6060
def select_methods
61-
specified = self.allowed || (model.public_methods - denied)
62-
(specified - self.public_methods) + FORCED_PROXY
61+
specified = self.allowed || (model.public_methods.map{|s| s.to_sym} - denied.map{|s| s.to_sym})
62+
(specified - self.public_methods.map{|s| s.to_sym}) + FORCED_PROXY
6363
end
6464

6565
def build_methods

spec/spec_helper.rb

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
require 'rubygems'
22
require 'bundler'
3-
require 'cover_me'
3+
4+
require 'rspec'
5+
begin
6+
require 'cover_me'
7+
rescue LoadError
8+
# Silently fail
9+
end
410
require './spec/samples/application_helper.rb'
511
Bundler.require
612
Dir.glob('./spec/samples/*') {|file| require file}

0 commit comments

Comments
 (0)