bones-rspec 1.1.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
-