guard-bundler 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -7,7 +7,7 @@ Bundler guard allows to automatically & intelligently install/update bundle when
7
7
 
8
8
  == Install
9
9
 
10
- Please be sure to have {guard}[http://github.com/guard/guard] installed before continue.
10
+ Please be sure to have {Guard}[https://github.com/guard/guard] installed before continue.
11
11
 
12
12
  Install the gem:
13
13
 
@@ -23,21 +23,19 @@ Add guard definition to your Guardfile by running this command:
23
23
 
24
24
  == Usage
25
25
 
26
- Please read {guard usage doc}[http://github.com/guard/guard#readme]
26
+ Please read {Guard usage doc}[https://github.com/guard/guard#readme]
27
27
 
28
28
  == Guardfile
29
29
 
30
- Bundler guard can be really be adapated to all kind of projects.
31
- Please read {guard doc}[http://github.com/guard/guard#readme] for more info about Guardfile DSL.
32
-
33
- Attention place bundler guard before other is recommended.
30
+ Bundler guard can be really be adapted to all kind of projects.
31
+ Advice: place Bundler guard before other is recommended.
34
32
 
35
33
  === Standard ruby gems
36
34
 
37
35
  guard 'bundler' do
38
- watch('^Gemfile')
36
+ watch('Gemfile')
39
37
  # Uncomment next line if Gemfile contain `gemspec' command
40
- # watch('^.+\.gemspec')
38
+ # watch(/^.+\.gemspec/)
41
39
  end
42
40
 
43
41
  == Options
@@ -48,14 +46,16 @@ You can disable desktop notification with:
48
46
  ...
49
47
  end
50
48
 
49
+ Please read {Guard doc}[https://github.com/guard/guard#readme] for more info about Guardfile DSL.
50
+
51
51
  == Development
52
52
 
53
- - Source hosted at {GitHub}[http://github.com/guard/guard-bundler]
54
- - Report issues/Questions/Feature requests on {GitHub Issues}[http://github.com/guard/guard-bundler/issues]
53
+ - Source hosted at {GitHub}[https://github.com/guard/guard-bundler]
54
+ - Report issues/Questions/Feature requests on {GitHub Issues}[https://github.com/guard/guard-bundler/issues]
55
55
 
56
56
  Pull requests are very welcome! Make sure your patches are well tested. Please create a topic branch for every separate change
57
57
  you make.
58
58
 
59
59
  == Authors
60
60
 
61
- {Yann Lugrin}[http://github.com/yannlugrin]
61
+ {Yann Lugrin}[https://github.com/yannlugrin]
@@ -4,13 +4,15 @@ require 'guard/guard'
4
4
 
5
5
  module Guard
6
6
  class Bundler < Guard
7
+ BUNDLER_ENV_VARS = %w(RUBYOPT BUNDLE_PATH BUNDLE_BIN_PATH BUNDLE_GEMFILE).freeze
7
8
 
8
9
  autoload :Notifier, 'guard/bundler/notifier'
9
10
 
10
11
  def initialize(watchers = [], options = {})
11
12
  super
12
13
 
13
- @notify = options[:notify].nil? ? true : options[:notify]
14
+ @original_env = {}
15
+ options[:notify] = true if options[:notify].nil?
14
16
  end
15
17
 
16
18
  def start
@@ -18,6 +20,10 @@ module Guard
18
20
  true
19
21
  end
20
22
 
23
+ def stop
24
+ true
25
+ end
26
+
21
27
  def reload
22
28
  refresh_bundle
23
29
  end
@@ -27,21 +33,45 @@ module Guard
27
33
  true
28
34
  end
29
35
 
36
+ private
37
+
30
38
  def notify?
31
- !!@notify
39
+ !!options[:notify]
32
40
  end
33
41
 
34
- private
35
-
36
42
  def bundle_need_refresh?
37
- `bundle check`
43
+ with_clean_env do
44
+ `bundle check`
45
+ end
38
46
  $? == 0 ? false : true
39
47
  end
40
48
 
49
+ def with_clean_env
50
+ unset_bundler_env_vars
51
+ ENV['BUNDLE_GEMFILE'] = File.join(Dir.pwd, "Gemfile")
52
+ yield
53
+ ensure
54
+ restore_env
55
+ end
56
+
57
+ def unset_bundler_env_vars
58
+ BUNDLER_ENV_VARS.each do |key|
59
+ @original_env[key] = ENV[key]
60
+ ENV[key] = nil
61
+ end
62
+ end
63
+
64
+ def restore_env
65
+ @original_env.each { |key, value| ENV[key] = value }
66
+ end
67
+
41
68
  def refresh_bundle
42
69
  UI.info 'Refresh bundle', :reset => true
43
70
  start_at = Time.now
44
- result = system('bundle install')
71
+ result = ''
72
+ with_clean_env do
73
+ result = system('bundle install')
74
+ end
45
75
  Notifier::notify(true, Time.now - start_at) if notify?
46
76
  result
47
77
  end
@@ -1,5 +1,5 @@
1
1
  guard 'bundler' do
2
- watch('^Gemfile')
2
+ watch('Gemfile')
3
3
  # Uncomment next line if Gemfile contain `gemspec' command
4
- # watch('^.+\.gemspec')
4
+ # watch(/^.+\.gemspec/)
5
5
  end
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  module Guard
3
3
  module BundlerVersion
4
- VERSION = '0.1.1'
4
+ VERSION = '0.1.2'
5
5
  end
6
6
  end
metadata CHANGED
@@ -1,13 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: guard-bundler
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 1
9
- - 1
10
- version: 0.1.1
4
+ prerelease:
5
+ version: 0.1.2
11
6
  platform: ruby
12
7
  authors:
13
8
  - Yann Lugrin
@@ -15,7 +10,7 @@ autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
12
 
18
- date: 2010-10-27 00:00:00 +02:00
13
+ date: 2011-02-18 00:00:00 +01:00
19
14
  default_executable:
20
15
  dependencies:
21
16
  - !ruby/object:Gem::Dependency
@@ -26,11 +21,6 @@ dependencies:
26
21
  requirements:
27
22
  - - ">="
28
23
  - !ruby/object:Gem::Version
29
- hash: 19
30
- segments:
31
- - 0
32
- - 2
33
- - 2
34
24
  version: 0.2.2
35
25
  type: :runtime
36
26
  version_requirements: *id001
@@ -42,11 +32,6 @@ dependencies:
42
32
  requirements:
43
33
  - - ~>
44
34
  - !ruby/object:Gem::Version
45
- hash: 19
46
- segments:
47
- - 1
48
- - 0
49
- - 2
50
35
  version: 1.0.2
51
36
  type: :development
52
37
  version_requirements: *id002
@@ -58,11 +43,6 @@ dependencies:
58
43
  requirements:
59
44
  - - ~>
60
45
  - !ruby/object:Gem::Version
61
- hash: 13
62
- segments:
63
- - 2
64
- - 0
65
- - 1
66
46
  version: 2.0.1
67
47
  type: :development
68
48
  version_requirements: *id003
@@ -98,25 +78,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
98
78
  requirements:
99
79
  - - ">="
100
80
  - !ruby/object:Gem::Version
101
- hash: 3
102
- segments:
103
- - 0
104
81
  version: "0"
105
82
  required_rubygems_version: !ruby/object:Gem::Requirement
106
83
  none: false
107
84
  requirements:
108
85
  - - ">="
109
86
  - !ruby/object:Gem::Version
110
- hash: 23
111
- segments:
112
- - 1
113
- - 3
114
- - 6
115
87
  version: 1.3.6
116
88
  requirements: []
117
89
 
118
90
  rubyforge_project: guard-bundler
119
- rubygems_version: 1.3.7
91
+ rubygems_version: 1.5.2
120
92
  signing_key:
121
93
  specification_version: 3
122
94
  summary: Guard gem for Bundler