af 0.3.18.6 → 0.3.18.7

Sign up to get free protection for your applications and to get access to all the features.
data/lib/cli.rb CHANGED
@@ -27,6 +27,7 @@ module VMC
27
27
  autoload :TunnelHelper, "#{ROOT}/cli/tunnel_helper"
28
28
  autoload :ManifestHelper, "#{ROOT}/cli/manifest_helper"
29
29
  autoload :ConsoleHelper, "#{ROOT}/cli/console_helper"
30
+ autoload :FileHelper, "#{ROOT}/cli/file_helper"
30
31
 
31
32
  module Command
32
33
  autoload :Base, "#{ROOT}/cli/commands/base"
@@ -14,6 +14,7 @@ module VMC::Cli::Command
14
14
  include VMC::Cli::ManifestHelper
15
15
  include VMC::Cli::TunnelHelper
16
16
  include VMC::Cli::ConsoleHelper
17
+ include VMC::Cli::FileHelper
17
18
 
18
19
  def list
19
20
  apps = client.apps
@@ -501,7 +502,7 @@ module VMC::Cli::Command
501
502
  files = Dir.glob("#{path}/**/*", File::FNM_DOTMATCH)
502
503
  files && files.select { |f| File.socket? f }
503
504
  end
504
-
505
+
505
506
  def upload_app_bits(appname, path, infra)
506
507
  display 'Uploading Application:'
507
508
 
@@ -533,7 +534,9 @@ module VMC::Cli::Command
533
534
 
534
535
  # Do not process .git files
535
536
  files.delete('.git') if files
536
-
537
+
538
+ files = afignore("#{path}/.afignore",files)
539
+
537
540
  FileUtils.cp_r(files, explode_dir)
538
541
 
539
542
  find_sockets(explode_dir).each do |s|
@@ -0,0 +1,48 @@
1
+ module VMC::Cli
2
+ module FileHelper
3
+
4
+
5
+ def match(pattern,filename)
6
+ return false if pattern =~ /^\s*$/ # ignore blank lines
7
+
8
+ return false if pattern =~ /^#/ # lines starting with # are comments
9
+
10
+ if pattern =~ /\/$/
11
+ # pattern ending in a slash should ignore directory and all its children
12
+ dirname = pattern.sub(/\/$/,'')
13
+ return filename == dirname || filename =~ /#{dirname}\/.*$/
14
+ end
15
+
16
+ if pattern =~ /^!/
17
+ return !match(pattern.sub(/^!/,''),filename)
18
+ end
19
+
20
+ if pattern =~ /^\//
21
+ parts = filename.split('/')
22
+ return File.fnmatch(pattern.sub(/^\//,''),parts[0])
23
+ end
24
+
25
+ if pattern.include? '/'
26
+ return File.fnmatch(pattern,filename)
27
+ end
28
+
29
+ File.fnmatch(pattern,filename,File::FNM_PATHNAME)
30
+ end
31
+
32
+ def reject_patterns(patterns,filenames)
33
+ filenames.reject do |filename|
34
+ patterns.detect { |pattern| match(pattern,filename)} != nil
35
+ end
36
+ end
37
+
38
+ def afignore(ignore_path,files)
39
+ if File.exists?(ignore_path)
40
+ patterns = File.read(ignore_path).split("\n")
41
+ reject_patterns(patterns,files)
42
+ else
43
+ files
44
+ end
45
+ end
46
+
47
+ end
48
+ end
data/lib/cli/version.rb CHANGED
@@ -2,6 +2,6 @@ module VMC
2
2
  module Cli
3
3
  # This version number is used as the RubyGem release version.
4
4
  # The internal VMC version number is VMC::VERSION.
5
- VERSION = '0.3.18.6'
5
+ VERSION = '0.3.18.7'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,223 +1,213 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: af
3
- version: !ruby/object:Gem::Version
4
- hash: 19
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.18.7
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 3
9
- - 18
10
- - 6
11
- version: 0.3.18.6
12
6
  platform: ruby
13
- authors:
7
+ authors:
14
8
  - AppFog
15
9
  autorequire:
16
10
  bindir: bin
17
11
  cert_chain: []
18
-
19
- date: 2012-09-21 00:00:00 Z
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
12
+ date: 2012-09-24 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
22
15
  name: json_pure
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
25
17
  none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 1
30
- segments:
31
- - 1
32
- - 5
33
- - 1
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
34
21
  version: 1.5.1
35
22
  - - <
36
- - !ruby/object:Gem::Version
37
- hash: 11
38
- segments:
39
- - 1
40
- - 7
41
- - 0
23
+ - !ruby/object:Gem::Version
42
24
  version: 1.7.0
43
25
  type: :runtime
44
- version_requirements: *id001
45
- - !ruby/object:Gem::Dependency
46
- name: rubyzip
47
26
  prerelease: false
48
- requirement: &id002 !ruby/object:Gem::Requirement
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: 1.5.1
33
+ - - <
34
+ - !ruby/object:Gem::Version
35
+ version: 1.7.0
36
+ - !ruby/object:Gem::Dependency
37
+ name: rubyzip
38
+ requirement: !ruby/object:Gem::Requirement
49
39
  none: false
50
- requirements:
40
+ requirements:
51
41
  - - ~>
52
- - !ruby/object:Gem::Version
53
- hash: 51
54
- segments:
55
- - 0
56
- - 9
57
- - 4
42
+ - !ruby/object:Gem::Version
58
43
  version: 0.9.4
59
44
  type: :runtime
60
- version_requirements: *id002
61
- - !ruby/object:Gem::Dependency
62
- name: rest-client
63
45
  prerelease: false
64
- requirement: &id003 !ruby/object:Gem::Requirement
46
+ version_requirements: !ruby/object:Gem::Requirement
65
47
  none: false
66
- requirements:
67
- - - ">="
68
- - !ruby/object:Gem::Version
69
- hash: 13
70
- segments:
71
- - 1
72
- - 6
73
- - 1
48
+ requirements:
49
+ - - ~>
50
+ - !ruby/object:Gem::Version
51
+ version: 0.9.4
52
+ - !ruby/object:Gem::Dependency
53
+ name: rest-client
54
+ requirement: !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ! '>='
58
+ - !ruby/object:Gem::Version
74
59
  version: 1.6.1
75
60
  - - <
76
- - !ruby/object:Gem::Version
77
- hash: 11
78
- segments:
79
- - 1
80
- - 7
81
- - 0
61
+ - !ruby/object:Gem::Version
82
62
  version: 1.7.0
83
63
  type: :runtime
84
- version_requirements: *id003
85
- - !ruby/object:Gem::Dependency
86
- name: terminal-table
87
64
  prerelease: false
88
- requirement: &id004 !ruby/object:Gem::Requirement
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ! '>='
69
+ - !ruby/object:Gem::Version
70
+ version: 1.6.1
71
+ - - <
72
+ - !ruby/object:Gem::Version
73
+ version: 1.7.0
74
+ - !ruby/object:Gem::Dependency
75
+ name: terminal-table
76
+ requirement: !ruby/object:Gem::Requirement
89
77
  none: false
90
- requirements:
78
+ requirements:
91
79
  - - ~>
92
- - !ruby/object:Gem::Version
93
- hash: 3
94
- segments:
95
- - 1
96
- - 4
97
- - 2
80
+ - !ruby/object:Gem::Version
98
81
  version: 1.4.2
99
82
  type: :runtime
100
- version_requirements: *id004
101
- - !ruby/object:Gem::Dependency
102
- name: interact
103
83
  prerelease: false
104
- requirement: &id005 !ruby/object:Gem::Requirement
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: 1.4.2
90
+ - !ruby/object:Gem::Dependency
91
+ name: interact
92
+ requirement: !ruby/object:Gem::Requirement
105
93
  none: false
106
- requirements:
94
+ requirements:
107
95
  - - ~>
108
- - !ruby/object:Gem::Version
109
- hash: 15
110
- segments:
111
- - 0
112
- - 4
113
- - 0
96
+ - !ruby/object:Gem::Version
114
97
  version: 0.4.0
115
98
  type: :runtime
116
- version_requirements: *id005
117
- - !ruby/object:Gem::Dependency
118
- name: addressable
119
99
  prerelease: false
120
- requirement: &id006 !ruby/object:Gem::Requirement
100
+ version_requirements: !ruby/object:Gem::Requirement
101
+ none: false
102
+ requirements:
103
+ - - ~>
104
+ - !ruby/object:Gem::Version
105
+ version: 0.4.0
106
+ - !ruby/object:Gem::Dependency
107
+ name: addressable
108
+ requirement: !ruby/object:Gem::Requirement
121
109
  none: false
122
- requirements:
110
+ requirements:
123
111
  - - ~>
124
- - !ruby/object:Gem::Version
125
- hash: 11
126
- segments:
127
- - 2
128
- - 2
129
- - 6
112
+ - !ruby/object:Gem::Version
130
113
  version: 2.2.6
131
114
  type: :runtime
132
- version_requirements: *id006
133
- - !ruby/object:Gem::Dependency
134
- name: uuidtools
135
115
  prerelease: false
136
- requirement: &id007 !ruby/object:Gem::Requirement
116
+ version_requirements: !ruby/object:Gem::Requirement
137
117
  none: false
138
- requirements:
118
+ requirements:
139
119
  - - ~>
140
- - !ruby/object:Gem::Version
141
- hash: 11
142
- segments:
143
- - 2
144
- - 1
145
- - 0
120
+ - !ruby/object:Gem::Version
121
+ version: 2.2.6
122
+ - !ruby/object:Gem::Dependency
123
+ name: uuidtools
124
+ requirement: !ruby/object:Gem::Requirement
125
+ none: false
126
+ requirements:
127
+ - - ~>
128
+ - !ruby/object:Gem::Version
146
129
  version: 2.1.0
147
130
  type: :runtime
148
- version_requirements: *id007
149
- - !ruby/object:Gem::Dependency
150
- name: rb-readline
151
131
  prerelease: false
152
- requirement: &id008 !ruby/object:Gem::Requirement
132
+ version_requirements: !ruby/object:Gem::Requirement
133
+ none: false
134
+ requirements:
135
+ - - ~>
136
+ - !ruby/object:Gem::Version
137
+ version: 2.1.0
138
+ - !ruby/object:Gem::Dependency
139
+ name: rb-readline
140
+ requirement: !ruby/object:Gem::Requirement
153
141
  none: false
154
- requirements:
142
+ requirements:
155
143
  - - ~>
156
- - !ruby/object:Gem::Version
157
- hash: 11
158
- segments:
159
- - 0
160
- - 4
161
- - 2
144
+ - !ruby/object:Gem::Version
162
145
  version: 0.4.2
163
146
  type: :runtime
164
- version_requirements: *id008
165
- - !ruby/object:Gem::Dependency
166
- name: rake
167
147
  prerelease: false
168
- requirement: &id009 !ruby/object:Gem::Requirement
148
+ version_requirements: !ruby/object:Gem::Requirement
169
149
  none: false
170
- requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- hash: 3
174
- segments:
175
- - 0
176
- version: "0"
150
+ requirements:
151
+ - - ~>
152
+ - !ruby/object:Gem::Version
153
+ version: 0.4.2
154
+ - !ruby/object:Gem::Dependency
155
+ name: rake
156
+ requirement: !ruby/object:Gem::Requirement
157
+ none: false
158
+ requirements:
159
+ - - ! '>='
160
+ - !ruby/object:Gem::Version
161
+ version: '0'
177
162
  type: :development
178
- version_requirements: *id009
179
- - !ruby/object:Gem::Dependency
180
- name: rspec
181
163
  prerelease: false
182
- requirement: &id010 !ruby/object:Gem::Requirement
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ none: false
166
+ requirements:
167
+ - - ! '>='
168
+ - !ruby/object:Gem::Version
169
+ version: '0'
170
+ - !ruby/object:Gem::Dependency
171
+ name: rspec
172
+ requirement: !ruby/object:Gem::Requirement
183
173
  none: false
184
- requirements:
174
+ requirements:
185
175
  - - ~>
186
- - !ruby/object:Gem::Version
187
- hash: 27
188
- segments:
189
- - 1
190
- - 3
191
- - 0
176
+ - !ruby/object:Gem::Version
192
177
  version: 1.3.0
193
178
  type: :development
194
- version_requirements: *id010
195
- - !ruby/object:Gem::Dependency
196
- name: webmock
197
179
  prerelease: false
198
- requirement: &id011 !ruby/object:Gem::Requirement
180
+ version_requirements: !ruby/object:Gem::Requirement
199
181
  none: false
200
- requirements:
182
+ requirements:
201
183
  - - ~>
202
- - !ruby/object:Gem::Version
203
- hash: 3
204
- segments:
205
- - 1
206
- - 5
207
- - 0
184
+ - !ruby/object:Gem::Version
185
+ version: 1.3.0
186
+ - !ruby/object:Gem::Dependency
187
+ name: webmock
188
+ requirement: !ruby/object:Gem::Requirement
189
+ none: false
190
+ requirements:
191
+ - - ~>
192
+ - !ruby/object:Gem::Version
208
193
  version: 1.5.0
209
194
  type: :development
210
- version_requirements: *id011
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ none: false
198
+ requirements:
199
+ - - ~>
200
+ - !ruby/object:Gem::Version
201
+ version: 1.5.0
211
202
  description: AppFog.com CLI
212
203
  email: support@appfog.com
213
- executables:
204
+ executables:
214
205
  - af
215
206
  extensions: []
216
-
217
- extra_rdoc_files:
207
+ extra_rdoc_files:
218
208
  - README.md
219
209
  - LICENSE
220
- files:
210
+ files:
221
211
  - LICENSE
222
212
  - README.md
223
213
  - Rakefile
@@ -237,6 +227,7 @@ files:
237
227
  - lib/cli/console_helper.rb
238
228
  - lib/cli/core_ext.rb
239
229
  - lib/cli/errors.rb
230
+ - lib/cli/file_helper.rb
240
231
  - lib/cli/frameworks.rb
241
232
  - lib/cli/manifest_helper.rb
242
233
  - lib/cli/runner.rb
@@ -262,36 +253,26 @@ files:
262
253
  - bin/af
263
254
  homepage: http://appfog.com
264
255
  licenses: []
265
-
266
256
  post_install_message:
267
257
  rdoc_options: []
268
-
269
- require_paths:
258
+ require_paths:
270
259
  - lib
271
- required_ruby_version: !ruby/object:Gem::Requirement
260
+ required_ruby_version: !ruby/object:Gem::Requirement
272
261
  none: false
273
- requirements:
274
- - - ">="
275
- - !ruby/object:Gem::Version
276
- hash: 3
277
- segments:
278
- - 0
279
- version: "0"
280
- required_rubygems_version: !ruby/object:Gem::Requirement
262
+ requirements:
263
+ - - ! '>='
264
+ - !ruby/object:Gem::Version
265
+ version: '0'
266
+ required_rubygems_version: !ruby/object:Gem::Requirement
281
267
  none: false
282
- requirements:
283
- - - ">="
284
- - !ruby/object:Gem::Version
285
- hash: 3
286
- segments:
287
- - 0
288
- version: "0"
268
+ requirements:
269
+ - - ! '>='
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
289
272
  requirements: []
290
-
291
273
  rubyforge_project:
292
274
  rubygems_version: 1.8.24
293
275
  signing_key:
294
276
  specification_version: 3
295
277
  summary: AppFog.com CLI
296
278
  test_files: []
297
-