rake_tasks 3.0.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ebdca6dc2cdf0c36add2a79641777a56ada03bac
4
- data.tar.gz: 293c0d0f25ef09b92ce62f9afa77afdb4beb4b8e
3
+ metadata.gz: a735e4f7394b774d26d49a3c99b942497f69d3b0
4
+ data.tar.gz: 932919582970123b8a013cbfd48e3bf4bb2e8b89
5
5
  SHA512:
6
- metadata.gz: 8c72429dac0483323866f90b62d46f59807181566a8ff0905910474ec6f65d45e625c778e6a2925c92705b49fd359b9a068777d25fbf572ae61720973b886149
7
- data.tar.gz: b96079c97a75e99e1ca5d0e202df1c2e2814672c44f813f096b31c072681b15b919e6da836a43a6e59e28395203c82f6f01d4c7b30a4ae95cfc8ec56e3575aa6
6
+ metadata.gz: 5158805f5e03073acfaba39a20b1b6a2f3bbc3e0240ea9348b85976d41b080032dfe21679180a401ba91b00291a45ff845d2ebfaeaf381b8ebde05b1e5698798
7
+ data.tar.gz: 9a2c62eccec2e708f6393218cfce6824b44d7c88429d059e7f0276f4083b72efe36b6796ab1634004699aee0cbd57586c477e6061dfa7e2aac510df7e15fbe00
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/lib/rake_tasks.rb CHANGED
@@ -30,6 +30,7 @@
30
30
 
31
31
  require 'fileutils'
32
32
  require 'psych'
33
+ require 'rake'
33
34
 
34
35
  module RakeTasks
35
36
  # Contains the full path to the shell script to run tests in other env's.
@@ -44,17 +45,12 @@ end
44
45
  gem_name = File.basename(__FILE__, '.rb')
45
46
  base_path = File.dirname(__FILE__)
46
47
 
47
- # Require base files.
48
- Dir[File.join(base_path, 'base', '*.rb')].each do |base|
49
- require base
50
- end
51
-
52
- # Require files.
53
48
  Dir[File.join(base_path, gem_name, '*.rb')].each do |lib|
54
49
  require lib
55
50
  end
56
51
 
57
- # Include any rake files in tasks folders.
58
- Dir[File.join(Dir.getwd, '**', 'tasks', '**', '*.rake')].each do |rake_file|
59
- import rake_file
52
+ module RakeTasks
53
+ extend Core
60
54
  end
55
+
56
+ RakeTasks.load_tasks
@@ -0,0 +1,17 @@
1
+ module RakeTasks
2
+ module Core
3
+ def load_tasks
4
+ task_list.each do |rake_file|
5
+ System.import_task rake_file
6
+ end
7
+ end
8
+
9
+ private
10
+
11
+ def task_list
12
+ tasks = System.dir(File.join(System.pwd, 'lib', 'tasks', '**', '*.rake'))
13
+ tasks << System.dir(File.join(System.pwd, 'tasks', '**', '*.rake'))
14
+ tasks.flatten
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,16 @@
1
+ module RakeTasks
2
+ module Dependency
3
+ extend self
4
+
5
+ def loaded?(constant, requirement)
6
+ if ::Kernel::const_defined?(constant)
7
+ return true
8
+ else
9
+ puts "<#{constant}> is not defined.\n"
10
+ puts "Please `require '#{requirement}'` in your application " +
11
+ "before loading the corresponding task."
12
+ return false
13
+ end
14
+ end
15
+ end
16
+ end
@@ -54,16 +54,16 @@ module RakeTasks
54
54
 
55
55
  # Get the gem specification.
56
56
  def gem_spec
57
- Util.load_gemspec(gem_spec_file) if gemspec_file?
57
+ System.load_gemspec(gem_spec_file) if gemspec_file?
58
58
  end
59
59
 
60
60
  # Check for a gem spec file.
61
61
  def gem_spec_file
62
- Util.dir_glob('*.gemspec').first
62
+ System.dir_glob('*.gemspec').first
63
63
  end
64
64
 
65
65
  def gem_file
66
- @gem_file ||= Util.dir_glob('*.gem').first
66
+ @gem_file ||= System.dir_glob('*.gem').first
67
67
  end
68
68
 
69
69
  # Returns the name and version from the specified gem specification.
@@ -84,11 +84,18 @@ module RakeTasks
84
84
  write_file gem_spec_file, temp
85
85
  end
86
86
 
87
+ def push
88
+ ::Gems.configure do |config|
89
+ config.key = ENV['RUBYGEMS_API_KEY']
90
+ end
91
+ ::Gems.push File.new(gem_file)
92
+ end
93
+
87
94
  private
88
95
 
89
96
  # Write the contents of a stream to a file.
90
97
  def write_file(gem_spec_file, stream)
91
- Util.open_file(gem_spec_file, 'w') do |file|
98
+ System.open_file(gem_spec_file, 'w') do |file|
92
99
  while line = stream.gets
93
100
  file.puts line
94
101
  end
@@ -98,7 +105,7 @@ module RakeTasks
98
105
  # Write the contents of a file to an in-memory stream object,
99
106
  # changing the version.
100
107
  def write_temp(spec, stream, gem_spec_file, version)
101
- Util.open_file(gem_spec_file, 'r') do |file|
108
+ System.open_file(gem_spec_file, 'r') do |file|
102
109
  while line = file.gets
103
110
  if line =~ /version *= *['"]#{spec.version}['"]/
104
111
  stream.puts line.sub(/['"].*['"]/, "'#{version}'")
@@ -0,0 +1,56 @@
1
+ module RakeTasks
2
+ module System
3
+ extend Rake::DSL
4
+ extend self
5
+
6
+ def dir(*glob)
7
+ Dir[*glob]
8
+ end
9
+
10
+ def dir_glob(*patterns)
11
+ Dir.glob(*patterns)
12
+ end
13
+
14
+ def import_task(*task_path)
15
+ import(*task_path)
16
+ end
17
+
18
+ def pwd(*args)
19
+ Dir.pwd(*args)
20
+ end
21
+
22
+ def file?(*args)
23
+ File.file?(*args)
24
+ end
25
+
26
+ def directory?(*args)
27
+ File.directory?(*args)
28
+ end
29
+
30
+ def rm(*args)
31
+ FileUtils.rm(*args)
32
+ end
33
+
34
+ def open_file(*args, &block)
35
+ File.open(*args, &block)
36
+ end
37
+
38
+ def write_file(file_path, array)
39
+ open_file(file_path, 'w') do |file|
40
+ array.each do |element|
41
+ file.puts element
42
+ end
43
+ end
44
+ end
45
+
46
+ def load_yaml(*args)
47
+ # Psych must be available on the system,
48
+ # preferably via installing ruby with libyaml already installed.
49
+ Psych.load_file(*args)
50
+ end
51
+
52
+ def load_gemspec(*args)
53
+ ::Gem::Specification.load(*args)
54
+ end
55
+ end
56
+ end
@@ -1,27 +1,28 @@
1
- require 'cane'
2
- require 'cane/rake_task'
1
+ if RakeTasks::Dependency.loaded?('Cane', 'cane')
2
+ require 'cane/rake_task'
3
3
 
4
- namespace :cane do
5
- desc ''
6
- Cane::RakeTask.new(:quality) do |cane|
7
- cane.canefile = '.cane'
8
- end
4
+ namespace :cane do
5
+ desc ''
6
+ Cane::RakeTask.new(:quality) do |cane|
7
+ cane.canefile = '.cane'
8
+ end
9
9
 
10
- desc 'Check abc metrics with cane'
11
- Cane::RakeTask.new(:warn) do |cane|
12
- cane.canefile = '.cane'
13
- cane.abc_max = 7
14
- cane.no_doc = true
15
- cane.no_style = true
16
- end
10
+ desc 'Check abc metrics with cane'
11
+ Cane::RakeTask.new(:warn) do |cane|
12
+ cane.canefile = '.cane'
13
+ cane.abc_max = 7
14
+ cane.no_doc = true
15
+ cane.no_style = true
16
+ end
17
17
 
18
- desc 'Check code quality metrics with cane for all files'
19
- Cane::RakeTask.new(:all) do |cane|
20
- cane.canefile = '.cane'
21
- cane.style_exclude = []
22
- cane.abc_exclude = []
18
+ desc 'Check code quality metrics with cane for all files'
19
+ Cane::RakeTask.new(:all) do |cane|
20
+ cane.canefile = '.cane'
21
+ cane.style_exclude = []
22
+ cane.abc_exclude = []
23
+ end
23
24
  end
24
- end
25
25
 
26
- desc 'Run cane to check quality metrics'
27
- task :cane => 'cane:quality'
26
+ desc 'Run cane to check quality metrics'
27
+ task :cane => 'cane:quality'
28
+ end
@@ -28,7 +28,7 @@
28
28
  ################################################################################
29
29
  #++
30
30
 
31
- if RakeTasks::Gem.gemspec_file?
31
+ if RakeTasks::Dependency.loaded?('Gems', 'gems') && RakeTasks::Gem.gemspec_file?
32
32
  ############################################################################
33
33
  namespace :gem do
34
34
  ############################################################################
@@ -69,6 +69,13 @@ if RakeTasks::Gem.gemspec_file?
69
69
  end
70
70
  end
71
71
 
72
+ desc 'Push the gem to rubygems'
73
+ task :push do
74
+ response = RakeTasks::Gem.push
75
+ puts response
76
+ exit(1) unless response.match(/Successfully registered gem/)
77
+ end
78
+
72
79
  ############################################################################
73
80
  end # :gem
74
81
  ############################################################################
@@ -0,0 +1,73 @@
1
+ #--
2
+ ################################################################################
3
+ # Copyright (C) 2015 Travis Herrick #
4
+ ################################################################################
5
+ # #
6
+ # \v^V,^!v\^/ #
7
+ # ~% %~ #
8
+ # { _ _ } #
9
+ # ( * - ) #
10
+ # | / | #
11
+ # \ _, / #
12
+ # \__.__/ #
13
+ # #
14
+ ################################################################################
15
+ # This program is free software: you can redistribute it #
16
+ # and/or modify it under the terms of the GNU Lesser General Public License #
17
+ # as published by the Free Software Foundation, #
18
+ # either version 3 of the License, or (at your option) any later version. #
19
+ ################################################################################
20
+ # This program is distributed in the hope that it will be useful, #
21
+ # but WITHOUT ANY WARRANTY; #
22
+ # without even the implied warranty of MERCHANTABILITY #
23
+ # or FITNESS FOR A PARTICULAR PURPOSE. #
24
+ # See the GNU Lesser General Public License for more details. #
25
+ # #
26
+ # You should have received a copy of the GNU Lesser General Public License #
27
+ # along with this program. If not, see <http://www.gnu.org/licenses/>. #
28
+ ################################################################################
29
+ #++
30
+
31
+ require 'rspec/core/rake_task'
32
+
33
+ features = 'spec/features'
34
+ api = 'spec/api'
35
+ integration = 'spec/integration'
36
+ pattern = '**/*_spec.rb'
37
+ unit_exclude = '{features,api,integration}'
38
+
39
+ namespace :spec do
40
+ if File.directory?(features)
41
+ desc 'Run feature specs'
42
+ RSpec::Core::RakeTask.new :features do |task|
43
+ task.pattern = File.join(features, pattern)
44
+ end
45
+ end
46
+
47
+ if File.directory?('spec/api')
48
+ desc 'Run api specs'
49
+ RSpec::Core::RakeTask.new :api do |task|
50
+ task.pattern = File.join(api, pattern)
51
+ end
52
+ end
53
+
54
+ if File.directory?(integration)
55
+ desc 'Run integration specs'
56
+ RSpec::Core::RakeTask.new :integration do |task|
57
+ task.pattern = File.join(integration, pattern)
58
+ end
59
+ end
60
+
61
+ if File.directory?(features) or
62
+ File.directory?(api) or
63
+ File.directory?(integration)
64
+ desc 'Run unit specs'
65
+ RSpec::Core::RakeTask.new :unit do |task|
66
+ task.exclude_pattern = File.join('spec', unit_exclude, pattern)
67
+ end
68
+ end
69
+ end
70
+
71
+ desc 'Run all specs together'
72
+ RSpec::Core::RakeTask.new :specs do
73
+ end
@@ -28,9 +28,9 @@
28
28
  ################################################################################
29
29
  #++
30
30
 
31
- require 'rake/testtask'
32
-
33
31
  if RakeTasks::Tests.exist?
32
+ require 'rake/testtask'
33
+
34
34
  ############################################################################
35
35
  namespace :test do
36
36
  ############################################################################
@@ -59,7 +59,7 @@ module RakeTasks
59
59
 
60
60
  PATTERNS.each do |pattern|
61
61
  paths(group).each do |path|
62
- files = Util.dir_glob(File.join(path, pattern))
62
+ files = RakeTasks::System.dir_glob(File.join(path, pattern))
63
63
  list << files
64
64
  end
65
65
  end
@@ -90,8 +90,8 @@ module RakeTasks
90
90
 
91
91
  types = []
92
92
 
93
- Util.dir_glob(File.join(root, '**')).each do |path|
94
- next unless Util.directory?(path)
93
+ RakeTasks::System.dir_glob(File.join(root, '**')).each do |path|
94
+ next unless RakeTasks::System.directory?(path)
95
95
  types << get_types(path)
96
96
  end
97
97
 
@@ -102,7 +102,7 @@ module RakeTasks
102
102
  types = []
103
103
  PATTERNS.each do |pattern|
104
104
  next if types.include?(File.basename(path))
105
- unless Util.dir_glob(File.join(path, pattern)).empty?
105
+ unless RakeTasks::System.dir_glob(File.join(path, pattern)).empty?
106
106
  types << File.basename(path)
107
107
  end
108
108
  end
@@ -111,7 +111,7 @@ module RakeTasks
111
111
 
112
112
  # Indicates whether tests can be run against multiple rubies.
113
113
  def run_rubies?
114
- Util.file? rubies_yaml
114
+ RakeTasks::System.file? rubies_yaml
115
115
  end
116
116
 
117
117
  # Runs tests against specified ruby/gemset/rake configurations.
@@ -141,8 +141,8 @@ module RakeTasks
141
141
  parse_log parser
142
142
  end
143
143
 
144
- Util.rm 'out.log'
145
- Util.rm 'err.log'
144
+ RakeTasks::System.rm 'out.log'
145
+ RakeTasks::System.rm 'err.log'
146
146
 
147
147
  puts '*' * 80
148
148
  parser.summarize
@@ -159,7 +159,8 @@ module RakeTasks
159
159
  commands << command
160
160
  end
161
161
 
162
- Util.write_file 'rubies.sh', commands.map { |c| c.join(' ') }
162
+ RakeTasks::System.write_file 'rubies.sh',
163
+ commands.map { |c| c.join(' ') }
163
164
  end
164
165
 
165
166
  # Initialize gemsets for rubies.
@@ -182,7 +183,7 @@ module RakeTasks
182
183
  # ==== Output
183
184
  # [Array] The configurations that will be tested.
184
185
  def test_configs
185
- configs = Util.load_yaml(rubies_yaml)
186
+ configs = RakeTasks::System.load_yaml(rubies_yaml)
186
187
  return [] unless configs.is_a?(Array)
187
188
 
188
189
  configs.select! { |c| c['ruby'] || c['gemset'] }
@@ -212,7 +213,7 @@ module RakeTasks
212
213
  # The root test folder.
213
214
  def root
214
215
  ROOTS.each do |r|
215
- return r if Util.directory?(r)
216
+ return r if RakeTasks::System.directory?(r)
216
217
  end
217
218
  return
218
219
  end
@@ -236,7 +237,7 @@ module RakeTasks
236
237
  end
237
238
 
238
239
  def parse_log(parser)
239
- Util.open_file('out.log', 'r') do |file|
240
+ RakeTasks::System.open_file('out.log', 'r') do |file|
240
241
  while line = file.gets
241
242
  parser.parse line
242
243
  end
data/rake_tasks.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'rake_tasks'
3
- s.version = '3.0.0'
3
+ s.version = '4.0.0'
4
4
 
5
5
  s.summary = 'Basic rake tasks. You know you want some.'
6
6
  s.description =%Q{
@@ -32,10 +32,12 @@ mmmm yummy
32
32
  Dir['Gemfile.lock']
33
33
  s.test_files = Dir['test/**/*.rb']
34
34
 
35
+ s.add_development_dependency 'gems'
35
36
  s.add_development_dependency 'rspec'
36
- s.add_development_dependency 'mocha'
37
+ s.add_development_dependency 'test-unit'
37
38
  s.add_development_dependency 'cane'
38
39
  s.add_development_dependency 'faker'
40
+ s.add_development_dependency 'mocha'
39
41
 
40
42
  s.has_rdoc = true
41
43
  end
data/rakefile CHANGED
@@ -1,29 +1,24 @@
1
+ require 'cane'
2
+ require 'gems'
3
+
1
4
  require_relative 'lib/rake_tasks'
2
5
  [
3
6
  'cane',
4
7
  'doc',
5
8
  'gem',
6
9
  'rdoc',
10
+ 'spec',
7
11
  'test',
8
12
  'checksum',
9
13
  ].each do |task|
10
14
  require_relative File.join('lib/rake_tasks/tasks', task)
11
15
  end
12
16
 
13
- require 'rspec/core/rake_task'
14
- require 'cane/rake_task'
15
-
16
- RSpec::Core::RakeTask.new(:spec) do |task|
17
- task.ruby_opts = '-w'
18
- #task.rspec_opts = '--format documentation'
19
- #task.pattern = 'spec/**/*_save_config_spec.rb'
20
- end
21
-
22
17
  task :default
23
18
  Rake::Task[:default].clear_prerequisites
24
19
 
25
20
  task :default => [
26
21
  'cane:quality',
27
- :spec,
22
+ :specs,
28
23
  'test:all',
29
24
  ]
data/readme.markdown CHANGED
@@ -3,49 +3,24 @@ Welcome to RakeTasks
3
3
 
4
4
  RakeTasks provides basic rake tasks for generating documentation,
5
5
  building and installing gems, and running tests.
6
- It will also load additional rake tasks if they are in a folder named 'tasks'.
7
- mmmm yummy
8
6
 
9
- The following assumptions are currently made:
7
+ It will also load additional rake tasks
8
+ if they are in either `lib/tasks` or `tasks`.
9
+ That is the only thing this gem does unless
10
+ one of the included tasks is explicitly required.
10
11
 
11
- * There is a valid .gemspec file in the root folder that is named the same
12
- as the root folder.
13
-
14
- * Tests reside in a folder named 'test', 'tests', or 'spec'
15
- and test files are named \*\_test.rb or test\_\*.rb.
16
-
17
- Additionally, if you have sub-folders under test(s)
18
- (i.e. test/unit, test/performance), they will be available
19
- using rake test:unit and rake test:performance.
20
- Sub-folders that do not contain files matching the test file name patterns
21
- will not be included in this set.
22
12
 
23
- You may run a single test from any test file by using the following:
24
-
25
- rake test:test\_file[test\_method]
13
+ Dependency Philosophy
14
+ ---------------------
26
15
 
27
- test\_file is the name of the test file without the pattern,
28
- so if you have a test named my\_class\_test.rb with a test method
29
- named my\_test\_method, it would be invoked by:
30
-
31
- rake test:my\_class[my\_test\_method]
32
-
33
- * Additional rake tasks are named \*.rake (as of 3.0.0) and reside in a folder named 'tasks'.
34
-
35
- * README generation uses the gemspec data to populate the license information.
16
+ This gem potentially adds a number of (hopefully) useful tasks.
17
+ However, it is probably rare that a given project
18
+ will actually make use of all of them at once.
19
+ To that end, *dependencies are expected to be included by the application
20
+ that is consuming this gem*.
36
21
 
37
- If README.md does not exist, one will be created.
38
- If README.md does exist, a README\_GENERATED.md file will be created,
39
- so as not to overwrite a 'real' README.md file.
22
+ Per-task requirements are noted in the [Tasks][tasks] section below.
40
23
 
41
- The default task will be set in the following order:
42
-
43
- 1. If tests are found, rake will run test:all.
44
-
45
- 2. If tests are not found, but an appropriately named .gemspec file is,
46
- gem:build will be run.
47
-
48
- 3. If no tests or .gemspec are found, rdoc:app will be run.
49
24
 
50
25
  Getting Started
51
26
  ---------------
@@ -56,7 +31,7 @@ Install RakeTasks at the command prompt if you haven't yet:
56
31
 
57
32
  Require the gem in your Gemfile:
58
33
 
59
- gem 'rake\_tasks', '~> 3.0.0'
34
+ gem 'rake\_tasks', '~> 4.0.0'
60
35
 
61
36
  Require the gem wherever you need to use it:
62
37
  (This will load any \*.rake files in your project.)
@@ -65,17 +40,98 @@ Require the gem wherever you need to use it:
65
40
 
66
41
  Require the tasks that you want to use:
67
42
 
68
- require 'rake\_tasks\tasks\doc' # Generate readme
43
+ require 'rake\_tasks\tasks\spec' # Run RSpec specs of different types
69
44
  require 'rake\_tasks\tasks\cane' # Cane rake tasks
70
45
  require 'rake\_tasks\tasks\gem' # Gem build, install, deploy, etc.
71
- require 'rake\_tasks\tasks\rdoc' # Generate RDoc
72
- require 'rake\_tasks\tasks\test' # Run tests - This may get deprecated
73
46
  require 'rake\_tasks\tasks\checksum' # Generate a checksum for \*.gem file
47
+ require 'rake\_tasks\tasks\doc' # Generate readme
48
+ require 'rake\_tasks\tasks\rdoc' # Generate RDoc
49
+ require 'rake\_tasks\tasks\test' # Run TestUnit tests - may get removed
50
+
51
+
52
+ Tasks
53
+ -----
54
+
55
+ Additional rake tasks will be found and loaded
56
+ if they are named \*.rake (as of 3.0.0)
57
+ and reside in either `lib\tasks` or `tasks` (as of 4.0.0).
58
+
59
+
60
+ ### Cane Tasks
61
+
62
+ #### Dependencies
63
+
64
+ * [Cane][cane]
65
+
66
+
67
+ ### Gem Tasks
68
+
69
+ #### Dependencies
70
+
71
+ * [Gems][gems]
72
+
73
+
74
+ #### Requirements
75
+
76
+ * There is a valid .gemspec file in the root folder that is named the same
77
+ as the root folder.
78
+
79
+
80
+ #### gem:push
81
+
82
+ `gem:push` requires that an environment variable
83
+ named `RUBYGEMS_API_KEY` is set.
84
+ This key is used to identify the author when pushing to rubygems.
85
+ After authenticating on the command line,
86
+ this value will be saved to `~/.gem/credentials`.
87
+
88
+
89
+ ### Doc Tasks
90
+
91
+ #### Requirements
92
+
93
+ * There is a valid .gemspec file in the root folder that is named the same
94
+ as the root folder.
95
+
96
+ * README generation uses the gemspec data to populate the license information.
97
+
98
+ If readem.md does not exist, one will be created.
99
+ If readem.md does exist, a readem\_GENERATED.md file will be created,
100
+ so as not to overwrite a 'real' readem.md file.
101
+
102
+
103
+ ### Test Tasks
104
+
105
+ * Tests reside in a folder named 'test', 'tests', or 'spec'
106
+ and test files are named \*\_test.rb or test\_\*.rb.
107
+
108
+ Additionally, if you have sub-folders under test(s)
109
+ (i.e. test/unit, test/performance), they will be available
110
+ using rake test:unit and rake test:performance.
111
+ Sub-folders that do not contain files matching the test file name patterns
112
+ will not be included in this set.
113
+
114
+ You may run a single test from any test file by using the following:
115
+
116
+ rake test:test\_file[test\_method]
117
+
118
+ test\_file is the name of the test file without the pattern,
119
+ so if you have a test named my\_class\_test.rb with a test method
120
+ named my\_test\_method, it would be invoked by:
121
+
122
+ rake test:my\_class[my\_test\_method]
74
123
 
75
124
 
76
125
  Updates
77
126
  -------
78
127
 
128
+ 4.0.0 Added gem:push.
129
+
130
+ Added spec, spec:features, spec:api, spec:integration, and spec:unit.
131
+
132
+ Dependencies are expected to be loaded by the consumer
133
+ prior to loading any tasks.
134
+
79
135
  3.0.0 No tasks are automatically added to the default rake task.
80
136
 
81
137
  Tasks must be included explicitly.
@@ -83,12 +139,18 @@ Updates
83
139
 
84
140
  Added cane and checksum tasks.
85
141
 
86
- Added `rake test:script` as a workaround to problems with `rake test:full`.
87
- For some reason the gem command no longer works for me from the shell scripts.
142
+ Added `rake test:script` as a workaround
143
+ to problems with `rake test:full`.
144
+ For some reason the gem command no longer works
145
+ for me from the shell scripts.
146
+
147
+ Support for rake 0.8.7 was removed due
148
+ to what appears to be issues with rspec.
88
149
 
89
- Support for rake 0.8.7 was removed due to what appears to be issues with rspec.
150
+ Custom rake tasks should now load properly from any tasks folder
151
+ under the project root.
90
152
 
91
- Custom rake tasks should now load properly from any tasks folder under the project root.
153
+ Generated README.md is now named readme.md (lowercase).
92
154
 
93
155
  2.0.6 Use markdown for generated README.
94
156
  Convert rake\_task's README to markdown and rename it to README.md.
@@ -125,7 +187,13 @@ Additional Documentation
125
187
 
126
188
  rake rdoc:app
127
189
 
190
+
128
191
  License
129
192
  -------
130
193
 
131
194
  RakeTasks is released under the LGPLv3 license.
195
+
196
+
197
+ [gems]: https://github.com/rubygems/gems
198
+ [cane]: http://github.com/square/cane
199
+ [tasks]: #Tasks
@@ -33,23 +33,6 @@
33
33
  # Monkey patch Test::Unit::TestCase.
34
34
  module Test::Unit
35
35
  class TestCase
36
- # Converts a string to a function that is used as a test.
37
- # ==== Input
38
- # [test_name : String] The name to use for the test.
39
- # [&block : Block] The code that will be run.
40
- # ==== Examples
41
- # The best examples are in the tests.
42
- def self.test(test_name, &block)
43
- class_name = test_class
44
-
45
- test_name = "#{class_name}#{test_name}" if test_name.match(/^[#\.]/)
46
- test_name = "test #{test_name} "
47
-
48
- test_method_name = test_name.to_sym
49
-
50
- define_method(test_method_name, &block)
51
- end
52
-
53
36
  # Returns the name of the class that is being tested.
54
37
  # ==== Output
55
38
  # [String] The class that is being tested. nil if not found.
@@ -47,7 +47,7 @@ class ParserTest < Test::Unit::TestCase
47
47
  def test_lines_should_print
48
48
  printable_lines.each do |line|
49
49
  wrap_output { @obj.parse line }
50
- assert_match line.chomp + '\Z', out
50
+ assert out.match(/#{line.chomp}\Z/)
51
51
  end
52
52
  assert_equal printable_lines.join(''), out
53
53
  end
data/todo.md CHANGED
@@ -1,4 +1,6 @@
1
1
  TODO
2
2
  ====
3
3
 
4
+ * Move rake spec task variables/code into a class.
4
5
  * Use a class method on Doc to specify readme name for consistency.
6
+ * Better dependency handling?... Not sure how.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake_tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Travis Herrick
@@ -30,8 +30,22 @@ cert_chain:
30
30
  dFfJVAFuyqXRLmrl1YroL9qLu8nKUUiKEcrRbc44Bd84Ti0VdHms+c7SZXqW+VUV
31
31
  kMsvl643w+TJ2BmsFnWZ4JMvHdZ8oQ==
32
32
  -----END CERTIFICATE-----
33
- date: 2015-01-02 00:00:00.000000000 Z
33
+ date: 2015-02-17 00:00:00.000000000 Z
34
34
  dependencies:
35
+ - !ruby/object:Gem::Dependency
36
+ name: gems
37
+ requirement: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ type: :development
43
+ prerelease: false
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
35
49
  - !ruby/object:Gem::Dependency
36
50
  name: rspec
37
51
  requirement: !ruby/object:Gem::Requirement
@@ -47,7 +61,7 @@ dependencies:
47
61
  - !ruby/object:Gem::Version
48
62
  version: '0'
49
63
  - !ruby/object:Gem::Dependency
50
- name: mocha
64
+ name: test-unit
51
65
  requirement: !ruby/object:Gem::Requirement
52
66
  requirements:
53
67
  - - ">="
@@ -88,6 +102,20 @@ dependencies:
88
102
  - - ">="
89
103
  - !ruby/object:Gem::Version
90
104
  version: '0'
105
+ - !ruby/object:Gem::Dependency
106
+ name: mocha
107
+ requirement: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ type: :development
113
+ prerelease: false
114
+ version_requirements: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
91
119
  description: |-
92
120
  RakeTasks provides basic rake tasks for generating documentation,
93
121
  building and installing gems, and running tests.
@@ -102,16 +130,19 @@ extra_rdoc_files:
102
130
  - license/lgplv3.md
103
131
  files:
104
132
  - Gemfile
105
- - lib/base/util.rb
106
133
  - lib/rake_tasks.rb
134
+ - lib/rake_tasks/core.rb
135
+ - lib/rake_tasks/dependency.rb
107
136
  - lib/rake_tasks/doc.rb
108
137
  - lib/rake_tasks/gem.rb
109
138
  - lib/rake_tasks/parser.rb
139
+ - lib/rake_tasks/system.rb
110
140
  - lib/rake_tasks/tasks/cane.rb
111
141
  - lib/rake_tasks/tasks/checksum.rb
112
142
  - lib/rake_tasks/tasks/doc.rb
113
143
  - lib/rake_tasks/tasks/gem.rb
114
144
  - lib/rake_tasks/tasks/rdoc.rb
145
+ - lib/rake_tasks/tasks/spec.rb
115
146
  - lib/rake_tasks/tasks/test.rb
116
147
  - lib/rake_tasks/tests.rb
117
148
  - license/gplv3.md
@@ -150,7 +181,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
150
181
  version: '0'
151
182
  requirements: []
152
183
  rubyforge_project:
153
- rubygems_version: 2.2.2
184
+ rubygems_version: 2.4.5
154
185
  signing_key:
155
186
  specification_version: 4
156
187
  summary: Basic rake tasks. You know you want some.
metadata.gz.sig CHANGED
Binary file
data/lib/base/util.rb DELETED
@@ -1,39 +0,0 @@
1
- class Util
2
- def self.dir_glob(*patterns)
3
- Dir.glob(*patterns)
4
- end
5
-
6
- def self.open_file(*args, &block)
7
- File.open(*args, &block)
8
- end
9
-
10
- def self.write_file(file_path, array)
11
- open_file(file_path, 'w') do |file|
12
- array.each do |element|
13
- file.puts element
14
- end
15
- end
16
- end
17
-
18
- def self.file?(*args)
19
- File.file?(*args)
20
- end
21
-
22
- def self.directory?(*args)
23
- File.directory?(*args)
24
- end
25
-
26
- def self.rm(*args)
27
- FileUtils.rm(*args)
28
- end
29
-
30
- def self.load_yaml(*args)
31
- # Psych must be available on the system,
32
- # preferably via installing ruby with libyaml already installed.
33
- Psych.load_file(*args)
34
- end
35
-
36
- def self.load_gemspec(*args)
37
- Gem::Specification.load(*args)
38
- end
39
- end