fjords-client 0.0.6 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/fjords-client/fjords-client.rb +33 -3
- data/lib/fjords-client/version.rb +1 -1
- metadata +4 -4
@@ -4,9 +4,10 @@ require 'addressable/uri'
|
|
4
4
|
require 'tmpdir'
|
5
5
|
require 'digest/md5'
|
6
6
|
require 'pathname'
|
7
|
+
require "rbconfig"
|
7
8
|
|
8
9
|
require "stripe"
|
9
|
-
Stripe.api_key = '
|
10
|
+
Stripe.api_key = 'pk_NYJZbk2hGD8kHCGHLx15EHD5w7HPO'
|
10
11
|
|
11
12
|
module Fjords
|
12
13
|
class Token
|
@@ -35,6 +36,14 @@ module Fjords
|
|
35
36
|
def host=(host)
|
36
37
|
@_host = host
|
37
38
|
end
|
39
|
+
|
40
|
+
def ruby_zip?
|
41
|
+
@_ruby_zip ||= false
|
42
|
+
end
|
43
|
+
|
44
|
+
def ruby_zip=(ruby_zip)
|
45
|
+
@_ruby_zip = ruby_zip
|
46
|
+
end
|
38
47
|
end
|
39
48
|
|
40
49
|
# Delegate methods
|
@@ -81,6 +90,8 @@ module Fjords
|
|
81
90
|
class Conflict < ClientError; end
|
82
91
|
class UploadTooLarge < ClientError; end
|
83
92
|
class NothingToUpload < ClientError; end
|
93
|
+
class TooManyConnections < ClientError; end
|
94
|
+
class PreconditionFailed < ClientError; end
|
84
95
|
|
85
96
|
attr_reader :username
|
86
97
|
|
@@ -261,8 +272,21 @@ module Fjords
|
|
261
272
|
|
262
273
|
zip_excludes = excludes.map { |e| "-x \"#{e}\"" }.join(' ')
|
263
274
|
|
264
|
-
|
265
|
-
|
275
|
+
if self.class.ruby_zip?
|
276
|
+
require 'zip/zipfilesystem'
|
277
|
+
|
278
|
+
::Zip::ZipFile::open(zipfile, true) do |zf|
|
279
|
+
get_file_paths(dir).each do |f|
|
280
|
+
zf.add(f.sub("#{path}/",''), f)
|
281
|
+
end
|
282
|
+
end
|
283
|
+
else
|
284
|
+
to_null = !!(RbConfig::CONFIG['host_os'] =~ /mingw|mswin32|cygwin/) ? 'nul' : '/dev/null'
|
285
|
+
|
286
|
+
Dir.chdir(path) do
|
287
|
+
`zip -y -q -r #{zipfile} . #{zip_excludes} 2> #{to_null}`
|
288
|
+
# return unless $? != 0
|
289
|
+
end
|
266
290
|
end
|
267
291
|
|
268
292
|
[zipfile, changeless]
|
@@ -336,6 +360,12 @@ module Fjords
|
|
336
360
|
raise Conflict.new(e)
|
337
361
|
rescue RestClient::Forbidden => e
|
338
362
|
raise Forbidden.new(e)
|
363
|
+
rescue RestClient::TooManyConnectionsFromThisIP => e
|
364
|
+
raise TooManyConnections.new(e)
|
365
|
+
rescue RestClient::PreconditionFailed => e
|
366
|
+
# Bad token
|
367
|
+
remove_token if token
|
368
|
+
raise PreconditionFailed.new(e)
|
339
369
|
rescue Errno::ECONNREFUSED => e
|
340
370
|
raise ConnectionRefused.new(e)
|
341
371
|
rescue Exception => e
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fjords-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.0.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: 2013-
|
12
|
+
date: 2013-02-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rest-client
|
@@ -89,7 +89,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
89
89
|
version: '0'
|
90
90
|
segments:
|
91
91
|
- 0
|
92
|
-
hash:
|
92
|
+
hash: 3275000126563766821
|
93
93
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
@@ -98,7 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
98
98
|
version: '0'
|
99
99
|
segments:
|
100
100
|
- 0
|
101
|
-
hash:
|
101
|
+
hash: 3275000126563766821
|
102
102
|
requirements: []
|
103
103
|
rubyforge_project:
|
104
104
|
rubygems_version: 1.8.23
|