figo 1.1 → 1.1.1

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
- ---
2
- SHA1:
3
- metadata.gz: c9bbbd2adbe88269274fcff1ddcd8f342bf56e1a
4
- data.tar.gz: 7267a93b66bc7aea0e1ae909ebf7e6bf9a0878c0
5
- SHA512:
6
- metadata.gz: 02cc595570b661a625333d589e7eff74632dbb289d3f20a6fd5ed1e67520234eac7d68e66325471a0e9cd616bba8ba34200fa207d695fac43f737f20a5a2af27
7
- data.tar.gz: 85d7e1e88a2ead733cdfd1cefe03a978d1b2065701e483f94bdff50cc588f7704fe1dfdd3ec393ffd14aa2dd997f77ac6e11b04a4d36a818998e69c18bd22f6c
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 390163889160a8aefcb91f1f8b4f99e18c84efb9
4
+ data.tar.gz: 2a24495ecbb097b1659dbb29f8ad697b082d24a2
5
+ SHA512:
6
+ metadata.gz: e0c1cc2c14a9b6db75c5724b949ec2d0b7d496103247bd4bdcd72993e549d6371465dcd1222105ca939d7837c99ee44d2f6937efe56b606cffb40982641eb52f
7
+ data.tar.gz: b5401f6d092be459e5165bb86564d4180e7529cfd750261604865e17d5fcac0e0b44c3ecc311b435b194fcb4dc0d3ffd936be1840ba9dda2c5e012a48de97f2a
data/.travis.yml CHANGED
@@ -2,5 +2,13 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.3
4
4
  - 2.0.0
5
+ - 2.1.1
6
+ - ruby-head
7
+ - rbx-2.1.1
8
+ - rbx
5
9
  - jruby-19mode # JRuby in 1.9 mode
6
- - rbx-19mode
10
+ - jruby-head
11
+ matrix:
12
+ allow_failures:
13
+ - rvm: jruby-19mode
14
+ - rvm: jruby-head
data/Gemfile CHANGED
@@ -3,3 +3,4 @@ source "http://rubygems.org"
3
3
  gemspec
4
4
 
5
5
  gem "rake"
6
+ gem "minitest"
data/README.md CHANGED
@@ -6,35 +6,67 @@ Ruby bindings for the figo Connect API: http://developer.figo.me
6
6
  Usage
7
7
  =====
8
8
 
9
- First, you've to install the gem
9
+ First, you've to install the gem:
10
10
 
11
11
  ```bash
12
- gem install figo
12
+ gem install figo
13
13
  ```
14
14
 
15
- and require it
15
+ Now you can create a new session and access data:
16
16
 
17
17
  ```ruby
18
- require "figo"
18
+ require "figo"
19
+
20
+ session = Figo::Session.new("ASHWLIkouP2O6_bgA2wWReRhletgWKHYjLqDaqb0LFfamim9RjexTo22ujRIP_cjLiRiSyQXyt2kM1eXU2XLFZQ0Hro15HikJQT_eNeT_9XQ")
21
+
22
+ # Print out list of account numbers and balances.
23
+ session.accounts.each do |account|
24
+ puts account.account_number
25
+ puts account.balance.balance
26
+ end
27
+
28
+ # Print out the list of all transaction originators/recipients of a specific account.
29
+ session.get_account("A1.1").transactions.each do |transaction|
30
+ puts transaction.name
31
+ end
19
32
  ```
20
33
 
21
- Now you can create a new session and access data:
34
+ It is just as simple to allow users to login through the API:
22
35
 
23
36
  ```ruby
24
- session = Figo::Session.new("ASHWLIkouP2O6_bgA2wWReRhletgWKHYjLqDaqb0LFfamim9RjexTo22ujRIP_cjLiRiSyQXyt2kM1eXU2XLFZQ0Hro15HikJQT_eNeT_9XQ")
25
-
26
- # Print out a list of accounts.
27
- session.accounts.each do |account|
28
- puts account
29
- puts account.balance
30
- end
31
-
32
- # Print out the list of all transactions of a specific account.
33
- session.get_account("A1.2").transactions.each do |transaction|
34
- puts transaction
35
- end
37
+ require "figo"
38
+ require "launchy"
39
+
40
+ connection = Figo::Connection.new("<client ID>", "<client secret>", "http://my-domain.org/redirect-url")
41
+
42
+ def start_login
43
+ # Open webbrowser to kick of the login process.
44
+ Launchy.open(connection.login_url("qweqwe"))
45
+ end
46
+
47
+ def process_redirect(authorization_code, state)
48
+ # Handle the redirect URL invocation from the initial start_login call.
49
+
50
+ # Ignore bogus redirects.
51
+ if state != "qweqwe"
52
+ return
53
+ end
54
+
55
+ # Trade in authorization code for access token.
56
+ token_hash = connection.obtain_access_token(authorization_code)
57
+
58
+ # Start session.
59
+ session = Figo::Session.new(token_hash["access_token"])
60
+
61
+ # Print out list of account numbers.
62
+ session.accounts.each do |account|
63
+ puts account.account_number
64
+ end
65
+ end
36
66
  ```
37
67
 
68
+ You can find more documentation at http://rubydoc.info/github/figo-connect/ruby-figo/master/frames
69
+
38
70
  Requirements
39
71
  ============
40
72
 
data/figo.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "figo"
3
- s.version = "1.1"
3
+ s.version = "1.1.1"
4
4
  s.authors = ["Stefan Richter", "Michael Haller"]
5
5
  s.email = ["stefan.richter@figo.me", "michael.haller@figo.me"]
6
6
  s.homepage = "https://github.com/figo-connect/ruby-figo"
data/lib/cacert.pem CHANGED
@@ -1,41 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290
3
- IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB
4
- IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRA
5
- Y2FjZXJ0Lm9yZzAeFw0wMzAzMzAxMjI5NDlaFw0zMzAzMjkxMjI5NDlaMHkxEDAO
6
- BgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEi
7
- MCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJ
8
- ARYSc3VwcG9ydEBjYWNlcnQub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
9
- CgKCAgEAziLA4kZ97DYoB1CW8qAzQIxL8TtmPzHlawI229Z89vGIj053NgVBlfkJ
10
- 8BLPRoZzYLdufujAWGSuzbCtRRcMY/pnCujW0r8+55jE8Ez64AO7NV1sId6eINm6
11
- zWYyN3L69wj1x81YyY7nDl7qPv4coRQKFWyGhFtkZip6qUtTefWIonvuLwphK42y
12
- fk1WpRPs6tqSnqxEQR5YYGUFZvjARL3LlPdCfgv3ZWiYUQXw8wWRBB0bF4LsyFe7
13
- w2t6iPGwcswlWyCR7BYCEo8y6RcYSNDHBS4CMEK4JZwFaz+qOqfrU0j36NK2B5jc
14
- G8Y0f3/JHIJ6BVgrCFvzOKKrF11myZjXnhCLotLddJr3cQxyYN/Nb5gznZY0dj4k
15
- epKwDpUeb+agRThHqtdB7Uq3EvbXG4OKDy7YCbZZ16oE/9KTfWgu3YtLq1i6L43q
16
- laegw1SJpfvbi1EinbLDvhG+LJGGi5Z4rSDTii8aP8bQUWWHIbEZAWV/RRyH9XzQ
17
- QUxPKZgh/TMfdQwEUfoZd9vUFBzugcMd9Zi3aQaRIt0AUMyBMawSB3s42mhb5ivU
18
- fslfrejrckzzAeVLIL+aplfKkQABi6F1ITe1Yw1nPkZPcCBnzsXWWdsC4PDSy826
19
- YreQQejdIOQpvGQpQsgi3Hia/0PsmBsJUUtaWsJx8cTLc6nloQsCAwEAAaOCAc4w
20
- ggHKMB0GA1UdDgQWBBQWtTIb1Mfz4OaO873SsDrusjkY0TCBowYDVR0jBIGbMIGY
21
- gBQWtTIb1Mfz4OaO873SsDrusjkY0aF9pHsweTEQMA4GA1UEChMHUm9vdCBDQTEe
22
- MBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0
23
- IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2Vy
24
- dC5vcmeCAQAwDwYDVR0TAQH/BAUwAwEB/zAyBgNVHR8EKzApMCegJaAjhiFodHRw
25
- czovL3d3dy5jYWNlcnQub3JnL3Jldm9rZS5jcmwwMAYJYIZIAYb4QgEEBCMWIWh0
26
- dHBzOi8vd3d3LmNhY2VydC5vcmcvcmV2b2tlLmNybDA0BglghkgBhvhCAQgEJxYl
27
- aHR0cDovL3d3dy5jYWNlcnQub3JnL2luZGV4LnBocD9pZD0xMDBWBglghkgBhvhC
28
- AQ0ESRZHVG8gZ2V0IHlvdXIgb3duIGNlcnRpZmljYXRlIGZvciBGUkVFIGhlYWQg
29
- b3ZlciB0byBodHRwOi8vd3d3LmNhY2VydC5vcmcwDQYJKoZIhvcNAQEEBQADggIB
30
- ACjH7pyCArpcgBLKNQodgW+JapnM8mgPf6fhjViVPr3yBsOQWqy1YPaZQwGjiHCc
31
- nWKdpIevZ1gNMDY75q1I08t0AoZxPuIrA2jxNGJARjtT6ij0rPtmlVOKTV39O9lg
32
- 18p5aTuxZZKmxoGCXJzN600BiqXfEVWqFcofN8CCmHBh22p8lqOOLlQ+TyGpkO/c
33
- gr/c6EWtTZBzCDyUZbAEmXZ/4rzCahWqlwQ3JNgelE5tDlG+1sSPypZt90Pf6DBl
34
- Jzt7u0NDY8RD97LsaMzhGY4i+5jhe1o+ATc7iwiwovOVThrLm82asduycPAtStvY
35
- sONvRUgzEv/+PDIqVPfE94rwiCPCR/5kenHA0R6mY7AHfqQv0wGP3J8rtsYIqQ+T
36
- SCX8Ev2fQtzzxD72V7DX3WnRBnc0CkvSyqD/HMaMyRa+xMwyN2hzXwj7UfdJUzYF
37
- CpUCTPJ5GhD22Dp1nPMd8aINcGeGG7MW9S/lpOt5hvk9C8JzC6WZrG/8Z7jlLwum
38
- GCSNe9FINSkYQKyTYOGWhlC0elnYjyELn8+CkcY7v2vcB5G5l1YjqrZslMZIBjzk
39
- zk6q5PYvCdxTby78dOs6Y5nCpqyJvKeyRKANihDjbPIky/qbn3BHLt4Ui9SyIAmW
40
- omTxJBzcoTWcFbLUvFUufQb1nA5V9FrWk9p2rSVzTMVD
41
- -----END CERTIFICATE-----
data/lib/figo.rb CHANGED
@@ -21,8 +21,7 @@
21
21
  #
22
22
 
23
23
  require "json"
24
- require "logger"
25
- require 'net/http/persistent'
24
+ require "net/http/persistent"
26
25
  require "digest/sha1"
27
26
  require_relative "models.rb"
28
27
 
@@ -30,12 +29,9 @@ require_relative "models.rb"
30
29
  # Ruby bindings for the figo Connect API: http://developer.figo.me
31
30
  module Figo
32
31
 
33
- $api_endpoint = "api.leanbank.com"
32
+ $api_endpoint = "api.figo.me"
34
33
 
35
- $valid_fingerprints = ["A6:FE:08:F4:A8:86:F9:C1:BF:4E:70:0A:BD:72:AE:B8:8E:B7:78:52",
36
- "AD:A0:E3:2B:1F:CE:E8:44:F2:83:BA:AE:E4:7D:F2:AD:44:48:7F:1E"]
37
-
38
- $logger = Logger.new(STDOUT)
34
+ $valid_fingerprints = ["3A:62:54:4D:86:B4:34:38:EA:34:64:4E:95:10:A9:FF:37:27:69:C0"]
39
35
 
40
36
  # Base class for all errors transported via the figo Connect API.
41
37
  class Error < RuntimeError
@@ -104,7 +100,6 @@ module Figo
104
100
  when Net::HTTPServiceUnavailable
105
101
  raise Error.new("service_unavailable", "Exceeded rate limit.")
106
102
  else
107
- $logger.warn("Querying the API failed when accessing '#{path}': #{response.code}")
108
103
  raise Error.new("internal_server_error", "We are very sorry, but something went wrong.")
109
104
  end
110
105
  end
@@ -141,7 +136,7 @@ module Figo
141
136
  request.basic_auth(@client_id, @client_secret)
142
137
  request["Accept"] = "application/json"
143
138
  request["Content-Type"] = "application/x-www-form-urlencoded"
144
- request['User-Agent'] = "ruby-figo"
139
+ request["User-Agent"] = "ruby-figo"
145
140
  request.body = URI.encode_www_form(data) unless data.nil?
146
141
 
147
142
  # Send HTTP request.
@@ -163,6 +158,7 @@ module Figo
163
158
  # validated the authenticity of the call to the redirect URL
164
159
  # @param scope [String] optional scope of data access to ask the user for,
165
160
  # e.g. `accounts=ro`
161
+ # @return [String] the URL to be opened by the user.
166
162
  def login_url(state, scope = nil)
167
163
  data = { "response_type" => "code", "client_id" => @client_id, "state" => state }
168
164
  data["redirect_uri"] = @redirect_uri unless @redirect_uri.nil?
@@ -179,7 +175,7 @@ module Figo
179
175
  # @param scope [String] optional scope of data access to ask the user for,
180
176
  # e.g. `accounts=ro`
181
177
  # @return [Hash] object with the keys `access_token`, `refresh_token` and
182
- # `expires,` as documented in the figo Connect API specification.
178
+ # `expires`, as documented in the figo Connect API specification.
183
179
  def obtain_access_token(authorization_code_or_refresh_token, scope = nil)
184
180
  # Authorization codes always start with "O" and refresh tokens always start with "R".
185
181
  if authorization_code_or_refresh_token[0] == "O"
@@ -196,7 +192,7 @@ module Figo
196
192
  #
197
193
  # @note this action has immediate effect, i.e. you will not be able use that token anymore after this call.
198
194
  #
199
- # @param token [String] access or refresh token to be revoked
195
+ # @param refresh_token_or_access_token [String] access or refresh token to be revoked
200
196
  # @return [nil]
201
197
  def revoke_token(refresh_token_or_access_token)
202
198
  data = { "token" => refresh_token_or_access_token }
@@ -221,6 +217,7 @@ module Figo
221
217
  #
222
218
  # @param path [String] the URL path on the server
223
219
  # @param data [hash] this optional object will be used as JSON-encoded POST content.
220
+ # @param method [String] the HTTP method
224
221
  # @return [Hash] JSON response
225
222
  def query_api(path, data=nil, method="GET") # :nodoc:
226
223
  uri = URI("https://#{$api_endpoint}#{path}")
@@ -240,7 +237,7 @@ module Figo
240
237
  request["Authorization"] = "Bearer #{@access_token}"
241
238
  request["Accept"] = "application/json"
242
239
  request["Content-Type"] = "application/json"
243
- request['User-Agent'] = "ruby-figo"
240
+ request["User-Agent"] = "ruby-figo"
244
241
  request.body = JSON.generate(data) unless data.nil?
245
242
 
246
243
  # Send HTTP request.
@@ -270,14 +267,14 @@ module Figo
270
267
  # @return [Account] account object
271
268
  def get_account(account_id)
272
269
  response = query_api("/rest/accounts/#{account_id}")
273
- return Account.new(self, response)
270
+ return response.nil? ? nil : Account.new(self, response)
274
271
  end
275
272
 
276
273
  # Request list of transactions.
277
274
  #
278
- # @param since [String] this parameter can either be a transaction ID or a date
275
+ # @param since [String, Date] this parameter can either be a transaction ID or a date
279
276
  # @param start_id [String] do only return transactions which were booked after the start transaction ID
280
- # @param count [Intger] limit the number of returned transactions
277
+ # @param count [Integer] limit the number of returned transactions
281
278
  # @param include_pending [Boolean] this flag indicates whether pending transactions should be included
282
279
  # in the response; pending transactions are always included as a complete set, regardless of
283
280
  # the `since` parameter
@@ -294,7 +291,7 @@ module Figo
294
291
 
295
292
  # Request the URL a user should open in the web browser to start the synchronization process.
296
293
  #
297
- # @param redirect_uri [String] URI the user is redirected to after the process completes
294
+ # @param redirect_uri [String] the user will be redirected to this URL after the process completes
298
295
  # @param state [String] this string will be passed on through the complete synchronization process
299
296
  # and to the redirect target at the end. It should be used to validated the authenticity of
300
297
  # the call to the redirect URL
@@ -338,13 +335,13 @@ module Figo
338
335
  return Notification.new(self, response)
339
336
  end
340
337
 
341
- # Modify a notification.
338
+ # Modify notification.
342
339
  #
343
340
  # @param notification [Notification] modified notification object
344
341
  # @return [nil]
345
342
  def modify_notification(notification)
346
343
  data = { "observe_key" => notification.observe_key, "notify_uri" => notification.notify_uri, "state" => notification.state }
347
- response = query_api("/rest/notifications/#{notification.notification_id}", data, "PUT")
344
+ query_api("/rest/notifications/#{notification.notification_id}", data, "PUT")
348
345
  return nil
349
346
  end
350
347
 
data/lib/models.rb CHANGED
@@ -36,6 +36,7 @@ module Figo
36
36
  CREDIT_CARD = "Credit card"
37
37
  LOAN = "Loan account"
38
38
  PAYPAL = "PayPal"
39
+ CASH_BOOK = "Cash book"
39
40
  UNKNOWN = "Unknown"
40
41
  end
41
42
 
@@ -155,13 +156,13 @@ module Figo
155
156
 
156
157
  # Request list of transactions of this account.
157
158
  #
158
- # @param since [String] this parameter can either be a transaction ID or a date
159
+ # @param since [String, Date] this parameter can either be a transaction ID or a date
159
160
  # @param start_id [String] do only return transactions which were booked after the start transaction ID
160
- # @param count [Intger] limit the number of returned transactions
161
+ # @param count [Integer] limit the number of returned transactions
161
162
  # @param include_pending [Boolean] this flag indicates whether pending transactions should be included
162
163
  # in the response; pending transactions are always included as a complete set, regardless of
163
164
  # the `since` parameter
164
- # @return [Array] an array of `Transaction` objects, one for each transaction of the user
165
+ # @return [Array] an array of `Transaction` objects, one for each transaction of this account
165
166
  def transactions(since = nil, start_id = nil, count = 1000, include_pending = false)
166
167
  data = {}
167
168
  data["since"] = (since.is_a?(Date) ? since.to_s : since) unless since.nil?
@@ -172,13 +173,13 @@ module Figo
172
173
  return response["transactions"].map {|transaction| Transaction.new(@session, transaction)}
173
174
  end
174
175
 
175
- # Request a specific transaction.
176
+ # Request specific transaction.
176
177
  #
177
178
  # @param transaction_id [String] ID of the transaction to be retrieved
178
179
  # @return [Transaction] transaction object
179
180
  def transaction(transaction_id)
180
181
  response = @session.query_api("/rest/accounts/#{@account_id}/transactions/#{transaction_id}")
181
- return Transaction.new(@session, response)
182
+ return response.nil? ? nil : Transaction.new(@session, response)
182
183
  end
183
184
 
184
185
  end
@@ -227,7 +228,7 @@ module Figo
227
228
  # @return [String]
228
229
  attr_accessor :account_number
229
230
 
230
- # Bank code of originator or recipien.
231
+ # Bank code of originator or recipient.
231
232
  # @return [String]
232
233
  attr_accessor :bank_code
233
234
 
data/test/test_figo.rb CHANGED
@@ -20,17 +20,12 @@
20
20
  # THE SOFTWARE.
21
21
  #
22
22
 
23
- require "test/unit"
23
+ require "minitest/autorun"
24
24
  require_relative "../lib/figo"
25
25
 
26
26
 
27
- class FigoTest < Test::Unit::TestCase
27
+ class FigoTest < MiniTest::Unit::TestCase
28
28
 
29
- def setup
30
- $api_endpoint = "api.staging.figo.me"
31
- $valid_fingerprints = ["AF:FF:C3:2A:45:13:86:FB:28:57:55:80:0A:58:23:C7:7A:70:B6:2D"]
32
- end
33
-
34
29
  def test_accounts
35
30
  sut = Figo::Session.new("ASHWLIkouP2O6_bgA2wWReRhletgWKHYjLqDaqb0LFfamim9RjexTo22ujRIP_cjLiRiSyQXyt2kM1eXU2XLFZQ0Hro15HikJQT_eNeT_9XQ")
36
31
 
metadata CHANGED
@@ -1,47 +1,52 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: figo
3
- version: !ruby/object:Gem::Version
4
- version: "1.1"
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.1
5
5
  platform: ruby
6
- authors:
6
+ authors:
7
7
  - Stefan Richter
8
8
  - Michael Haller
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2013-06-07 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2014-04-10 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: flt
17
- prerelease: false
18
- requirement: &id001 !ruby/object:Gem::Requirement
19
- requirements:
20
- - &id002
21
- - ">="
22
- - !ruby/object:Gem::Version
23
- version: "0"
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - '>='
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
24
21
  type: :runtime
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
27
- name: net-http-persistent
28
22
  prerelease: false
29
- requirement: &id003 !ruby/object:Gem::Requirement
30
- requirements:
31
- - *id002
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - '>='
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: net-http-persistent
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - '>='
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
32
35
  type: :runtime
33
- version_requirements: *id003
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
34
42
  description: Library to easily use the API of http://www.figo.me
35
- email:
43
+ email:
36
44
  - stefan.richter@figo.me
37
45
  - michael.haller@figo.me
38
46
  executables: []
39
-
40
47
  extensions: []
41
-
42
48
  extra_rdoc_files: []
43
-
44
- files:
49
+ files:
45
50
  - .gitignore
46
51
  - .travis.yml
47
52
  - Gemfile
@@ -53,27 +58,28 @@ files:
53
58
  - lib/models.rb
54
59
  - test/test_figo.rb
55
60
  homepage: https://github.com/figo-connect/ruby-figo
56
- licenses:
61
+ licenses:
57
62
  - MIT
58
63
  metadata: {}
59
-
60
64
  post_install_message:
61
65
  rdoc_options: []
62
-
63
- require_paths:
66
+ require_paths:
64
67
  - lib
65
- required_ruby_version: !ruby/object:Gem::Requirement
66
- requirements:
67
- - *id002
68
- required_rubygems_version: !ruby/object:Gem::Requirement
69
- requirements:
70
- - *id002
68
+ required_ruby_version: !ruby/object:Gem::Requirement
69
+ requirements:
70
+ - - '>='
71
+ - !ruby/object:Gem::Version
72
+ version: '0'
73
+ required_rubygems_version: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
71
78
  requirements: []
72
-
73
79
  rubyforge_project:
74
- rubygems_version: 2.0.3
80
+ rubygems_version: 2.1.11
75
81
  signing_key:
76
82
  specification_version: 4
77
83
  summary: API wrapper for figo Connect.
78
- test_files:
84
+ test_files:
79
85
  - test/test_figo.rb