rake_rack 1.0.1 → 1.1.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.
- checksums.yaml +5 -13
- data/.ruby-version +1 -0
- data/Gemfile +10 -5
- data/Gemfile.lock +13 -0
- data/README.md +31 -17
- data/Rakefile +2 -1
- data/history.rdoc +2 -0
- data/lib/dependency_checker.rb +26 -0
- data/lib/rake_rack.rb +3 -1
- data/rake_rack.gemspec +1 -2
- data/spec/dependency_checker_spec.rb +41 -0
- data/spec/spec_helper.rb +0 -1
- data/tasks/bundler_audit.rake +8 -0
- data/tasks/check_external_deps.rake +9 -16
- data/tasks/ok.rake +4 -1
- metadata +15 -26
- data/.rvmrc +0 -1
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
OWE2ZDIxMjUzNjQ0NjkxYTE0ODFiZDRlYTUzODY4NjgwNThiMmFkMQ==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 779c63528007bd1658fa4b62921c28c23dcb2b4b
|
4
|
+
data.tar.gz: 8ee6732d620c16c23a8a2ca5eae7e37aa09a18f0
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
ODI4ODJhZDZhNWE5NzIwYTMwMjA4MjJmZmJhMzJiNTk2NTAzMmYwMDhhM2Mz
|
11
|
-
ZTQ4YmQ2MmZmODczNGM2MTJkZWFmNzMxNmZhNjVhZmE5MTJhYzg=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
MmE1NDNiY2I1ZTRhMGJjNWU2ZjVjYmZjMjk0ZWFmNTllNjM2Y2I3ZjZmZDdm
|
14
|
-
N2ZmN2Q1MjNlOGQ0MGZhYmMzZWVlMjk2ZTBmZGI2YWJmNTU3NzkzMmFhNmI3
|
15
|
-
NjIyYmJmMDk0OWM4OTg2YzgwYzhkYjk5ZjQ4OTM5NDBhOTc2YzM=
|
6
|
+
metadata.gz: db7319de2d9a9acd4d888086e02bc5bd24bd15cba8f28505464e9798e5d7a6d386608310ecf50f5271e53e53550db5dd07614b66288eb3174d347fd319802f77
|
7
|
+
data.tar.gz: 8283c38a7352d8fadf04cab850f65f4a1837c27eb9d6293865b8675804b44ed42cf0e8cb060a78419d6364ea11c792dd12a29502ab41a55cf4ffdd66cccc8b2f
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.1.2
|
data/Gemfile
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
gem '
|
7
|
-
gem '
|
3
|
+
gemspec
|
4
|
+
|
5
|
+
group :development, :test do
|
6
|
+
gem 'rake'
|
7
|
+
gem 'rspec'
|
8
|
+
gem 'bundler-audit'
|
9
|
+
gem 'simplecov'
|
10
|
+
gem 'timecop'
|
11
|
+
gem 'term-ansicolor', '~> 1.3'
|
12
|
+
end
|
data/Gemfile.lock
CHANGED
@@ -1,6 +1,16 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
rake_rack (1.1.0)
|
5
|
+
rake (~> 10)
|
6
|
+
term-ansicolor (~> 1.3)
|
7
|
+
|
1
8
|
GEM
|
2
9
|
remote: https://rubygems.org/
|
3
10
|
specs:
|
11
|
+
bundler-audit (0.3.1)
|
12
|
+
bundler (~> 1.2)
|
13
|
+
thor (~> 0.18)
|
4
14
|
diff-lcs (1.2.5)
|
5
15
|
docile (1.1.5)
|
6
16
|
multi_json (1.10.1)
|
@@ -24,6 +34,7 @@ GEM
|
|
24
34
|
simplecov-html (0.8.0)
|
25
35
|
term-ansicolor (1.3.0)
|
26
36
|
tins (~> 1.0)
|
37
|
+
thor (0.19.1)
|
27
38
|
timecop (0.7.1)
|
28
39
|
tins (1.3.2)
|
29
40
|
|
@@ -31,7 +42,9 @@ PLATFORMS
|
|
31
42
|
ruby
|
32
43
|
|
33
44
|
DEPENDENCIES
|
45
|
+
bundler-audit
|
34
46
|
rake
|
47
|
+
rake_rack!
|
35
48
|
rspec
|
36
49
|
simplecov
|
37
50
|
term-ansicolor (~> 1.3)
|
data/README.md
CHANGED
@@ -1,30 +1,43 @@
|
|
1
1
|
RakeRack
|
2
2
|
========
|
3
|
+
|
4
|
+
Commonly used Rake tasks
|
5
|
+
------------------------
|
6
|
+
...collected together and given a new coat of paint (and nothing to do with [Rack](http://rack.github.io/))
|
7
|
+
|
8
|
+
|
3
9
|
[](https://travis-ci.org/RichardVickerstaff/rake_rack)
|
4
10
|
[](http://badge.fury.io/rb/rake_rack)
|
5
|
-
Common rake tasks I use a lot
|
6
|
-
-----------------------------------------
|
7
11
|
|
8
|
-
RakeRack is a collection of
|
9
|
-
They have been extracted into a gem to allow them to easily be reused.
|
12
|
+
RakeRack is a collection of widely applicable Rake tasks used on many projects.
|
13
|
+
They have been extracted into a gem to allow them to easily be reused and maintained.
|
14
|
+
|
15
|
+
RakeRack tasks are used on the project itself, so you can always take a peek at our [Rakefile](https://github.com/RichardVickerstaff/rake_rack/blob/master/Rakefile) or the [tasks themselves](https://github.com/RichardVickerstaff/rake_rack/tree/master/tasks) to work out what is going on
|
10
16
|
|
11
17
|
Installation
|
12
18
|
------------
|
13
|
-
|
19
|
+
Install the gem or add `gem "rake_rack"` to your Gemfile.
|
14
20
|
|
15
21
|
Usage
|
16
22
|
-----
|
17
|
-
|
18
|
-
|
23
|
+
1. Add `require "rake_rack"` to your Rakefile
|
24
|
+
2. Call the tasks that you want, in with your usual Rake tasks.
|
19
25
|
|
20
|
-
|
26
|
+
Tasks are namespaced under `:rake_rack` to prevent clashes.
|
27
|
+
For example, this means the `:ok` task is called by invoking `:rake_rack:ok`
|
28
|
+
|
29
|
+
Tasks
|
30
|
+
-----
|
31
|
+
### :bundler_audit
|
32
|
+
Check the current Gemfile.lock for gem versions with known security issues, courtesy of [Bundler Audit](https://github.com/rubysec/bundler-audit#readme)
|
21
33
|
|
22
34
|
### :check_external_dependencies
|
23
35
|
Check that each command in the `@external_dependencies` array is present on the system path (and fails the task if it isn't)
|
24
36
|
For example:
|
25
|
-
```ruby
|
26
|
-
@external_dependencies = ['ruby', 'postgres', 'foo']
|
27
|
-
```
|
37
|
+
```ruby
|
38
|
+
@external_dependencies = ['ruby', 'postgres', 'foo']
|
39
|
+
```
|
40
|
+
You can also use the underlying checker object by creating an instance of `RakeRack::DependencyChecker` with your array of dependencies and calling `#check` or `#missing` on it.
|
28
41
|
|
29
42
|
### :code_quality
|
30
43
|
#### :all
|
@@ -50,12 +63,13 @@ Look at SimpleCov results for spec coverage in `log/coverage/spec` and fail the
|
|
50
63
|
Look at SimpleCov results for Cucumber coverage in `log/coverage/features` and fail the build if not 100%
|
51
64
|
|
52
65
|
### :ok
|
53
|
-
|
66
|
+
Useful at the end of any Rake tasks which test your application, it prints `***** ALL TESTS PASSED *****`.
|
54
67
|
|
55
68
|
### :ok_rainbow
|
56
|
-
Run this task last to print a more magical version of
|
69
|
+
Run this task last to print a more magical version of `:ok`
|
57
70
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
71
|
+
Contributing
|
72
|
+
------------
|
73
|
+
1. Make a fork
|
74
|
+
2. Make and push your changes to your fork
|
75
|
+
3. Create a Pull Reques
|
data/Rakefile
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'rake/clean'
|
2
2
|
require './lib/rake_rack'
|
3
3
|
|
4
|
-
@external_dependencies = %w[ruby rake
|
4
|
+
@external_dependencies = %w[ruby rake]
|
5
5
|
|
6
6
|
task :default => [
|
7
7
|
:clean,
|
@@ -9,5 +9,6 @@ task :default => [
|
|
9
9
|
:"rake_rack:code_quality:all",
|
10
10
|
:"rake_rack:rspec",
|
11
11
|
:"rake_rack:coverage:check_specs",
|
12
|
+
:"rake_rack:bundler_audit",
|
12
13
|
:"rake_rack:ok",
|
13
14
|
]
|
data/history.rdoc
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'term/ansicolor'
|
2
|
+
|
3
|
+
class RakeRack
|
4
|
+
class DependencyChecker
|
5
|
+
include Term::ANSIColor
|
6
|
+
|
7
|
+
def initialize dependencies
|
8
|
+
@dependencies = Array(dependencies)
|
9
|
+
end
|
10
|
+
|
11
|
+
def check silent = false
|
12
|
+
@results = @dependencies.each_with_object({}) do |dep, results|
|
13
|
+
results[dep] = system "which #{dep} >/dev/null"
|
14
|
+
unless silent
|
15
|
+
results[dep] ? print(".".green) : print("F".red)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def missing
|
21
|
+
@results ||= check(true)
|
22
|
+
@results.select{|_, present| present == false}.keys
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
data/lib/rake_rack.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
$:.unshift File.dirname(__FILE__)
|
2
2
|
|
3
3
|
require 'rake'
|
4
|
-
|
4
|
+
|
5
|
+
lib = File.expand_path("../lib", File.dirname(__FILE__))
|
6
|
+
Dir.glob("#{lib}/*.rb").each{|l| require l}
|
5
7
|
|
6
8
|
dir = File.expand_path("../tasks", File.dirname(__FILE__))
|
7
9
|
Dir.glob("#{dir}/*.rake").each { |r| import r}
|
data/rake_rack.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "rake_rack"
|
7
|
-
spec.version = '1.0
|
7
|
+
spec.version = '1.1.0'
|
8
8
|
spec.authors = ["Richard Vickerstaff"]
|
9
9
|
spec.email = ["m3akq@btinternet.com"]
|
10
10
|
spec.description = "A set of rake tasks I commonly use - Formerly known as pool_net"
|
@@ -15,6 +15,5 @@ Gem::Specification.new do |spec|
|
|
15
15
|
spec.require_paths = ["lib","tasks"]
|
16
16
|
|
17
17
|
spec.add_runtime_dependency "rake", "~> 10"
|
18
|
-
spec.add_runtime_dependency "rspec", "~> 3.0"
|
19
18
|
spec.add_runtime_dependency "term-ansicolor", "~> 1.3"
|
20
19
|
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'term/ansicolor'
|
3
|
+
include Term::ANSIColor
|
4
|
+
|
5
|
+
describe RakeRack::DependencyChecker do
|
6
|
+
|
7
|
+
# Note that this test will fail if you, somehow, have this insane string define on your path
|
8
|
+
let(:missing) {'jajfjfjosojfnbje3nknq'}
|
9
|
+
let(:present) {'rspec'}
|
10
|
+
let(:list){ [present, missing] }
|
11
|
+
|
12
|
+
subject{RakeRack::DependencyChecker.new list}
|
13
|
+
|
14
|
+
describe '#check' do
|
15
|
+
before { $stdout = StringIO.new }
|
16
|
+
|
17
|
+
it 'returns a hash of dependencies => presence' do
|
18
|
+
result = subject.check
|
19
|
+
expect(result).to eq({present => true, missing => false})
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'prints a dot for dependencies which are present' do
|
23
|
+
expect{subject.check}.to output(/\./).to_stdout
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'prints a F for missing dependencies' do
|
27
|
+
expect{subject.check}.to output(/F/).to_stdout
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'can be run without printing anything out' do
|
31
|
+
expect{subject.check(true)}.to_not output.to_stdout
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
describe '#missing_from' do
|
36
|
+
it 'returns only missing dependencies' do
|
37
|
+
expect(subject.missing).to eq [missing]
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,23 +1,16 @@
|
|
1
|
+
require 'term/ansicolor'
|
2
|
+
|
1
3
|
namespace :rake_rack do
|
2
4
|
task :check_external_dependencies do
|
5
|
+
include Term::ANSIColor
|
6
|
+
checker = RakeRack::DependencyChecker.new(@external_dependencies)
|
7
|
+
|
3
8
|
puts 'Checking external dependencies...'
|
4
|
-
|
5
|
-
|
6
|
-
reset = `tput sgr0`
|
9
|
+
checker.check
|
10
|
+
puts
|
7
11
|
|
8
|
-
|
9
|
-
|
10
|
-
status[exe] = if($? == 0)
|
11
|
-
print "#{green}.#{reset}"
|
12
|
-
true
|
13
|
-
else
|
14
|
-
print "#{red}F#{reset}"
|
15
|
-
false
|
16
|
-
end
|
17
|
-
end
|
12
|
+
missing = checker.missing
|
13
|
+
fail("The following dependencies are missing: \n#{missing.join(%Q[\n])}") unless missing.empty?
|
18
14
|
puts
|
19
|
-
missing = results.select{|k,v| v == false}
|
20
|
-
fail "The following dependencies are missing: \n#{missing.keys.join(%Q[\n])}" unless missing.empty?
|
21
|
-
2.times{puts}
|
22
15
|
end
|
23
16
|
end
|
data/tasks/ok.rake
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
+
require 'term/ansicolor'
|
2
|
+
|
1
3
|
namespace :rake_rack do
|
2
|
-
require 'term/ansicolor'
|
3
4
|
include Term::ANSIColor
|
4
5
|
|
6
|
+
desc 'Print the "ALL TESTS PASSED" message'
|
5
7
|
task :ok do
|
6
8
|
puts
|
7
9
|
print [
|
@@ -20,6 +22,7 @@ namespace :rake_rack do
|
|
20
22
|
puts
|
21
23
|
end
|
22
24
|
|
25
|
+
desc 'Print the "ALL TESTS PASSED" message WITH A SWEET RAINBOW!!!'
|
23
26
|
task :ok_rainbow do
|
24
27
|
puts
|
25
28
|
print " ", " ", " ", " ".on_red, " ", " ", " ", "\n"
|
metadata
CHANGED
@@ -1,55 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rake_rack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Richard Vickerstaff
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '10'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '10'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rspec
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ~>
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '3.0'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ~>
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '3.0'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: term-ansicolor
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
44
30
|
requirements:
|
45
|
-
- - ~>
|
31
|
+
- - "~>"
|
46
32
|
- !ruby/object:Gem::Version
|
47
33
|
version: '1.3'
|
48
34
|
type: :runtime
|
49
35
|
prerelease: false
|
50
36
|
version_requirements: !ruby/object:Gem::Requirement
|
51
37
|
requirements:
|
52
|
-
- - ~>
|
38
|
+
- - "~>"
|
53
39
|
- !ruby/object:Gem::Version
|
54
40
|
version: '1.3'
|
55
41
|
description: A set of rake tasks I commonly use - Formerly known as pool_net
|
@@ -59,20 +45,23 @@ executables: []
|
|
59
45
|
extensions: []
|
60
46
|
extra_rdoc_files: []
|
61
47
|
files:
|
62
|
-
- .gitignore
|
63
|
-
- .
|
64
|
-
- .travis.yml
|
48
|
+
- ".gitignore"
|
49
|
+
- ".ruby-version"
|
50
|
+
- ".travis.yml"
|
65
51
|
- Gemfile
|
66
52
|
- Gemfile.lock
|
67
53
|
- README.md
|
68
54
|
- Rakefile
|
69
55
|
- history.rdoc
|
56
|
+
- lib/dependency_checker.rb
|
70
57
|
- lib/rake_rack.rb
|
71
58
|
- lib/version.rb
|
72
59
|
- rake_rack.gemspec
|
73
60
|
- spec/.keep
|
61
|
+
- spec/dependency_checker_spec.rb
|
74
62
|
- spec/spec_helper.rb
|
75
63
|
- spec/version_spec.rb
|
64
|
+
- tasks/bundler_audit.rake
|
76
65
|
- tasks/check_external_deps.rake
|
77
66
|
- tasks/code_quality.rake
|
78
67
|
- tasks/coverage.rake
|
@@ -90,17 +79,17 @@ require_paths:
|
|
90
79
|
- tasks
|
91
80
|
required_ruby_version: !ruby/object:Gem::Requirement
|
92
81
|
requirements:
|
93
|
-
- -
|
82
|
+
- - ">="
|
94
83
|
- !ruby/object:Gem::Version
|
95
84
|
version: '0'
|
96
85
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
86
|
requirements:
|
98
|
-
- -
|
87
|
+
- - ">="
|
99
88
|
- !ruby/object:Gem::Version
|
100
89
|
version: '0'
|
101
90
|
requirements: []
|
102
91
|
rubyforge_project:
|
103
|
-
rubygems_version: 2.
|
92
|
+
rubygems_version: 2.2.2
|
104
93
|
signing_key:
|
105
94
|
specification_version: 4
|
106
95
|
summary: A set of rake tasks I commonly use
|
data/.rvmrc
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
rvm use --create --install ruby-2.1.2@rake_rack
|