penchant 0.2.16 → 0.2.17
Sign up to get free protection for your applications and to get access to all the features.
data/README.md
CHANGED
@@ -92,6 +92,12 @@ It then runs `bundle install`.
|
|
92
92
|
You can also run `penchant gemfile ENV`. Just straight `penchant gemfile` will rebuild the `Gemfile` from
|
93
93
|
`Gemfile.penchant` for whatever environment the `Gemfile` is currently using.
|
94
94
|
|
95
|
+
If you have an existing project, `penchant convert` will convert the `Gemfile` into a `Gemfile.penchant`
|
96
|
+
and add some bonuses, like defining that anything in `env :local` blocks automatically reference `..`,
|
97
|
+
ensuring that hooks are always installed when `penchant gemfile` is executed, and adding the `:github` gem property
|
98
|
+
that lets you pass in the username of the repo to reference that repo:
|
99
|
+
`gem 'penchant', :github => 'johnbintz'`.
|
100
|
+
|
95
101
|
### Deployment mode
|
96
102
|
|
97
103
|
Use `no_deployment` blocks to indicate gems that shouldn't even appear in `Gemfiles` destined for
|
data/bin/penchant
CHANGED
@@ -36,6 +36,17 @@ class PenchantCLI < Thor
|
|
36
36
|
def convert
|
37
37
|
install
|
38
38
|
FileUtils.mv 'Gemfile', 'Gemfile.penchant'
|
39
|
+
prepend_to_file 'Gemfile.penchant', <<-RB
|
40
|
+
# ensure git hooks are always installed
|
41
|
+
ensure_git_hooks!
|
42
|
+
|
43
|
+
# everything in the :local env is assumed to be a sibling directory of this one
|
44
|
+
defaults_for env(:local), :path => '../%s'
|
45
|
+
|
46
|
+
# reference a github repository with gem 'my-gem', :github => 'username'
|
47
|
+
property :github, :git => 'git://github.com/$1/%s.git'
|
48
|
+
|
49
|
+
RB
|
39
50
|
gemfile(:remote)
|
40
51
|
end
|
41
52
|
|
data/features/cli.feature
CHANGED
@@ -22,7 +22,7 @@ Feature: CLI
|
|
22
22
|
source :rubygems
|
23
23
|
"""
|
24
24
|
When I run "bin/penchant convert" in the "tmp" directory
|
25
|
-
Then the file "tmp/Gemfile.penchant" should
|
25
|
+
Then the file "tmp/Gemfile.penchant" should include the following content:
|
26
26
|
"""
|
27
27
|
source :rubygems
|
28
28
|
"""
|
data/lib/penchant/hooks.rb
CHANGED
@@ -21,12 +21,18 @@ module Penchant
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def self.install!
|
24
|
-
|
24
|
+
if git?
|
25
|
+
puts "[penchant] installing git hooks"
|
25
26
|
|
26
|
-
|
27
|
-
|
27
|
+
Dir['script/hooks/*'].each do |hook|
|
28
|
+
FileUtils.ln_sf File.join(Dir.pwd, hook), "#{GIT_HOOKS_DIR}/#{File.split(hook).last}"
|
29
|
+
end
|
28
30
|
end
|
29
31
|
end
|
32
|
+
|
33
|
+
def self.git?
|
34
|
+
File.directory?(GIT_HOOKS_DIR)
|
35
|
+
end
|
30
36
|
end
|
31
37
|
end
|
32
38
|
|
data/lib/penchant/version.rb
CHANGED
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.2.
|
4
|
+
version: 0.2.17
|
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-08-
|
12
|
+
date: 2012-08-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -151,6 +151,7 @@ files:
|
|
151
151
|
- features/step_definitions/then/i_should_get_the_following_repositories.rb
|
152
152
|
- features/step_definitions/then/the_file_gemfile_should_have_the_following_stripped_content.rb
|
153
153
|
- features/step_definitions/then/the_file_should_have_content.rb
|
154
|
+
- features/step_definitions/then/the_file_tmp_gemfile_penchant_should_include_the_following_content.rb
|
154
155
|
- features/step_definitions/then/the_output_should_include.rb
|
155
156
|
- features/step_definitions/then/the_output_should_not_include_git_hooks_not_installed.rb
|
156
157
|
- features/step_definitions/when/i_rebuild_the_gemfile_for_local_mode.rb
|
@@ -198,7 +199,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
198
199
|
version: '0'
|
199
200
|
segments:
|
200
201
|
- 0
|
201
|
-
hash: -
|
202
|
+
hash: -2365201167288047
|
202
203
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
203
204
|
none: false
|
204
205
|
requirements:
|
@@ -207,7 +208,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
207
208
|
version: '0'
|
208
209
|
segments:
|
209
210
|
- 0
|
210
|
-
hash: -
|
211
|
+
hash: -2365201167288047
|
211
212
|
requirements: []
|
212
213
|
rubyforge_project: penchant
|
213
214
|
rubygems_version: 1.8.23
|
@@ -228,6 +229,7 @@ test_files:
|
|
228
229
|
- features/step_definitions/then/i_should_get_the_following_repositories.rb
|
229
230
|
- features/step_definitions/then/the_file_gemfile_should_have_the_following_stripped_content.rb
|
230
231
|
- features/step_definitions/then/the_file_should_have_content.rb
|
232
|
+
- features/step_definitions/then/the_file_tmp_gemfile_penchant_should_include_the_following_content.rb
|
231
233
|
- features/step_definitions/then/the_output_should_include.rb
|
232
234
|
- features/step_definitions/then/the_output_should_not_include_git_hooks_not_installed.rb
|
233
235
|
- features/step_definitions/when/i_rebuild_the_gemfile_for_local_mode.rb
|