sfrest 0.0.20 → 0.0.21

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '09110b9e469ba6a0f45ad9b28828acb55d46b5809b80283a722c626f2374b81e'
4
- data.tar.gz: 4ab3d5fefe519216e45a6fa175d44b3f1d6f0d978ec2ec3e7475ca6da59f182b
3
+ metadata.gz: 24b7f0820484e682a340217f50f1ee1b236dd80b5612c9020a498a2d63c0577b
4
+ data.tar.gz: c5b3411f739ec602bb24999bbe23c7fa577634b7b144e8c2ba2b66f0ef67b852
5
5
  SHA512:
6
- metadata.gz: ba5deeabee76e8d7e871a0f4fd025b994ae0117093e5fa5359133531440282a9ea7cd615413b1981f1d0d74d706ced48c5615f1b117177ecfa5213cea5f46f4b
7
- data.tar.gz: 8a26d194101fcfa0628f314140a04190231f4a0236531cf58b96bc8fdcc761a69717f635a514cd2c32432d8fd4ba7943e50cb4487e6faac21965a3341207578a
6
+ metadata.gz: bfdf52d93199f81c0a41a1b9546eee129bbfc84436df0137e900a05e2b6784135b031c1177980158cd4008ff35fbfdfbc06a76b5b0be271d3fd734f00d7f98db
7
+ data.tar.gz: a78cd935ffa7d2f181deb91ac8c354d86cbe09f2cb03edcb6a72c24c2467aeeedc3e589499e5964ed6cb674ff99515b639c8581d1f4ef357f4708c1e5b45689d
data/lib/sfrest/update.rb CHANGED
@@ -87,8 +87,29 @@ module SFRest
87
87
  end
88
88
 
89
89
  # Determines the api version to use for updates.
90
+ # it is possible for there to be two codebases
91
+ # and not have a v2 endpoint.
90
92
  def update_version
91
- @conn.codebase.list['stacks'].size > 1 ? 'v2' : 'v1'
93
+ multi_stack? && v2_endpoint? ? 'v2' : 'v1'
94
+ end
95
+
96
+ def multi_stack?
97
+ @multi_stack ||= @conn.codebase.list['stacks'].size > 1
98
+ end
99
+
100
+ # Determines if the v2 endpoint exists.
101
+ # A factory with the endpoint will raise an SFRest::BadRequestError
102
+ # A factory without the endpoint will raise SFRest::InvalidResponse
103
+ def v2_endpoint?
104
+ return @has_v2_endpoint unless @has_v2_endpoint.nil?
105
+ begin
106
+ @conn.post '/api/v2/update', '{}'
107
+ rescue SFRest::BadRequestError
108
+ return @has_v2_endpoint = true
109
+ rescue SFRest::InvalidResponse => e
110
+ return @has_v2_endpoint = false if e.message =~ /Invalid data, status 404/
111
+ raise e
112
+ end
92
113
  end
93
114
  end
94
115
  end
@@ -1,4 +1,4 @@
1
1
  module SFRest
2
2
  # Just tracks the version of sfrest.
3
- VERSION = '0.0.20'.freeze
3
+ VERSION = '0.0.21'.freeze
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sfrest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.20
4
+ version: 0.0.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - ACSF Engineering
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-05 00:00:00.000000000 Z
11
+ date: 2018-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: excon