apilayer 1.4.0 → 1.5.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 82aeeda21050efb48e62a0d2fb4b9ebe46a7acc8
4
- data.tar.gz: 101b15014092486700fea46ad8b5fb31ea097918
3
+ metadata.gz: b78b1270c33ed6f9b1a8879031dcb80fa82bee9b
4
+ data.tar.gz: b1349cc942a471919e688af35cf447a60d955296
5
5
  SHA512:
6
- metadata.gz: e0a3603cf06becdddee31d8d8b48e51a7aa9149583ebba6bf501d81896627616ded7734d6a950b7afc7add8d6cb372bda235532e48298084714a97841b1cf9df
7
- data.tar.gz: b0006ad23396afc3cd707dc500b71f3e193a26a8a18d37c23dfeec047879602c2fe878d5f8b46d10ad7f5996d66539bd5cb96cc93e520d46271261c1ba9727e3
6
+ metadata.gz: 2a247fd53c936004185f43a3e67b3bef676718ca6df248d33032f50d5a4a44e6f1fa8a1657e2f0400179230d2a31a20887ec6c8bd2716d2b95454df3586787de
7
+ data.tar.gz: dd6fc9340d265b22c5542717496e67b9fff07339f602704bfe8a55358b3016403a393c7c9bc698c5fe19ad9ea8a538adcb6544b8df294db9ef7dba9b6db7e323
@@ -3,13 +3,14 @@
3
3
  Ruby wrapper for various services of apilayer.
4
4
  See http://apilayer.com for more details.
5
5
 
6
- === Version 1.4
7
- Added .change and .list to Apilayer::Currency
6
+ === Version 1.5
7
+ Improved reconfiguration-mechanism in Apilayer.
8
+ Added HTTPS-option in Apilayer module.
9
+ With this release, all paid-features of vatlayer and currencylayer are fully covered.
8
10
 
9
- === Version 1.3
11
+ === Version 1.2 - 1.4
12
+ Added .change and .list to Apilayer::Currency
10
13
  Added .timeframe to Apilayer::Currency
11
-
12
- === Version 1.2
13
14
  Added .convert to Apilayer::Currency
14
15
 
15
16
  === Version 1.1
@@ -39,11 +40,18 @@ Then you can use your access_key(s) to configure your Apilayer module like this:
39
40
  Apilayer.configure do |configs|
40
41
  configs.vat_key = "my_vatlayer_access_key_123"
41
42
  configs.currency_key = "my_currencylayer_access_key_123"
43
+ configs.vat_https = false
44
+ configs.currency_https = true
42
45
  end
43
46
 
44
- Please note that you don't need to assign keys for both services. You only need to assign the key for the service you have signed up for.
47
+ Please note that you only need to set the access keys and https connections that you need.
48
+ If unset, these values are just nil.
45
49
 
46
- Once that is done, you are ready to go
50
+ You can always review you configurations with:
51
+
52
+ Apilayer.configs
53
+
54
+ Once your configurations are set, you are ready to go
47
55
 
48
56
  ==== currencylayer
49
57
  After setting the access_key for *currencylayer*, you can use Apilayer::Currency to call *currencylayer*'s API
@@ -86,12 +94,14 @@ After setting the access_key for *vatlayer*, you can use Apilayer::Vat to call *
86
94
  Apilayer::Vat.price(100, :country, "NL")
87
95
  Apilayer::Vat.price(100, :ip_address, "176.249.153.36")
88
96
 
89
- ==== Re-Configure Apilayer's access_keys
90
- If you happened to have forgotten to provide an access_key or entered an incorrect one, you can re-configure your Apilayer module by:
97
+ ==== Re-Configure Apilayer
98
+ If you happened to have forgotten to set or entered an incorrect value, you can re-configure your Apilayer module by:
91
99
 
92
- # Example: reconfigure access_key for vatlayer
93
- Apilayer::Vatlayer.reset_connection
100
+ # Example: reconfigure https for vatlayer
94
101
  Apilayer.configure do |configs|
95
- configs.vat_key = "my_valid_key_123"
102
+ configs.vat_https = true
96
103
  end
104
+
105
+ The action above will not affect the other Apilayer configurations you have set previously.
106
+ When you try to connect to Apilayer again, it will create a new connection based on the values you provided.
97
107
 
@@ -8,7 +8,7 @@ module Apilayer
8
8
  end
9
9
 
10
10
  def self.init_configs
11
- keys = Struct.new(:currency_key, :vat_key)
11
+ keys = Struct.new(:currency_key, :vat_key, :currency_https, :vat_https)
12
12
  keys.new
13
13
  end
14
14
 
@@ -21,6 +21,7 @@ module Apilayer
21
21
  end
22
22
 
23
23
  def self.configure
24
+ reset_observers_connections
24
25
  yield(configs)
25
26
  end
26
27
  end
@@ -28,4 +29,12 @@ end
28
29
  require "apilayer/connection_helper"
29
30
  require "apilayer/currency"
30
31
  require "apilayer/vat"
32
+
33
+ module Apilayer
34
+ OBSERVERS = [Apilayer::Currency, Apilayer::Vat]
35
+ def self.reset_observers_connections
36
+ OBSERVERS.each(&:reset_connection)
37
+ end
38
+ end
39
+
31
40
  require "apilayer/error"
@@ -5,10 +5,15 @@ module Apilayer
5
5
  # Creates a connection for the extended module to an apilayer-service, such as currencylayer and vatlayer.
6
6
  # Uses access_key(s) configured with Apilayer module.
7
7
  def connection
8
- @connection ||= ::Faraday.new(:url => 'http://apilayer.net',
9
- :params => {"access_key" => Apilayer.configs[self.const_get(:APILAYER_CONFIG_KEY)]})
8
+ @connection ||= ::Faraday.new(
9
+ :url => "#{protocol}://apilayer.net",
10
+ :params => {"access_key" => Apilayer.configs[self.const_get(:APILAYER_CONFIG_KEY)]}
11
+ )
10
12
  end
11
13
 
14
+ def protocol
15
+ Apilayer.configs[self.const_get(:APILAYER_SECURE)] ? "https" : "http"
16
+ end
12
17
  ##
13
18
  # Resets the connection for the extended module. Used when the user needs to re-enter his/her access_key(s)
14
19
  def reset_connection
@@ -5,9 +5,11 @@ module Apilayer
5
5
  extend ConnectionHelper
6
6
 
7
7
  ##
8
- # Determines which access_key in Apilayer.configs to use
8
+ # The following constants determine which values in Apilayer.configs to be used
9
9
  # in order to to make a connection to currencylayer
10
10
  APILAYER_CONFIG_KEY = :currency_key
11
+ APILAYER_SECURE = :currency_https
12
+
11
13
  INVALID_OPTIONS_MSG = "You have provided an invalid option. Allowed options are :currencies and :source"
12
14
  INVALID_TIMEFRAME_MSG = "start_date and end_date must be either provided together or left out together."
13
15
  LIVE_SLUG = "live"
@@ -7,10 +7,10 @@ module Apilayer
7
7
  COUNTRY_CRITERIA_MISSING_MSG = "You must provide either :country_code or :ip_address"
8
8
 
9
9
  ##
10
- # Determines which access_key in Apilayer.configs to use
10
+ # The following constants determine which values in Apilayer.configs to be used
11
11
  # in order to make a connection to vatlayer
12
12
  APILAYER_CONFIG_KEY = :vat_key
13
-
13
+ APILAYER_SECURE = :vat_https
14
14
  ##
15
15
  # Validates whether a supported criteria has been provided to .rate and .price
16
16
  def self.validate_country_criteria(criteria)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: apilayer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Fong
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-22 00:00:00.000000000 Z
11
+ date: 2016-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -190,8 +190,8 @@ dependencies:
190
190
  - - ">="
191
191
  - !ruby/object:Gem::Version
192
192
  version: 2.0.1
193
- description: Ruby wrapper for currencylayer and vatlayer from apilayer.com. Currently
194
- not supporting all paid-features yet. See https://apilayer.com/ for more details.
193
+ description: Ruby wrapper for currencylayer and vatlayer from apilayer.com. See https://apilayer.com/
194
+ for more details.
195
195
  email:
196
196
  - actfong@gmail.com
197
197
  executables: []
@@ -230,6 +230,6 @@ rubyforge_project:
230
230
  rubygems_version: 2.4.5
231
231
  signing_key:
232
232
  specification_version: 4
233
- summary: Ruby wrapper for currencylayer and vatlayer from apilayer.com. For more info,
234
- see http://apilayer.com
233
+ summary: Ruby wrapper for currencylayer and vatlayer from apilayer.com. See https://apilayer.com/
234
+ for more details.
235
235
  test_files: []