bones-rspec 1.1.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,18 @@
1
+ # The list of files that should be ignored by Mr Bones.
2
+ # Lines that start with '#' are comments.
3
+ #
4
+ # A .gitignore file can be used instead by setting it as the ignore
5
+ # file in your Rakefile:
6
+ #
7
+ # Bones {
8
+ # ignore_file '.gitignore'
9
+ # }
10
+ #
11
+ # For a project with a C extension, the following would be a good set of
12
+ # exclude patterns (uncomment them if you want to use them):
13
+ # *.[oa]
14
+ # *~
15
+ announcement.txt
16
+ coverage
17
+ doc
18
+ pkg
data/History.txt CHANGED
@@ -1,3 +1,8 @@
1
+ == 2.0.0 / 2011-02-05
2
+
3
+ Major Enhancements
4
+ - Both versions of RSpec are handled by this plugin (versions 1.3 and 2.0)
5
+
1
6
  == 1.1.0 / 2010-10-26
2
7
 
3
8
  * 1 minor enhancement
@@ -1,20 +1,35 @@
1
- bones-rspec
2
- by Tim Pease
3
- http://rubygems.org/gems/bones-rspec
1
+ # bones-rspec
4
2
 
5
- == DESCRIPTION:
3
+ A plugin for [Mr Bones](http://rugyems.org/gems/bones) that incorporates rake
4
+ tasks for running RSpec style tests.
5
+
6
+ ## DESCRIPTION
6
7
 
7
8
  The rspec package for Mr Bones provides tasks to incorporate rspec tests into
8
9
  bones based projects. It also works in tandem with the bones-rcov plugin to
9
10
  run code coverage over your specs.
10
11
 
11
- == INSTALL:
12
+ This plugin is compatible with both RSpec version 1 and RSpec version 2. If
13
+ you have both RSpec versions installed this plugin will favor the newer
14
+ version of RSpec. To force use of the older RSpec version, use the **gem**
15
+ command in your Rakefile to load the appropriate version.
16
+
17
+ gem 'rspec', '~> 1.3.0'
18
+
19
+ Bones {
20
+ name 'my-awesome-gem'
21
+ ...
22
+ }
23
+
24
+ The gem command must appear before the Bones configuration block.
25
+
26
+ ## INSTALL
12
27
 
13
- gem install bones-rspec
28
+ gem install bones-rspec
14
29
 
15
- == LICENSE:
30
+ #### LICENSE
16
31
 
17
- (The MIT License)
32
+ *The MIT License*
18
33
 
19
34
  Copyright (c) 2010
20
35
 
data/Rakefile CHANGED
@@ -10,10 +10,9 @@ Bones {
10
10
  authors 'Tim Pease'
11
11
  email 'tim.pease@gmail.com'
12
12
  url 'http://github.com/TwP/bones-rspec'
13
- ignore_file '.gitignore'
14
13
 
15
14
  depend_on 'bones'
16
- depend_on 'rspec', '~> 1'
15
+ depend_on 'rspec'
17
16
 
18
17
  use_gmail
19
18
  }
@@ -0,0 +1,41 @@
1
+
2
+ module Bones::Plugins::Rspec
3
+ include ::Bones::Helpers
4
+ extend self
5
+
6
+ def initialize_rspec
7
+ gemspec = Gem.loaded_specs['rspec']
8
+
9
+ if gemspec
10
+ version = gemspec.version.segments.first
11
+ path = File.expand_path("../../rspec/rspec_version#{version}", __FILE__)
12
+ require path
13
+
14
+ @delegate = Bones::Rspec.const_get "RspecVersion#{version}"
15
+ have?(:rspec) { @delegate.initialize_rspec }
16
+ else
17
+ version = 2
18
+ while (version > 0)
19
+ path = File.expand_path("../../rspec/rspec_version#{version}", __FILE__)
20
+ require path
21
+
22
+ @delegate = Bones::Rspec.const_get "RspecVersion#{version}"
23
+ have?(:rspec) { @delegate.initialize_rspec }
24
+ break if have? :rspec
25
+ version -= 1
26
+ end
27
+ end
28
+ end
29
+
30
+ def post_load
31
+ return unless have? :rspec
32
+ @delegate.post_load
33
+ end
34
+
35
+ def define_tasks
36
+ return unless have? :rspec
37
+ @delegate.define_tasks
38
+ end
39
+
40
+ end # Bones::Plugins::Rspec
41
+
@@ -0,0 +1,87 @@
1
+
2
+ module Bones::Rspec
3
+
4
+ module RspecVersion1
5
+ include ::Bones::Helpers
6
+ extend self
7
+
8
+ def initialize_rspec
9
+ require 'spec/rake/spectask'
10
+
11
+ ::Bones.config {
12
+ desc 'Configuration settings for the RSpec test framework.'
13
+ spec {
14
+ files FileList['spec/**/*_spec.rb'], :desc => <<-__
15
+ The list of spec files to run. This defaults to all the ruby fines
16
+ in the 'spec' directory that end with '_spec.rb' as their filename.
17
+ __
18
+
19
+ opts [], :desc => <<-__
20
+ An array of command line options that will be passed to the rspec
21
+ command when running your tests. See the RSpec help documentation
22
+ either online or from the command line by running 'spec --help'.
23
+
24
+ Options can also be defined in the "spec/spec.opts" file. Please
25
+ leave this opts array empty if you prefer to use the spec.opts file
26
+ instead. However, both can be used in conjunction; watch out for
27
+ options colliions.
28
+ __
29
+ }
30
+ }
31
+ return true
32
+
33
+ rescue LoadError
34
+ return false
35
+ end
36
+
37
+ def post_load
38
+ config = ::Bones.config
39
+ have?(:rspec) { !config.spec.files.to_a.empty? }
40
+ end
41
+
42
+ def define_tasks
43
+ config = ::Bones.config
44
+
45
+ namespace :spec do
46
+ desc 'Run all specs with basic output'
47
+ Spec::Rake::SpecTask.new(:run) do |t|
48
+ t.ruby_opts = config.ruby_opts
49
+ t.spec_opts = config.spec.opts unless config.spec.opts.empty?
50
+ t.spec_files = config.spec.files
51
+ t.libs += config.libs
52
+ end
53
+
54
+ if have? :rcov
55
+ require 'spec/rake/verify_rcov'
56
+
57
+ desc 'Run all specs with Rcov'
58
+ Spec::Rake::SpecTask.new(:rcov) do |t|
59
+ t.ruby_opts = config.ruby_opts
60
+ t.spec_opts = config.spec.opts unless config.spec.opts.empty?
61
+ t.spec_files = config.spec.files
62
+ t.libs += config.libs
63
+ t.rcov = true
64
+ t.rcov_dir = config.rcov.dir
65
+ t.rcov_opts.concat(config.rcov.opts)
66
+ end
67
+
68
+ RCov::VerifyTask.new(:verify) do |t|
69
+ t.threshold = config.rcov.threshold
70
+ t.index_html = File.join(config.rcov.dir, 'index.html')
71
+ t.require_exact_threshold = config.rcov.threshold_exact
72
+ end
73
+
74
+ task :verify => :rcov
75
+ remove_desc_for_task %w(spec:clobber_rcov)
76
+ end
77
+ end # namespace :spec
78
+
79
+ desc 'Alias to spec:run'
80
+ task :spec => 'spec:run'
81
+
82
+ task :clobber => 'spec:clobber_rcov' if have? :rcov
83
+ end
84
+
85
+ end # RspecVersion1
86
+ end # Bones::Rspec
87
+
@@ -0,0 +1,85 @@
1
+
2
+ module Bones::Rspec
3
+
4
+ module RspecVersion2
5
+ include ::Bones::Helpers
6
+ extend self
7
+
8
+ def initialize_rspec
9
+ require 'rspec/core/rake_task'
10
+
11
+ ::Bones.config {
12
+ desc 'Configuration settings for the RSpec test framework.'
13
+ spec {
14
+ files 'spec/**/*_spec.rb', :desc => <<-__
15
+ Glob pattern used to match spec files to run. This defaults to all
16
+ the ruby fines in the 'spec' directory that end with '_spec.rb' as
17
+ their filename.
18
+ __
19
+
20
+ opts [], :desc => <<-__
21
+ An array of command line options that will be passed to the rspec
22
+ command when running your tests. See the RSpec help documentation
23
+ either online or from the command line by running 'spec --help'.
24
+
25
+ Options can also be defined in the "spec/spec.opts" file. Please
26
+ leave this opts array empty if you prefer to use the spec.opts file
27
+ instead. However, both can be used in conjunction; watch out for
28
+ options colliions.
29
+ __
30
+ }
31
+ }
32
+ return true
33
+
34
+ rescue LoadError
35
+ return false
36
+ end
37
+
38
+ def post_load
39
+ config = ::Bones.config
40
+ have?(:rspec) { !FileList[config.spec.files].to_a.empty? }
41
+ end
42
+
43
+ def define_tasks
44
+ config = ::Bones.config
45
+
46
+ namespace :spec do
47
+ desc 'Run all specs with basic output'
48
+ ::RSpec::Core::RakeTask.new(:run) do |t|
49
+ t.ruby_opts = config.ruby_opts
50
+ t.rspec_opts = config.spec.opts unless config.spec.opts.empty?
51
+ t.pattern = config.spec.files
52
+ end
53
+
54
+ if have? :rcov
55
+ desc 'Run all specs with Rcov'
56
+ ::RSpec::Core::RakeTask.new(:rcov) do |t|
57
+ t.ruby_opts = config.ruby_opts
58
+ t.rspec_opts = config.spec.opts unless config.spec.opts.empty?
59
+ t.pattern = config.spec.files
60
+
61
+ t.rcov = true
62
+ t.rcov_path = config.rcov.path
63
+
64
+ rcov_opts = []
65
+ rcov_opts.concat config.rcov.opts
66
+ rcov_opts << '--output' << config.rcov.dir if config.rcov.dir
67
+
68
+ t.rcov_opts = rcov_opts
69
+ end
70
+
71
+ task :clobber_rcov do
72
+ rm_r config.rcov.dir rescue nil
73
+ end
74
+ end
75
+ end # namespace :spec
76
+
77
+ desc 'Alias to spec:run'
78
+ task :spec => 'spec:run'
79
+
80
+ task :clobber => 'spec:clobber_rcov' if have? :rcov
81
+ end
82
+
83
+ end # RspecVersion2
84
+ end # Bones::Rspec
85
+
data/version.txt CHANGED
@@ -1 +1 @@
1
- 1.1.0
1
+ 2.0.0
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bones-rspec
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 15
5
5
  prerelease: false
6
6
  segments:
7
- - 1
8
- - 1
7
+ - 2
9
8
  - 0
10
- version: 1.1.0
9
+ - 0
10
+ version: 2.0.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Tim Pease
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-26 00:00:00 -06:00
18
+ date: 2011-02-05 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -24,14 +24,14 @@ dependencies:
24
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ">="
27
+ - - "="
28
28
  - !ruby/object:Gem::Version
29
- hash: 19
29
+ hash: 25
30
30
  segments:
31
31
  - 3
32
- - 5
33
- - 0
34
- version: 3.5.0
32
+ - 6
33
+ - 3
34
+ version: 3.6.3
35
35
  type: :runtime
36
36
  version_requirements: *id001
37
37
  - !ruby/object:Gem::Dependency
@@ -40,12 +40,14 @@ dependencies:
40
40
  requirement: &id002 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
- - - ~>
43
+ - - "="
44
44
  - !ruby/object:Gem::Version
45
- hash: 1
45
+ hash: 25
46
46
  segments:
47
47
  - 1
48
- version: "1"
48
+ - 3
49
+ - 1
50
+ version: 1.3.1
49
51
  type: :runtime
50
52
  version_requirements: *id002
51
53
  - !ruby/object:Gem::Dependency
@@ -56,18 +58,17 @@ dependencies:
56
58
  requirements:
57
59
  - - ">="
58
60
  - !ruby/object:Gem::Version
59
- hash: 19
61
+ hash: 25
60
62
  segments:
61
63
  - 3
62
- - 5
63
- - 0
64
- version: 3.5.0
64
+ - 6
65
+ - 3
66
+ version: 3.6.3
65
67
  type: :development
66
68
  version_requirements: *id003
67
69
  description: |-
68
- The rspec package for Mr Bones provides tasks to incorporate rspec tests into
69
- bones based projects. It also works in tandem with the bones-rcov plugin to
70
- run code coverage over your specs.
70
+ A plugin for [Mr Bones](http://rugyems.org/gems/bones) that incorporates rake
71
+ tasks for running RSpec style tests.
71
72
  email: tim.pease@gmail.com
72
73
  executables: []
73
74
 
@@ -75,13 +76,14 @@ extensions: []
75
76
 
76
77
  extra_rdoc_files:
77
78
  - History.txt
78
- - README.txt
79
- - version.txt
80
79
  files:
80
+ - .gitignore
81
81
  - History.txt
82
- - README.txt
82
+ - README.md
83
83
  - Rakefile
84
- - lib/bones/plugins/spec.rb
84
+ - lib/bones/plugins/rspec.rb
85
+ - lib/bones/rspec/rspec_version1.rb
86
+ - lib/bones/rspec/rspec_version2.rb
85
87
  - version.txt
86
88
  has_rdoc: true
87
89
  homepage: http://github.com/TwP/bones-rspec
@@ -90,7 +92,7 @@ licenses: []
90
92
  post_install_message:
91
93
  rdoc_options:
92
94
  - --main
93
- - README.txt
95
+ - README.md
94
96
  require_paths:
95
97
  - lib
96
98
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -117,6 +119,6 @@ rubyforge_project: bones-rspec
117
119
  rubygems_version: 1.3.7
118
120
  signing_key:
119
121
  specification_version: 3
120
- summary: The rspec package for Mr Bones provides tasks to incorporate rspec tests into bones based projects
122
+ summary: A plugin for [Mr Bones](http://rugyems.
121
123
  test_files: []
122
124
 
@@ -1,84 +0,0 @@
1
-
2
- module Bones::Plugins::Spec
3
- include ::Bones::Helpers
4
- extend self
5
-
6
- def initialize_spec
7
- require 'spec/rake/spectask'
8
- have?(:spec) { true }
9
-
10
- ::Bones.config {
11
- desc 'Configuration settings for the RSpec test framework.'
12
- spec {
13
- files FileList['spec/**/*_spec.rb'], :desc => <<-__
14
- The list of spec files to run. This defaults to all the ruby fines
15
- in the 'spec' directory that end with '_spec.rb' as their filename.
16
- __
17
-
18
- opts [], :desc => <<-__
19
- An array of command line options that will be passed to the spec
20
- command when running your tests. See the RSpec help documentation
21
- either online or from the command line by running 'spec --help'.
22
-
23
- Options can also be defined in the "spec/spec.opts" file. Please
24
- leave this opts array empty if you prefer to use the spec.opts file
25
- instead.
26
- __
27
- }
28
- }
29
- rescue LoadError
30
- have?(:spec) { false }
31
- end
32
-
33
- def post_load
34
- return unless have? :spec
35
- config = ::Bones.config
36
- have?(:spec) { !config.spec.files.to_a.empty? }
37
- end
38
-
39
- def define_tasks
40
- return unless have? :spec
41
- config = ::Bones.config
42
-
43
- namespace :spec do
44
- desc 'Run all specs with basic output'
45
- Spec::Rake::SpecTask.new(:run) do |t|
46
- t.ruby_opts = config.ruby_opts
47
- t.spec_opts = config.spec.opts unless config.spec.opts.empty?
48
- t.spec_files = config.spec.files
49
- t.libs += config.libs
50
- end
51
-
52
- if have? :rcov
53
- require 'spec/rake/verify_rcov'
54
-
55
- desc 'Run all specs with Rcov'
56
- Spec::Rake::SpecTask.new(:rcov) do |t|
57
- t.ruby_opts = config.ruby_opts
58
- t.spec_opts = config.spec.opts unless config.spec.opts.empty?
59
- t.spec_files = config.spec.files
60
- t.libs += config.libs
61
- t.rcov = true
62
- t.rcov_dir = config.rcov.dir
63
- t.rcov_opts.concat(config.rcov.opts)
64
- end
65
-
66
- RCov::VerifyTask.new(:verify) do |t|
67
- t.threshold = config.rcov.threshold
68
- t.index_html = File.join(config.rcov.dir, 'index.html')
69
- t.require_exact_threshold = config.rcov.threshold_exact
70
- end
71
-
72
- task :verify => :rcov
73
- remove_desc_for_task %w(spec:clobber_rcov)
74
- end
75
- end # namespace :spec
76
-
77
- desc 'Alias to spec:run'
78
- task :spec => 'spec:run'
79
-
80
- task :clobber => 'spec:clobber_rcov' if have? :rcov
81
- end
82
-
83
- end # module Bones::Plugins::Spec
84
-