penchant 0.1.0 → 0.1.1
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/README.md +8 -1
- data/bin/penchant +6 -0
- data/lib/penchant/version.rb +1 -1
- data/script/hooks/commit-msg +23 -0
- data/script/hooks/post-commit +4 -0
- data/script/hooks/pre-commit +1 -12
- metadata +7 -5
data/README.md
CHANGED
@@ -16,7 +16,7 @@ Installs a bunch of scripts into the `scripts` directory of your project:
|
|
16
16
|
|
17
17
|
* `gemfile` which switches between `Gemfile.erb` environments
|
18
18
|
* `install-git-hooks` which will do just what it says
|
19
|
-
* `hooks
|
19
|
+
* `hooks`, several git hooks that the prior script symlinks into .git/hooks for you
|
20
20
|
* `initialize-environment`, which bootstraps your local environment so you can get up and running
|
21
21
|
|
22
22
|
## Gemfile.erb?!
|
@@ -100,6 +100,12 @@ It runs `penchant gemfile remote` then runs `bundle exec rake`. Make sure your d
|
|
100
100
|
tests and performs any other magic necessary before each commit. Your re-environmented Gemfile and Gemfile.lock will be added
|
101
101
|
to your commit if they've changed.
|
102
102
|
|
103
|
+
### Skipping all that Rake falderal?
|
104
|
+
|
105
|
+
Do it Travis CI style: stick `[ci skip]` in your commit message. That's why the meat of hte git hooks resides in
|
106
|
+
`commit-msg` and not `pre-commit`: you need the commit message before you can determine if the tests should be run
|
107
|
+
based on the commit message. Weird, I know.
|
108
|
+
|
103
109
|
## How?!
|
104
110
|
|
105
111
|
* `gem install penchant`
|
@@ -108,5 +114,6 @@ to your commit if they've changed.
|
|
108
114
|
And then one of the following:
|
109
115
|
|
110
116
|
* `penchant install` for a new project (`--dir=WHEREVER` will install the scripts to a directory other than `$PWD/scripts`)
|
117
|
+
* `penchant update` to update the installation (`--dir=WHEVEVER` works here, too)
|
111
118
|
* `penchant convert` for an existing project (`--dir=WHEVEVER` works here, too)
|
112
119
|
|
data/bin/penchant
CHANGED
@@ -20,6 +20,12 @@ class PenchantCLI < Thor
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
+
desc "update", "Update the installed scripts"
|
24
|
+
method_options :dir => 'script'
|
25
|
+
def update
|
26
|
+
install
|
27
|
+
end
|
28
|
+
|
23
29
|
desc "convert", "Make an existing project Penchant-isized"
|
24
30
|
method_options :dir => 'script'
|
25
31
|
def convert
|
data/lib/penchant/version.rb
CHANGED
@@ -0,0 +1,23 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
msg=$(cat $1)
|
4
|
+
|
5
|
+
OLD_GIT_DIR=$GIT_DIR
|
6
|
+
|
7
|
+
if [[ "${msg}" != *"[ci skip]"* ]]; then
|
8
|
+
if [ "$(penchant gemfile-env)" != "remote" ]; then
|
9
|
+
penchant gemfile remote
|
10
|
+
fi
|
11
|
+
|
12
|
+
bundle exec rake
|
13
|
+
R=$?
|
14
|
+
if [ $R -ne 0 ]; then exit $R; fi
|
15
|
+
fi
|
16
|
+
|
17
|
+
if [ "$(penchant gemfile-env)" != "remote deployment" ]; then
|
18
|
+
unset GIT_DIR
|
19
|
+
penchant gemfile remote --deployment
|
20
|
+
GIT_DIR=$OLD_GIT_DIR
|
21
|
+
git add Gemfile*
|
22
|
+
fi
|
23
|
+
|
data/script/hooks/pre-commit
CHANGED
@@ -1,15 +1,4 @@
|
|
1
1
|
#!/bin/bash
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
if [ "$(penchant gemfile-env)" != "remote" ]; then
|
6
|
-
unset GIT_DIR
|
7
|
-
penchant gemfile remote --deployment
|
8
|
-
GIT_DIR=$OLD_GIT_DIR
|
9
|
-
git add Gemfile*
|
10
|
-
fi
|
11
|
-
|
12
|
-
bundle exec rake
|
13
|
-
R=$?
|
14
|
-
if [ $R -ne 0 ]; then exit $R; fi
|
3
|
+
# this is now handled in commit-msg, to allow for skipping of test running based on the commit message
|
15
4
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: penchant
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-04-
|
12
|
+
date: 2012-04-20 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: Things I do for my Rails projects to get up to speed in new environments
|
15
15
|
fast
|
@@ -41,6 +41,8 @@ files:
|
|
41
41
|
- lib/penchant/version.rb
|
42
42
|
- penchant.gemspec
|
43
43
|
- script/gemfile
|
44
|
+
- script/hooks/commit-msg
|
45
|
+
- script/hooks/post-commit
|
44
46
|
- script/hooks/pre-commit
|
45
47
|
- script/initialize-environment
|
46
48
|
- script/install-git-hooks
|
@@ -67,7 +69,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
67
69
|
version: '0'
|
68
70
|
segments:
|
69
71
|
- 0
|
70
|
-
hash:
|
72
|
+
hash: -2805133852426367993
|
71
73
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
72
74
|
none: false
|
73
75
|
requirements:
|
@@ -76,10 +78,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
76
78
|
version: '0'
|
77
79
|
segments:
|
78
80
|
- 0
|
79
|
-
hash:
|
81
|
+
hash: -2805133852426367993
|
80
82
|
requirements: []
|
81
83
|
rubyforge_project: penchant
|
82
|
-
rubygems_version: 1.8.
|
84
|
+
rubygems_version: 1.8.17
|
83
85
|
signing_key:
|
84
86
|
specification_version: 3
|
85
87
|
summary: Things I do for my Rails projects to get up to speed in new environments
|