leap_salesforce 0.1.16 → 0.1.17

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
  SHA256:
3
- metadata.gz: 0fe3d1e7b89c6a0185c21a67a0b9b96a151a09a18c313bd81d27675911d7922e
4
- data.tar.gz: c3542d891c596f1b5f40d53362ef4184bbb1d774bc5839b8d508a8bf09646ef5
3
+ metadata.gz: 455d4ec9852a5afd9bf82cbe504b755fee025025ff3a7ad35d958ca944ea89cd
4
+ data.tar.gz: 304a5f93081a5e65fff63b34ce61a8cb0f4a8ed90e71d4ef9947a57eb8155562
5
5
  SHA512:
6
- metadata.gz: 82c5fdb6d8841ad1472a42462cd316ee9db718a9bd7fdd0696506ebc751ba55fa58648f596d938fb4f19c300c2d01ab94b1cc711a2613641ce749964f0865355
7
- data.tar.gz: 8f4ab171180697bd999dc7b159ddbde298be59977d904ef4d33e7df3b84aa8b1610706ad871a3210ff33d565617e5fd89d0b17a5f691c9f3c90f316a555d1f47
6
+ metadata.gz: bfa00811dd445829c140a9980353c32b8568feb47c3caa37a8e950426b7b31c1ac00bb333ac1707861271b21684d770892263061c7cddc7f0c2d3cf22b553c8a
7
+ data.tar.gz: b48b467b870cf0b239d39ce648d2ed7b7cc5d4762c9c9bb6668f89a92b4a5a298535e6a08d12e8c3baedc1de13717952b886926a8eb2df35d0052e971aace28c
data/.idea/.rakeTasks CHANGED
@@ -1,7 +1,7 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
2
  <Settings><!--This file was automatically generated by Ruby plugin.
3
3
  You are allowed to:
4
4
  1. Remove rake task
5
5
  2. Add existing rake tasks
6
6
  To add existing rake tasks automatically delete this file and reload the project.
7
- --><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build leap_salesforce-0.1.16.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeTask description="Check Salesforce OAuth2 authentication is working" fullCmd="check_oauth" taksId="check_oauth" /><RakeTask description="Remove any temporary products" fullCmd="clean" taksId="clean" /><RakeTask description="Remove any generated files" fullCmd="clobber" taksId="clobber" /><RakeTask description="Build and install leap_salesforce-0.1.16.gem into system gems" fullCmd="install" taksId="install" /><RakeGroup description="" fullCmd="" taksId="install"><RakeTask description="Build and install leap_salesforce-0.1.16.gem into system gems without network access" fullCmd="install:local" taksId="local" /></RakeGroup><RakeGroup description="" fullCmd="" taksId="leaps"><RakeTask description="Create objects, fields, enums" fullCmd="leaps:create_all" taksId="create_all" /><RakeTask description="Create Enumeration objects for picklists from Salesforce Metadata" fullCmd="leaps:create_enums" taksId="create_enums" /><RakeTask description="Create Soql Data objects" fullCmd="leaps:create_soql_objects" taksId="create_soql_objects" /></RakeGroup><RakeTask description="Create tag v0.1.16 and build and push leap_salesforce-0.1.16.gem to rubygems.org" fullCmd="release[remote]" taksId="release[remote]" /><RakeTask description="Run RSpec code examples" fullCmd="spec" taksId="spec" /><RakeTask description="Create stubs for dynamic methods so they're picked up by the IDE" fullCmd="stub" taksId="stub" /><RakeGroup description="" fullCmd="" taksId="yard"><RakeTask description="Run YARD doctests" fullCmd="yard:doctest" taksId="doctest" /></RakeGroup><RakeTask description="" fullCmd="default" taksId="default" /><RakeTask description="" fullCmd="release" taksId="release" /><RakeGroup description="" fullCmd="" taksId="release"><RakeTask description="" fullCmd="release:guard_clean" taksId="guard_clean" /><RakeTask description="" fullCmd="release:rubygem_push" taksId="rubygem_push" /><RakeTask description="" fullCmd="release:source_control_push" taksId="source_control_push" /></RakeGroup></RakeGroup></Settings>
7
+ --><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build leap_salesforce-0.1.16.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeTask description="Check Salesforce OAuth2 authentication is working" fullCmd="check_oauth" taksId="check_oauth" /><RakeTask description="Remove any temporary products" fullCmd="clean" taksId="clean" /><RakeTask description="Remove any generated files" fullCmd="clobber" taksId="clobber" /><RakeTask description="Build and install leap_salesforce-0.1.16.gem into system gems" fullCmd="install" taksId="install" /><RakeGroup description="" fullCmd="" taksId="install"><RakeTask description="Build and install leap_salesforce-0.1.16.gem into system gems without network access" fullCmd="install:local" taksId="local" /></RakeGroup><RakeGroup description="" fullCmd="" taksId="leaps"><RakeTask description="Create objects, fields, enums" fullCmd="leaps:create_all" taksId="create_all" /><RakeTask description="Create Enumeration objects for picklists from Salesforce Metadata" fullCmd="leaps:create_enums" taksId="create_enums" /><RakeTask description="Create Soql Data objects" fullCmd="leaps:create_soql_objects" taksId="create_soql_objects" /></RakeGroup><RakeTask description="Create tag v0.1.16 and build and push leap_salesforce-0.1.16.gem to rubygems.org" fullCmd="release[remote]" taksId="release[remote]" /><RakeTask description="Run RSpec code examples" fullCmd="spec" taksId="spec" /><RakeTask description="Create stubs for dynamic methods so they're picked up by the IDE" fullCmd="stub" taksId="stub" /><RakeGroup description="" fullCmd="" taksId="yard"><RakeTask description="Run YARD doctests" fullCmd="yard:doctest" taksId="doctest" /></RakeGroup><RakeTask description="" fullCmd="default" taksId="default" /><RakeTask description="" fullCmd="release" taksId="release" /><RakeGroup description="" fullCmd="" taksId="release"><RakeTask description="" fullCmd="release:guard_clean" taksId="guard_clean" /><RakeTask description="" fullCmd="release:rubygem_push" taksId="rubygem_push" /><RakeTask description="" fullCmd="release:source_control_push" taksId="source_control_push" /></RakeGroup></RakeGroup></Settings>
@@ -22,7 +22,7 @@
22
22
  <orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.3, RVM: ruby-2.6.0) [gem]" level="application" />
23
23
  <orderEntry type="library" scope="PROVIDED" name="domain_name (v0.5.20190701, RVM: ruby-2.6.0) [gem]" level="application" />
24
24
  <orderEntry type="library" scope="PROVIDED" name="factory_bot (v5.0.2, RVM: ruby-2.6.0) [gem]" level="application" />
25
- <orderEntry type="library" scope="PROVIDED" name="faker (v2.1.0, RVM: ruby-2.6.0) [gem]" level="application" />
25
+ <orderEntry type="library" scope="PROVIDED" name="faker (v2.1.2, RVM: ruby-2.6.0) [gem]" level="application" />
26
26
  <orderEntry type="library" scope="PROVIDED" name="gyoku (v1.3.1, RVM: ruby-2.6.0) [gem]" level="application" />
27
27
  <orderEntry type="library" scope="PROVIDED" name="hashie (v3.6.0, RVM: ruby-2.6.0) [gem]" level="application" />
28
28
  <orderEntry type="library" scope="PROVIDED" name="http-cookie (v1.0.3, RVM: ruby-2.6.0) [gem]" level="application" />
@@ -41,7 +41,7 @@
41
41
  <orderEntry type="library" scope="PROVIDED" name="multi_json (v1.13.1, RVM: ruby-2.6.0) [gem]" level="application" />
42
42
  <orderEntry type="library" scope="PROVIDED" name="mustermann (v1.0.3, RVM: ruby-2.6.0) [gem]" level="application" />
43
43
  <orderEntry type="library" scope="PROVIDED" name="netrc (v0.11.0, RVM: ruby-2.6.0) [gem]" level="application" />
44
- <orderEntry type="library" scope="PROVIDED" name="nokogiri (v1.10.3, RVM: ruby-2.6.0) [gem]" level="application" />
44
+ <orderEntry type="library" scope="PROVIDED" name="nokogiri (v1.10.4, RVM: ruby-2.6.0) [gem]" level="application" />
45
45
  <orderEntry type="library" scope="PROVIDED" name="nori (v2.6.0, RVM: ruby-2.6.0) [gem]" level="application" />
46
46
  <orderEntry type="library" scope="PROVIDED" name="parallel (v1.17.0, RVM: ruby-2.6.0) [gem]" level="application" />
47
47
  <orderEntry type="library" scope="PROVIDED" name="parser (v2.6.3.0, RVM: ruby-2.6.0) [gem]" level="application" />
@@ -51,7 +51,7 @@
51
51
  <orderEntry type="library" scope="PROVIDED" name="rack-protection (v2.0.4, RVM: ruby-2.6.0) [gem]" level="application" />
52
52
  <orderEntry type="library" scope="PROVIDED" name="rainbow (v3.0.0, RVM: ruby-2.6.0) [gem]" level="application" />
53
53
  <orderEntry type="library" scope="PROVIDED" name="rake (v12.3.3, RVM: ruby-2.6.0) [gem]" level="application" />
54
- <orderEntry type="library" scope="PROVIDED" name="random-port (v0.3.1, RVM: ruby-2.6.0) [gem]" level="application" />
54
+ <orderEntry type="library" scope="PROVIDED" name="random-port (v0.3.2, RVM: ruby-2.6.0) [gem]" level="application" />
55
55
  <orderEntry type="library" scope="PROVIDED" name="require_all (v2.0.0, RVM: ruby-2.6.0) [gem]" level="application" />
56
56
  <orderEntry type="library" scope="PROVIDED" name="rest-client (v2.0.2, RVM: ruby-2.6.0) [gem]" level="application" />
57
57
  <orderEntry type="library" scope="PROVIDED" name="rspec (v3.8.0, RVM: ruby-2.6.0) [gem]" level="application" />
@@ -67,7 +67,7 @@
67
67
  <orderEntry type="library" scope="PROVIDED" name="sinatra (v2.0.4, RVM: ruby-2.6.0) [gem]" level="application" />
68
68
  <orderEntry type="library" scope="PROVIDED" name="sinatra-basic-auth (v0.1.0, RVM: ruby-2.6.0) [gem]" level="application" />
69
69
  <orderEntry type="library" scope="PROVIDED" name="sinatra-docdsl (v0.8.6, RVM: ruby-2.6.0) [gem]" level="application" />
70
- <orderEntry type="library" scope="PROVIDED" name="soaspec (v0.2.29, RVM: ruby-2.6.0) [gem]" level="application" />
70
+ <orderEntry type="library" scope="PROVIDED" name="soaspec (v0.2.30, RVM: ruby-2.6.0) [gem]" level="application" />
71
71
  <orderEntry type="library" scope="PROVIDED" name="socksify (v1.7.1, RVM: ruby-2.6.0) [gem]" level="application" />
72
72
  <orderEntry type="library" scope="PROVIDED" name="thor (v0.20.3, RVM: ruby-2.6.0) [gem]" level="application" />
73
73
  <orderEntry type="library" scope="PROVIDED" name="thread_safe (v0.3.6, RVM: ruby-2.6.0) [gem]" level="application" />
data/.leap_salesforce.yml CHANGED
@@ -9,4 +9,4 @@ soql_objects:
9
9
  - Group
10
10
  - Broker: Broker__c
11
11
  - Account
12
- - Attachment
12
+ - Attachment
data/ChangeLog CHANGED
@@ -1,3 +1,7 @@
1
+ Version 0.1.17
2
+ * Enhancements
3
+ * Retry if a Server breaks connection intermittently raises an error
4
+
1
5
  Version 0.1.16
2
6
  * Bug Fix
3
7
  * Fixed where ERB was not being used to interpret user on init script
data/README.md CHANGED
@@ -7,6 +7,35 @@ In the future it will also planned to be used to create page objects based on me
7
7
 
8
8
  [![Build Status](https://gitlab.com/leap-dojo/leap_salesforce/badges/master/build.svg)](https://gitlab.com/leap-dojo/leap_salesforce/pipelines)
9
9
 
10
+ ## Table of Contents
11
+
12
+ * [LeapSalesforce](#leapsalesforce)
13
+ * [Table of Contents](#table-of-contents)
14
+ * [Installation](#installation)
15
+ * [Usage](#usage)
16
+ * [Getting started](#getting-started)
17
+ * [Understanding how things work](#understanding-how-things-work)
18
+ * [Important files](#important-files)
19
+ * [.leap_salesforce.yml](#leap_salesforceyml)
20
+ * [salesforce_oauth2.yml](#salesforce_oauth2yml)
21
+ * [config/general.rb](#configgeneralrb)
22
+ * [Test Users](#test-users)
23
+ * [CRUD of data](#crud-of-data)
24
+ * [Creating entities](#creating-entities)
25
+ * [Reading entities](#reading-entities)
26
+ * [Retrieving entities](#retrieving-entities)
27
+ * [Retrieving the value of a field](#retrieving-the-value-of-a-field)
28
+ * [Updating entities](#updating-entities)
29
+ * [Deleting entities](#deleting-entities)
30
+ * [Other Examples](#other-examples)
31
+ * [Structure](#structure)
32
+ * [Docs](#docs)
33
+ * [Development](#development)
34
+ * [Contributing](#contributing)
35
+ * [License](#license)
36
+ * [Code of Conduct](#code-of-conduct)
37
+ * [References](#references)
38
+
10
39
  > Note this documentation is a work in progress. Look at `spec` for code examples.
11
40
 
12
41
  ## Installation
@@ -114,7 +143,7 @@ LeapSalesforce.api_user = LeapSalesforce::Users.where username: /admin/
114
143
  LeapSalesforce.api_user = LeapSalesforce::Users.where description: /System Admin/
115
144
  ```
116
145
 
117
- #### CRUD of data
146
+ ### CRUD of data
118
147
 
119
148
  To work data in Salesforce, an object inheriting from the `SoqlData` class is always used. The idea is
120
149
  that an object in Ruby code maps to the object in Salesforce and requests and updates to this object
@@ -137,7 +166,7 @@ end
137
166
  For all interactions with Salesforce the API traffic logs are recorded in a log created in the `logs`
138
167
  folder of the suite.
139
168
 
140
- ##### Creating entities
169
+ #### Creating entities
141
170
 
142
171
  There are several ways entities can be created. By instantiating the object with the `new` method a new
143
172
  object will be created in memory but in Salesforce. Only when the `save!` method is called will an object
@@ -201,8 +230,8 @@ example:
201
230
  @contact = Contact.create
202
231
  ```
203
232
 
204
- ##### Reading entities
205
-
233
+ #### Reading entities
234
+ ##### Retrieving entities
206
235
  To retrieve an entity, the `find` method can be called on the class for the object required. For example
207
236
  to obtain an object representing a contact with a last name of 'Test Person' we could do:
208
237
 
@@ -210,6 +239,145 @@ to obtain an object representing a contact with a last name of 'Test Person' we
210
239
  @contact = Contact.find last_name: 'Test Person'
211
240
  ```
212
241
 
242
+ This uses the ruby friendly method defined for `Contact` and shown in `Contact::Fields` to extract
243
+ the Salesforce field name `LastName`. Note, the name designated is derived from the `label` name which
244
+ is assumed to be more user friendly than the backend name. See `spec/unit/ext/string_spec.rb` for
245
+ examples of how different behaviours are handled.
246
+ The backend name can also be used directly within a `find` so
247
+ the following could also be done:
248
+
249
+ ```ruby
250
+ @contact = Contact.find LastName: 'Test Person'
251
+ ```
252
+
253
+ The values used in these requests are validated against Metadata before the request is made so an
254
+ error will be received if a field name is used that does not exist on the object.
255
+
256
+ Any number of parameters can be passed to the find method to narrow the search. For example:
257
+
258
+ ```ruby
259
+ @contact = Contact.find last_name: 'Test Person', first_name: 'Number 1'
260
+ ```
261
+
262
+ When a date is passed as the value it will be automatically formatted so that it can be used in the
263
+ backend SOQL query. So to get a contact created less than 5 days ago one can use:
264
+
265
+ ```ruby
266
+ @contact = Contact.find created_date: "<#{5.days.ago}"
267
+ ```
268
+
269
+ To use the `LIKE` operator for partial matches put a '`' at the start of the string. Following is an
270
+ example of finding a contact that has the string 'Test' anywhere in their first name. As one can see
271
+ the '%' symbols are used as a wild card to indicate any value.
272
+
273
+ ```ruby
274
+ @contact = Contact.find(first_name: '~%Test%')
275
+ ```
276
+
277
+ Note for non unique criterion, the value returned will be the most recent one.
278
+
279
+ ##### Retrieving the value of a field
280
+
281
+ Getters (methods that retrieve something about an object) are created for each field name on an object.
282
+ So to get the first name of the contact, the `first_name` method is simply called on it.
283
+
284
+ ```ruby
285
+ @contact = Contact.find first_name: 'Test Person'
286
+ @contact.first_name # => 'Test Person'
287
+ ```
288
+
289
+ The backend name can also be used in the `[]` method to retrieve a value.
290
+
291
+ ```ruby
292
+ @contact['FirstName'] # => 'Test Person'
293
+ ```
294
+
295
+ There are 2 special methods related to verifying that a response is successful or not.
296
+
297
+ * `success` - returns `true` or `false` indicating whether the previous action performed worked
298
+ as expected
299
+ * `error_message` - returns a string with the error message returned from Salesforce.
300
+
301
+ For example, say you want to test that a `LineItem` cannot be deleted. You can verify it and it's
302
+ error message with:
303
+
304
+ ```ruby
305
+ item = LineItem.find status: 'New'
306
+ expect(item.delete.error_message).to eq 'Deleting of line item is not allowed.'
307
+ ```
308
+
309
+ #### Updating entities
310
+
311
+ The same field name used above is used as a setter to update an individual field. For example, to
312
+ change the first name of a contact from Test1 to Test2:
313
+
314
+ ```ruby
315
+ @contact = Contact.find first_name: 'Test1'
316
+ @contact.first_name = 'Test2'
317
+ ```
318
+
319
+ To update multiple fields at once, use the `update` method:
320
+
321
+ ```ruby
322
+ @case.update status: Case::Status.escalated, case_reason: 'Feedback'
323
+ ```
324
+
325
+ This does not fail if the update is not successful. To fail in this situation, the `success_update`
326
+ method can be used:
327
+
328
+ ```ruby
329
+ @case.success_update status: Case::Status.escalated, case_reason: 'Feedback'
330
+ ```
331
+
332
+ If the main action of the test is this update, it is recommended that success be verified
333
+ explicitly with:
334
+
335
+ ```ruby
336
+ @case.update status: Case::Status.escalated, case_reason: 'Feedback'
337
+ expect(@case).to be_successful
338
+ ```
339
+
340
+ The reason for this is to account for error scenarios where you want to update a value and expect
341
+ and error message. For example:
342
+
343
+ ```ruby
344
+ item = LineItem.find(status: 'New')
345
+ update = item.update owner_id: User.find(Name: '~%Confidential%').id
346
+ expect(update.error_message).to eq 'Cannot change owner to confidential user'
347
+ ```
348
+
349
+ #### Deleting entities
350
+
351
+ Once an entity is obtained through `find` or `create`, it can be deleted simply with the
352
+ `delete`. If you want an exception to be raised if the delete fails, pass `must_pass: true` to the
353
+ delete method. For example:
354
+
355
+ ```ruby
356
+ @contact = Contact.find first_name 'No longer needed'
357
+ @contact.delete must_pass: true
358
+ ```
359
+
360
+ An entity can also be deleted with merely it's id. For example:
361
+
362
+ ```ruby
363
+ Contact.delete '0032v00002rgv2pAAA', must_pass: true
364
+ ```
365
+
366
+ ### Other Examples
367
+
368
+ See [spec/integration](spec/integration) folder for examples of tests.
369
+
370
+ #### Delete old contacts
371
+ ```ruby
372
+ # Deleting old contacts
373
+ objects = Contact.each_id_with created_date: "<#{5.days.ago}"
374
+ puts objects.count # Log how many are being deleted
375
+ objects.each do |id|
376
+ puts "Deleting #{id}"
377
+ Contact.delete id
378
+ end
379
+ ```
380
+
213
381
  ## Structure
214
382
 
215
383
  Following is the general structure of test automation suite that uses this approach. Details may vary depending on the
@@ -256,20 +424,6 @@ The gem is available as open source under the terms of the [MIT License](https:/
256
424
 
257
425
  Everyone interacting in the LeapSalesforce project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://gitlab.com/leap-dojo/leap_salesforce/blob/master/CODE_OF_CONDUCT.md).
258
426
 
259
- # Examples
260
-
261
- See [spec/integration](spec/integration) folder for examples of tests.
262
-
263
- ```ruby
264
- # deleting old contacts
265
- objects = Contact.each_id_with CreatedDate: "<#{5.days.ago}"
266
- puts objects.count
267
- objects.each do |id|
268
- puts "Deleting #{id}"
269
- Contact.delete id
270
- end
271
- ```
272
-
273
- # References
427
+ ## References
274
428
 
275
429
  See the presentation on this [here](https://gitpitch.com/leap-dojo/leap_salesforce?grs=gitlab)
@@ -40,6 +40,6 @@ It reads the Metadata from Salesforce and creates the foundation for API tests.'
40
40
  spec.add_dependency 'require_all'
41
41
  spec.add_dependency 'rubocop'
42
42
  spec.add_dependency 'rubykeyword'
43
- spec.add_dependency 'soaspec', '>= 0.2.29'
43
+ spec.add_dependency 'soaspec', '>= 0.2.30'
44
44
  spec.add_dependency 'thor'
45
45
  end
@@ -65,10 +65,10 @@ module SoqlGlobalObjectData
65
65
 
66
66
  # Find the data for a single SoqlObject using the calling class's table.
67
67
  # Will get the latest created date.
68
- # @example Get a contact where LastName is 'Bob'
68
+ # @example Get a contact where LastName is 'Bob' using backend name
69
69
  # Contact.find(LastName: 'Bob')
70
- # @example Get a contact that includes 'Test' in their first name
71
- # Contact.find(~FirstName: '~%Test%')
70
+ # @example Get a contact that includes 'Test' in their first name (using ruby accessor name)
71
+ # Contact.find(first_name: '~%Test%')
72
72
  # @example Get a contact created 10 days ago
73
73
  # Contact.find CreatedDate: "<#{10.days.ago}"
74
74
  # @param [Hash] lookup Key value pair unique to Salesforce to query for
@@ -160,6 +160,9 @@ module SoqlGlobalObjectData
160
160
  end
161
161
 
162
162
  # Remove object from Salesforce with provided id
163
+ # @example Delete a contact with a specified id, failing if the delete fails
164
+ # Contact.delete '0032v00002rgv2pAAA', must_pass: true
165
+ #
163
166
  # @param [String] id Id of element to remove
164
167
  # @param [Boolean] must_pass Whether to raise exception if call is not successful
165
168
  # @return [self] Exchange object making delete call
@@ -17,6 +17,9 @@ class SoqlHandler < Soaspec::RestHandler
17
17
  element :error_message_element, '$..message'
18
18
  element :soql_fields, :fields
19
19
 
20
+ # This error appears to happen intermittently on test environments
21
+ retry_on_exceptions [RestClient::ServerBrokeConnection], pause: 1, count: 5
22
+
20
23
  # @return [String] Version of Salesforce API to use
21
24
  @api_version = '45.0'
22
25
 
@@ -2,5 +2,5 @@
2
2
 
3
3
  module LeapSalesforce
4
4
  # @return [String] Version of leap salesforce
5
- VERSION = '0.1.16'
5
+ VERSION = '0.1.17'
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: leap_salesforce
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.16
4
+ version: 0.1.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - IQA
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2019-08-06 00:00:00.000000000 Z
12
+ date: 2019-08-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -213,14 +213,14 @@ dependencies:
213
213
  requirements:
214
214
  - - ">="
215
215
  - !ruby/object:Gem::Version
216
- version: 0.2.29
216
+ version: 0.2.30
217
217
  type: :runtime
218
218
  prerelease: false
219
219
  version_requirements: !ruby/object:Gem::Requirement
220
220
  requirements:
221
221
  - - ">="
222
222
  - !ruby/object:Gem::Version
223
- version: 0.2.29
223
+ version: 0.2.30
224
224
  - !ruby/object:Gem::Dependency
225
225
  name: thor
226
226
  requirement: !ruby/object:Gem::Requirement