guard-bundler 0.1.2 → 0.1.3
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/lib/guard/bundler.rb +21 -43
- data/lib/guard/bundler/notifier.rb +7 -6
- data/lib/guard/bundler/version.rb +1 -1
- metadata +18 -7
data/lib/guard/bundler.rb
CHANGED
@@ -1,27 +1,20 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require 'guard'
|
3
3
|
require 'guard/guard'
|
4
|
+
require 'bundler'
|
4
5
|
|
5
6
|
module Guard
|
6
7
|
class Bundler < Guard
|
7
|
-
BUNDLER_ENV_VARS = %w(RUBYOPT BUNDLE_PATH BUNDLE_BIN_PATH BUNDLE_GEMFILE).freeze
|
8
|
-
|
9
8
|
autoload :Notifier, 'guard/bundler/notifier'
|
10
9
|
|
11
10
|
def initialize(watchers = [], options = {})
|
12
11
|
super
|
13
12
|
|
14
|
-
@original_env = {}
|
15
13
|
options[:notify] = true if options[:notify].nil?
|
16
14
|
end
|
17
|
-
|
18
|
-
def start
|
19
|
-
return refresh_bundle if bundle_need_refresh?
|
20
|
-
true
|
21
|
-
end
|
22
15
|
|
23
|
-
def
|
24
|
-
|
16
|
+
def start
|
17
|
+
refresh_bundle
|
25
18
|
end
|
26
19
|
|
27
20
|
def reload
|
@@ -29,8 +22,7 @@ module Guard
|
|
29
22
|
end
|
30
23
|
|
31
24
|
def run_on_change(paths = [])
|
32
|
-
|
33
|
-
true
|
25
|
+
refresh_bundle
|
34
26
|
end
|
35
27
|
|
36
28
|
private
|
@@ -39,41 +31,27 @@ module Guard
|
|
39
31
|
!!options[:notify]
|
40
32
|
end
|
41
33
|
|
42
|
-
def
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
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
|
34
|
+
def refresh_bundle
|
35
|
+
if bundle_need_refresh?
|
36
|
+
UI.info 'Refresh bundle', :reset => true
|
37
|
+
start_at = Time.now
|
38
|
+
::Bundler.with_clean_env do
|
39
|
+
@result = system('bundle install')
|
40
|
+
end
|
41
|
+
Notifier::notify(@result, Time.now - start_at) if notify?
|
42
|
+
@result
|
43
|
+
else
|
44
|
+
UI.info 'Bundle already up-to-date', :reset => true
|
45
|
+
Notifier::notify('up-to-date', nil) if notify?
|
46
|
+
true
|
61
47
|
end
|
62
48
|
end
|
63
49
|
|
64
|
-
def
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
def refresh_bundle
|
69
|
-
UI.info 'Refresh bundle', :reset => true
|
70
|
-
start_at = Time.now
|
71
|
-
result = ''
|
72
|
-
with_clean_env do
|
73
|
-
result = system('bundle install')
|
50
|
+
def bundle_need_refresh?
|
51
|
+
::Bundler.with_clean_env do
|
52
|
+
`bundle check`
|
74
53
|
end
|
75
|
-
|
76
|
-
result
|
54
|
+
$? == 0 ? false : true
|
77
55
|
end
|
78
56
|
|
79
57
|
end
|
@@ -4,13 +4,14 @@ module Guard
|
|
4
4
|
class Notifier
|
5
5
|
|
6
6
|
def self.guard_message(result, duration)
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
case result
|
8
|
+
when 'up-to-date'
|
9
|
+
"Bundle already up-to-date"
|
10
|
+
when true
|
11
|
+
"Bundle has been updated\nin %.1f seconds." % [duration]
|
10
12
|
else
|
11
|
-
|
13
|
+
"Bundle can't be updated,\nplease check manually."
|
12
14
|
end
|
13
|
-
message
|
14
15
|
end
|
15
16
|
|
16
17
|
# failed | success
|
@@ -31,4 +32,4 @@ module Guard
|
|
31
32
|
|
32
33
|
end
|
33
34
|
end
|
34
|
-
end
|
35
|
+
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: guard-bundler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.1.
|
5
|
+
version: 0.1.3
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Yann Lugrin
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
13
|
+
date: 2011-05-14 00:00:00 +02:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -30,10 +30,10 @@ dependencies:
|
|
30
30
|
requirement: &id002 !ruby/object:Gem::Requirement
|
31
31
|
none: false
|
32
32
|
requirements:
|
33
|
-
- -
|
33
|
+
- - ">="
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version: 1.0.
|
36
|
-
type: :
|
35
|
+
version: 1.0.0
|
36
|
+
type: :runtime
|
37
37
|
version_requirements: *id002
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
39
|
name: rspec
|
@@ -43,9 +43,20 @@ dependencies:
|
|
43
43
|
requirements:
|
44
44
|
- - ~>
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 2.0
|
46
|
+
version: 2.6.0
|
47
47
|
type: :development
|
48
48
|
version_requirements: *id003
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: guard-rspec
|
51
|
+
prerelease: false
|
52
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
54
|
+
requirements:
|
55
|
+
- - ~>
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: 0.3.1
|
58
|
+
type: :development
|
59
|
+
version_requirements: *id004
|
49
60
|
description: Guard::Bundler automatically install/update your gem bundle when needed
|
50
61
|
email:
|
51
62
|
- yann.lugrin@sans-savoir.net
|
@@ -88,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
88
99
|
requirements: []
|
89
100
|
|
90
101
|
rubyforge_project: guard-bundler
|
91
|
-
rubygems_version: 1.
|
102
|
+
rubygems_version: 1.6.2
|
92
103
|
signing_key:
|
93
104
|
specification_version: 3
|
94
105
|
summary: Guard gem for Bundler
|