procore 1.2 → 1.3.1
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 +4 -4
- data/.circleci/config.yml +77 -0
- data/.github/CODEOWNERS +3 -0
- data/CHANGELOG.md +12 -0
- data/README.md +103 -90
- data/lib/procore/client.rb +3 -1
- data/lib/procore/configuration.rb +11 -0
- data/lib/procore/defaults.rb +4 -0
- data/lib/procore/requestable.rb +1 -1
- data/lib/procore/version.rb +1 -1
- data/procore.gemspec +1 -0
- data/sonar-project.properties +24 -0
- metadata +20 -4
- data/.travis.yml +0 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3595107dc22ff0d62e58dfd007d361337940fa03b4f543d9068ceb3bf4a9802a
|
4
|
+
data.tar.gz: 677cffae43492f41abe1dd67b5decc0da14300cc5bbba248317b97f272a783ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e67cd2e1cea4163db7701cffc05ed8bc9252b66bed68bfc205a07f86bbf3b74cc499b99b49d87a8b959b18890ab6f43de019f88a0183b0d224c1e6e13507b3a3
|
7
|
+
data.tar.gz: 2affa65026b13a9d664986e6b090d853975db14d45ae924174f7e3ee2e437a64e6b4e8b825dff0b2e2c6f5b7e30d033cd3a16904c538291c9971276c11ebf4b2
|
@@ -0,0 +1,77 @@
|
|
1
|
+
version: 2.1
|
2
|
+
executors:
|
3
|
+
sonar-scanner:
|
4
|
+
docker:
|
5
|
+
- image: sonarsource/sonar-scanner-cli:4.7.0
|
6
|
+
jobs:
|
7
|
+
test-ruby:
|
8
|
+
parameters:
|
9
|
+
ruby_version:
|
10
|
+
type: string
|
11
|
+
docker:
|
12
|
+
- image: "cimg/ruby:<< parameters.ruby_version >>"
|
13
|
+
- image: cimg/redis:6.2.6
|
14
|
+
- image: memcached:1.6.18
|
15
|
+
working_directory: /home/circleci/ruby-sdk
|
16
|
+
steps:
|
17
|
+
- checkout
|
18
|
+
- run:
|
19
|
+
name: Install dependencies
|
20
|
+
command: bundle install
|
21
|
+
- run:
|
22
|
+
name: Run tests
|
23
|
+
command: COVERAGE=true bundle exec rake
|
24
|
+
- persist_to_workspace:
|
25
|
+
root: ./
|
26
|
+
paths:
|
27
|
+
- coverage
|
28
|
+
publish:
|
29
|
+
docker:
|
30
|
+
- image: cimg/ruby:3.2.0
|
31
|
+
steps:
|
32
|
+
- checkout
|
33
|
+
- run:
|
34
|
+
name: Install dependencies
|
35
|
+
command: bundle install
|
36
|
+
- run:
|
37
|
+
name: Publish to Rubygems
|
38
|
+
command: bundle exec rake release
|
39
|
+
sonarqube_analysis:
|
40
|
+
working_directory: /home/circleci/ruby-sdk
|
41
|
+
executor: sonar-scanner
|
42
|
+
steps:
|
43
|
+
- checkout
|
44
|
+
- attach_workspace:
|
45
|
+
at: .
|
46
|
+
- store_artifacts:
|
47
|
+
path: coverage
|
48
|
+
- run:
|
49
|
+
name: Execute sonar-scanner
|
50
|
+
command: sonar-scanner -Dsonar.host.url=$SONARQUBE_HOST -Dsonar.token=$SONARQUBE_OPS_CI_TOKEN -Dsonar.buildString=$CIRCLE_SHA1 -Dsonar.analysis.build.url=$CIRCLE_BUILD_URL
|
51
|
+
workflows:
|
52
|
+
test-and-publish:
|
53
|
+
jobs:
|
54
|
+
- test-ruby:
|
55
|
+
matrix:
|
56
|
+
parameters:
|
57
|
+
ruby_version: ["3.2", "3.1", "3.0", "2.7"]
|
58
|
+
filters:
|
59
|
+
tags:
|
60
|
+
only: /.*/
|
61
|
+
- publish:
|
62
|
+
requires:
|
63
|
+
- test-ruby
|
64
|
+
filters:
|
65
|
+
tags:
|
66
|
+
only: /.*/
|
67
|
+
branches:
|
68
|
+
ignore: /.*/
|
69
|
+
- sonarqube_analysis:
|
70
|
+
context:
|
71
|
+
- procore-sonarqube-ci
|
72
|
+
requires:
|
73
|
+
- test-ruby-3.2
|
74
|
+
filters:
|
75
|
+
branches:
|
76
|
+
only:
|
77
|
+
- master
|
data/.github/CODEOWNERS
ADDED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
## 1.3.1 (Jan 9, 2024)
|
2
|
+
|
3
|
+
* Fix a bug with the retry logic in `with_response_handling` resulting in performing one more retry than expected .
|
4
|
+
|
5
|
+
*Eugene Tokarev*
|
6
|
+
|
7
|
+
## 1.3 (Jan 8, 2024)
|
8
|
+
|
9
|
+
* Introduces :login_host configuration attribute used to set up OAuth2::Client. Please note, this will result Procore::Client use `https://login.procore.com/oauth/token` instead of `https://api.procore.com/oauth/token` for auth token generation.
|
10
|
+
|
11
|
+
*Eugene Tokarev*
|
12
|
+
|
1
13
|
## 1.2 (Dec 8, 2022)
|
2
14
|
|
3
15
|
* Update oauth2 gem version to any 2.x
|
data/README.md
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
# Procore Gem
|
2
2
|
|
3
|
-
[](https://app.circleci.com/pipelines/github/procore/ruby-sdk?branch=master)
|
4
4
|
|
5
5
|
#### Table of Contents
|
6
6
|
- [Installation](#installation)
|
7
|
-
- [
|
7
|
+
- [Configuration](#configuration)
|
8
8
|
- [Making Requests](#making-requests)
|
9
9
|
- [Usage](#usage)
|
10
10
|
- [Error Handling](#error-handling)
|
@@ -12,7 +12,6 @@
|
|
12
12
|
- [Navigating Through Paginated Results](#navigating-through-paginated-results)
|
13
13
|
- [Change Number of Results](#change-number-of-results)
|
14
14
|
- [Sync Actions](#sync-actions)
|
15
|
-
- [Configuration](#configuration)
|
16
15
|
- [Stores](#stores)
|
17
16
|
- [Session Store](#session-store)
|
18
17
|
- [Redis Store](#redis-store)
|
@@ -31,10 +30,61 @@ Add this line to your application's Gemfile:
|
|
31
30
|
gem "procore"
|
32
31
|
```
|
33
32
|
|
34
|
-
##
|
33
|
+
## Configuration
|
34
|
+
|
35
|
+
The Procore Gem exposes a configuration with several options.
|
36
|
+
|
37
|
+
For example, when using this gem in a Rails application, the configuration can be done like below:
|
38
|
+
```ruby
|
39
|
+
# config/initializes/procore.rb
|
40
|
+
|
41
|
+
require "procore"
|
42
|
+
Procore.configure do |config|
|
43
|
+
# Base API host name. Alter this depending on your environment - in a
|
44
|
+
# staging or test environment you may want to point this at a sandbox
|
45
|
+
# instead of production.
|
46
|
+
config.host = ENV.fetch("PROCORE_BASE_API_PATH", "https://api.procore.com")
|
47
|
+
|
48
|
+
# Base Login host name used by the OAuth client to generate API tokens.
|
49
|
+
# Alter this depending on your environment - in a staging or test environment
|
50
|
+
# you may want to point this at a sandbox instead of production.
|
51
|
+
config.login_host = ENV.fetch("PROCORE_BASE_LOGIN_PATH", "https://login.procore.com")
|
52
|
+
|
53
|
+
# When using #sync action, sets the default batch size to use for chunking
|
54
|
+
# up a request body. Example: if the size is set to 500, and 2,000 updates
|
55
|
+
# are desired, 4 requests will be made. Note, the maximum size is 1000.
|
56
|
+
config.default_batch_size = 500
|
35
57
|
|
36
|
-
|
37
|
-
|
58
|
+
# The default API version to use if none is specified in the request.
|
59
|
+
# Should be either "v1.0" (recommended) or "vapid" (legacy).
|
60
|
+
config.default_version = "v1.0"
|
61
|
+
|
62
|
+
# Integer: Number of times to retry a failed API call. Reasons an API call
|
63
|
+
# could potentially fail:
|
64
|
+
# 1. Service is briefly down or unreachable
|
65
|
+
# 2. Timeout hit - service is experiencing immense load or mid restart
|
66
|
+
# 3. Because computers
|
67
|
+
#
|
68
|
+
# Defaults to 1 retry. Would recommend 3-5 for production use.
|
69
|
+
# Has exponential backoff - first request waits a 1.5s after a failure,
|
70
|
+
# next one 2.25s, next one 3.375s, 5.0, etc.
|
71
|
+
config.max_retries = 3
|
72
|
+
|
73
|
+
# Float: Threshold for canceling an API request. If a request takes longer
|
74
|
+
# than this value it will automatically cancel.
|
75
|
+
config.timeout = 5.0
|
76
|
+
|
77
|
+
# Instance of a Logger. This gem will log information about requests,
|
78
|
+
# responses and other things it might be doing. In a Rails application it
|
79
|
+
# should be set to Rails.logger
|
80
|
+
config.logger = Rails.logger
|
81
|
+
|
82
|
+
# String: User Agent sent with each API request. API requests must have a user
|
83
|
+
# agent set. It is recomended to set the user agent to the name of your
|
84
|
+
# application.
|
85
|
+
config.user_agent = "MyAppName"
|
86
|
+
end
|
87
|
+
```
|
38
88
|
|
39
89
|
## Making Requests
|
40
90
|
|
@@ -47,21 +97,21 @@ Stores automatically manage tokens for you - refreshing, revoking and storage
|
|
47
97
|
are abstracted away to make your code as simple as possible. There are several
|
48
98
|
different [types of stores](#stores) available to you.
|
49
99
|
|
50
|
-
The Client class exposes `#get`, `#post`, `#put`, `#patch`, `#sync` and
|
100
|
+
The `Client` class exposes `#get`, `#post`, `#put`, `#patch`, `#sync` and
|
51
101
|
`#delete` methods to you.
|
52
102
|
|
53
103
|
```ruby
|
54
|
-
get(path, version: "", query: {})
|
104
|
+
get(path, version: "", query: {}, options: {})
|
55
105
|
post(path, version: "", body: {}, options: {})
|
56
106
|
put(path, version: "", body: {}, options: {})
|
57
107
|
patch(path, version: "", body: {}, options: {})
|
58
|
-
delete(path, version: "", query: {})
|
108
|
+
delete(path, version: "", query: {}, options: {})
|
59
109
|
sync(path, version: "", body: {}, options: {})
|
60
110
|
```
|
61
111
|
|
62
|
-
|
63
|
-
|
64
|
-
|
112
|
+
#### The `path` and `version`
|
113
|
+
|
114
|
+
All paths are relative, the gem will handle expanding them. An API version can be specified in the `version:` argument, otherwise the `default_version` in the configuration will be used.
|
65
115
|
|
66
116
|
| Example | Requested URL |
|
67
117
|
| --- | --- |
|
@@ -69,10 +119,22 @@ default version is `v1.0` unless otherwise configured.
|
|
69
119
|
| `client.get("me", version: "v1.1")` | `https://api.procore.com/rest/v1.1/me` |
|
70
120
|
| `client.get("me", version: "vapid")` | `https://api.procore.com/vapid/me` |
|
71
121
|
|
72
|
-
|
73
|
-
options to work with [Multiple Procore Zones (MPZ)](https://developers.procore.com/documentation/tutorial-mpz).
|
122
|
+
#### Requiring `company_id` in the `options`
|
74
123
|
|
75
|
-
|
124
|
+
In order for your application to work with [Multiple Procore Zones (MPZ)](https://developers.procore.com/documentation/tutorial-mpz), each call your application makes to the Procore API **must** contain a request header that includes the `Procore-Company-Id` field. This request header field specifies the id of the company into which you are making the call.
|
125
|
+
|
126
|
+
This can be achieved by setting the `company_id` in the request `options`. (And this gem will convert it into a `Procore-Company-Id` header automatically.)
|
127
|
+
|
128
|
+
For example:
|
129
|
+
```ruby
|
130
|
+
client.get("companies/12345/users", options: { company_id: 12345 })
|
131
|
+
```
|
132
|
+
|
133
|
+
Note: Only the following Procore API endpoints do not require a request header containing the `Procore-Company-Id` field:
|
134
|
+
* Show User Info - (GET /rest/v1.0/me)
|
135
|
+
* List Companies - (GET /rest/v1.0/companies)
|
136
|
+
|
137
|
+
#### Example Usage
|
76
138
|
|
77
139
|
```ruby
|
78
140
|
store = Procore::Auth::Stores::Session.new(session: session)
|
@@ -93,19 +155,6 @@ projects = client.get("projects", query: {company_id: <company_id>}, options: {c
|
|
93
155
|
projects.first[:name] #=> "Project 1"
|
94
156
|
```
|
95
157
|
|
96
|
-
To use Procore's older API Vapid by default, the default version can be set in
|
97
|
-
either the Gem's [configuration](https://github.com/procore/ruby-sdk#configuration)
|
98
|
-
or the client's `options` hash:
|
99
|
-
|
100
|
-
```ruby
|
101
|
-
client = Procore::Client.new(
|
102
|
-
...
|
103
|
-
options {
|
104
|
-
default_version: "vapid"
|
105
|
-
}
|
106
|
-
)
|
107
|
-
```
|
108
|
-
|
109
158
|
## Usage
|
110
159
|
|
111
160
|
The first step is to place the user's token into the store. For this example,
|
@@ -184,10 +233,6 @@ rescue Procore::InvalidRequestError => e
|
|
184
233
|
# Raised when the request is incorrectly formatted. Possible causes: missing
|
185
234
|
# required parameters or sending a request to access a non-existent resource.
|
186
235
|
|
187
|
-
rescue Procore::OAuthError => e
|
188
|
-
# Raised whenever there is a problem with OAuth. Possible causes: required
|
189
|
-
# credentials are missing or an access token failed to refresh.
|
190
|
-
|
191
236
|
rescue Procore::MissingTokenError => e
|
192
237
|
# Raised whenever an access token is nil or invalid.
|
193
238
|
|
@@ -240,6 +285,19 @@ rescue Procore:Error => e
|
|
240
285
|
end
|
241
286
|
```
|
242
287
|
|
288
|
+
When client is calling `#refresh` or `#revoke` to refresh or revoke an access token, `Procore::OAuthError` will be raised if an exception happens.
|
289
|
+
|
290
|
+
```ruby
|
291
|
+
begin
|
292
|
+
# Use Procore Gem to make refresh or revoke access token
|
293
|
+
client.refresh
|
294
|
+
|
295
|
+
rescue Procore::OAuthError => e
|
296
|
+
# Raised whenever there is a problem with OAuth. Possible causes: required
|
297
|
+
# credentials are missing or an access token failed to refresh.
|
298
|
+
end
|
299
|
+
```
|
300
|
+
|
243
301
|
## Pagination
|
244
302
|
Endpoints which return multiple objects (a collection) will include pagination
|
245
303
|
information. The `Response` object has a `#pagination` method that will return
|
@@ -351,56 +409,6 @@ client.sync(
|
|
351
409
|
)
|
352
410
|
```
|
353
411
|
|
354
|
-
## Configuration
|
355
|
-
|
356
|
-
The Procore Gem exposes a configuration with several options.
|
357
|
-
|
358
|
-
```ruby
|
359
|
-
# config/initializes/procore.rb
|
360
|
-
|
361
|
-
require "procore"
|
362
|
-
Procore.configure do |config|
|
363
|
-
# Base API host name. Alter this depending on your environment - in a
|
364
|
-
# staging or test environment you may want to point this at a sandbox
|
365
|
-
# instead of production.
|
366
|
-
config.host = ENV.fetch("PROCORE_BASE_API_PATH", "https://api.procore.com")
|
367
|
-
|
368
|
-
# When using #sync action, sets the default batch size to use for chunking
|
369
|
-
# up a request body. Example: if the size is set to 500, and 2,000 updates
|
370
|
-
# are desired, 4 requests will be made. Note, the maximum size is 1000.
|
371
|
-
config.default_batch_size = 500
|
372
|
-
|
373
|
-
# The default API version to use if none is specified in the request.
|
374
|
-
# Should be either "v1.0" (recommended) or "vapid" (legacy).
|
375
|
-
config.default_version = "v1.0"
|
376
|
-
|
377
|
-
# Integer: Number of times to retry a failed API call. Reasons an API call
|
378
|
-
# could potentially fail:
|
379
|
-
# 1. Service is briefly down or unreachable
|
380
|
-
# 2. Timeout hit - service is experiencing immense load or mid restart
|
381
|
-
# 3. Because computers
|
382
|
-
#
|
383
|
-
# Defaults to 1 retry. Would recommend 3-5 for production use.
|
384
|
-
# Has exponential backoff - first request waits a 1.5s after a failure,
|
385
|
-
# next one 2.25s, next one 3.375s, 5.0, etc.
|
386
|
-
config.max_retries = 3
|
387
|
-
|
388
|
-
# Float: Threshold for canceling an API request. If a request takes longer
|
389
|
-
# than this value it will automatically cancel.
|
390
|
-
config.timeout = 5.0
|
391
|
-
|
392
|
-
# Instance of a Logger. This gem will log information about requests,
|
393
|
-
# responses and other things it might be doing. In a Rails application it
|
394
|
-
# should be set to Rails.logger
|
395
|
-
config.logger = Rails.logger
|
396
|
-
|
397
|
-
# String: User Agent sent with each API request. API requests must have a user
|
398
|
-
# agent set. It is recomended to set the user agent to the name of your
|
399
|
-
# application.
|
400
|
-
config.user_agent = "MyAppName"
|
401
|
-
end
|
402
|
-
```
|
403
|
-
|
404
412
|
## Stores
|
405
413
|
|
406
414
|
Stores contain logic for accessing, storing, and managing access tokens. The
|
@@ -534,9 +542,10 @@ class ProjectsController
|
|
534
542
|
end
|
535
543
|
end
|
536
544
|
```
|
545
|
+
|
537
546
|
## Contributing
|
538
547
|
|
539
|
-
To contribute to the gem, please clone the repo and cut a new branch. In the PR update the changelog with a short explanation of what you've changed, and your name under the "Unreleased" section. Example changelog update:
|
548
|
+
To contribute to the gem, please clone the repo and cut a new branch. In the PR, update the changelog with a short explanation of what you've changed, and your name under the "Unreleased" section. Example changelog update:
|
540
549
|
|
541
550
|
```markdown
|
542
551
|
## Unreleased
|
@@ -546,7 +555,17 @@ To contribute to the gem, please clone the repo and cut a new branch. In the PR
|
|
546
555
|
*Your Name*
|
547
556
|
```
|
548
557
|
|
549
|
-
Please **do not** bump the gem version in your PR. This will be done in a follow up
|
558
|
+
Please **do not** bump the gem version in your PR. This will be done in a follow up by the gem maintainers.
|
559
|
+
|
560
|
+
## Releasing
|
561
|
+
|
562
|
+
Gem maintainer should follow these steps to release a new version:
|
563
|
+
|
564
|
+
1. Merge all PRs into the `master` branch that you want included in the release.
|
565
|
+
2. Update `version.rb` to a new semantic version, and move unreleased items in `CHANGELOG.md` into a section for that version.
|
566
|
+
3. Stage and commit changes. `git commit -a`
|
567
|
+
4. Create a tag for the new version. `git tag -a {version}`
|
568
|
+
5. Push the tagged commit `git push --follow-tags` and a new version will be published to RubyGems.
|
550
569
|
|
551
570
|
### Tests
|
552
571
|
|
@@ -563,12 +582,6 @@ License](http://opensource.org/licenses/MIT).
|
|
563
582
|
|
564
583
|
## About Procore
|
565
584
|
|
566
|
-
<img
|
567
|
-
src="https://www.procore.com/images/procore_logo.png"
|
568
|
-
alt="Procore Logo"
|
569
|
-
width="250px"
|
570
|
-
/>
|
571
|
-
|
572
585
|
The Procore Gem is maintained by Procore Technologies.
|
573
586
|
|
574
587
|
Procore - building the software that builds the world.
|
data/lib/procore/client.rb
CHANGED
@@ -26,6 +26,8 @@ module Procore
|
|
26
26
|
# @param options [Hash] options to configure the client with
|
27
27
|
# @option options [String] :host Endpoint to use for the API. Defaults to
|
28
28
|
# Configuration.host
|
29
|
+
# @option options [String] :login_host used by the OAuth client to generate API tokens.
|
30
|
+
# Defaults to Configuration.login_host
|
29
31
|
# @option options [String] :user_agent User Agent string to send along with
|
30
32
|
# the request. Defaults to Configuration.user_agent
|
31
33
|
def initialize(client_id:, client_secret:, store:, options: {})
|
@@ -33,7 +35,7 @@ module Procore
|
|
33
35
|
@credentials = Procore::Auth::AccessTokenCredentials.new(
|
34
36
|
client_id: client_id,
|
35
37
|
client_secret: client_secret,
|
36
|
-
host: @options[:
|
38
|
+
host: @options[:login_host],
|
37
39
|
)
|
38
40
|
@store = store
|
39
41
|
end
|
@@ -32,6 +32,16 @@ module Procore
|
|
32
32
|
# @return [String]
|
33
33
|
attr_accessor :host
|
34
34
|
|
35
|
+
# @!attribute [rw] login_host
|
36
|
+
# @note defaults to Defaults::LOGIN_ENDPOINT
|
37
|
+
#
|
38
|
+
# Base Login host name used by the OAuth client to generate API tokens.
|
39
|
+
# Alter this depending on your environment - in a staging or test environment
|
40
|
+
# you may want to point this at a sandbox instead of production.
|
41
|
+
#
|
42
|
+
# @return [String]
|
43
|
+
attr_accessor :login_host
|
44
|
+
|
35
45
|
# @!attribute [rw] default_version
|
36
46
|
# @note defaults to Defaults::DEFAULT_VERSION
|
37
47
|
#
|
@@ -101,6 +111,7 @@ module Procore
|
|
101
111
|
def initialize
|
102
112
|
@default_batch_size = Procore::Defaults::BATCH_SIZE
|
103
113
|
@host = Procore::Defaults::API_ENDPOINT
|
114
|
+
@login_host = Procore::Defaults::LOGIN_ENDPOINT
|
104
115
|
@logger = nil
|
105
116
|
@max_retries = 1
|
106
117
|
@timeout = 1.0
|
data/lib/procore/defaults.rb
CHANGED
@@ -6,6 +6,9 @@ module Procore
|
|
6
6
|
# Default API endpoint
|
7
7
|
API_ENDPOINT = "https://api.procore.com".freeze
|
8
8
|
|
9
|
+
# Default Login endpoint
|
10
|
+
LOGIN_ENDPOINT = "https://login.procore.com".freeze
|
11
|
+
|
9
12
|
# Default User Agent header string
|
10
13
|
USER_AGENT = "Procore Ruby Gem #{Procore::VERSION}".freeze
|
11
14
|
|
@@ -18,6 +21,7 @@ module Procore
|
|
18
21
|
def self.client_options
|
19
22
|
{
|
20
23
|
host: Procore.configuration.host,
|
24
|
+
login_host: Procore.configuration.login_host,
|
21
25
|
user_agent: Procore.configuration.user_agent,
|
22
26
|
default_version: Procore.configuration.default_version,
|
23
27
|
}
|
data/lib/procore/requestable.rb
CHANGED
data/lib/procore/version.rb
CHANGED
data/procore.gemspec
CHANGED
@@ -34,6 +34,7 @@ Gem::Specification.new do |spec|
|
|
34
34
|
spec.add_development_dependency "rubocop"
|
35
35
|
spec.add_development_dependency "rubocop-performance"
|
36
36
|
spec.add_development_dependency "rubocop-rails"
|
37
|
+
spec.add_development_dependency "simplecov"
|
37
38
|
spec.add_development_dependency "sqlite3"
|
38
39
|
spec.add_development_dependency "webmock"
|
39
40
|
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# This is a sample sonar-project.properties file that can be added to your repo.
|
2
|
+
# These are the most commonly used properties that are used to send the SonarQube analysis report
|
3
|
+
# to our server.
|
4
|
+
# You can find details about additional fields here: https://docs.sonarqube.org/9.3/analysis/analysis-parameters/
|
5
|
+
# Feel free to reach out to #sonarqube-support or #team-test-tooling-and-frameworks for assistance.
|
6
|
+
|
7
|
+
# The project name as displayed in SonarQube
|
8
|
+
sonar.projectKey=ruby-sdk
|
9
|
+
sonar.projectName=ruby-sdk
|
10
|
+
|
11
|
+
# Path is relative to the sonar-project.properties file. Defaults to .
|
12
|
+
# Comma-separated paths to directories containing main source files.
|
13
|
+
sonar.sources=./lib
|
14
|
+
|
15
|
+
# Comma-separated paths to directories containing test source files
|
16
|
+
sonar.tests=./test
|
17
|
+
|
18
|
+
# Uncomment the respective section below associated to your repo's language
|
19
|
+
# Update the path as necessary to the coverage report file.
|
20
|
+
# More details about including coverage report can be found here: https://docs.sonarqube.org/9.3/analysis/coverage/
|
21
|
+
#
|
22
|
+
# Ruby code coverage
|
23
|
+
# Comma-delimited list of paths to SimpleCov report files generated with the JSON formatter.
|
24
|
+
sonar.ruby.coverage.reportPaths=./coverage/coverage.json
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: procore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Procore Engineering
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionpack
|
@@ -178,6 +178,20 @@ dependencies:
|
|
178
178
|
- - ">="
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: simplecov
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
181
195
|
- !ruby/object:Gem::Dependency
|
182
196
|
name: sqlite3
|
183
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -255,9 +269,10 @@ executables: []
|
|
255
269
|
extensions: []
|
256
270
|
extra_rdoc_files: []
|
257
271
|
files:
|
272
|
+
- ".circleci/config.yml"
|
273
|
+
- ".github/CODEOWNERS"
|
258
274
|
- ".gitignore"
|
259
275
|
- ".rubocop.yml"
|
260
|
-
- ".travis.yml"
|
261
276
|
- CHANGELOG.md
|
262
277
|
- Gemfile
|
263
278
|
- LICENSE.txt
|
@@ -284,6 +299,7 @@ files:
|
|
284
299
|
- lib/procore/util.rb
|
285
300
|
- lib/procore/version.rb
|
286
301
|
- procore.gemspec
|
302
|
+
- sonar-project.properties
|
287
303
|
homepage: https://github.com/procore/ruby-sdk
|
288
304
|
licenses:
|
289
305
|
- MIT
|
@@ -303,7 +319,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
303
319
|
- !ruby/object:Gem::Version
|
304
320
|
version: '0'
|
305
321
|
requirements: []
|
306
|
-
rubygems_version: 3.1
|
322
|
+
rubygems_version: 3.4.1
|
307
323
|
signing_key:
|
308
324
|
specification_version: 4
|
309
325
|
summary: Procore Ruby Gem
|
data/.travis.yml
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
rvm:
|
3
|
-
- 2.3
|
4
|
-
- 2.4
|
5
|
-
- 2.5
|
6
|
-
- 2.6
|
7
|
-
services:
|
8
|
-
- redis-server
|
9
|
-
- memcached
|
10
|
-
before_install:
|
11
|
-
- gem update --system
|
12
|
-
- gem install bundler
|
13
|
-
cache: bundler
|
14
|
-
script: bundle exec rake
|
15
|
-
deploy:
|
16
|
-
provider: rubygems
|
17
|
-
api_key:
|
18
|
-
secure: LC+5qDeaqBtA8IIDt0yHNYsTA/KEs7IK/hESF2V2f4bhmMapifEVSjikoZVE1lTe0R2+CyO+5mWHloFeTLayTchpZhW3yfduei3l2tktZOH9UCsXIQZKveSZlCMQ+XOn65Gstbd/5krh9+axKZswgM5YgBhjXNRgjL+yOGh2kXN0exk5nBvIBFxSCQdwqGiBDcrtgJ4eWrlPgofXszMFb3ogNQcIuUcKmAOC0j/fNag4qQV0jnp3zHDuOjrsARPJn4w6RMqSLpFVUYpJw3tE94GDW5kILHr7taTPj12PeYNbYjW7kRSgMYbQlIWUKLeyMp+vw3kNqd3Ysat+M+Mrf3z2KRKR5w62IJnCq758uerCdUo5v/vsWHYFcJvZWLrvsPSk+xQWysAqRdkun7ZBCK/FLR75S6Vkm0DBnbqd/yYp6MP9Vbi77gIZpWMXANfdk1aWGVlPNpskYeWyqPjwZX1nYybJQIIpZfX21F2WPrNA9r/cj1KYjb8vKopMEdn9GP9xMeUXXu85K+ZVPqSD/AblrLHyD2x7cES/i4+XcQSaKUOSLxTUqemAiDRBahDCehPOOeLHnu/rUzgQr1gzQL0YcLNgHovmIdstljBys62JC4gy376cNawiSW4ZPMHWg6PewqQ6Ozg4Lkytx06bBwOos55dFgI4k0T4H0/6QiE=
|
19
|
-
gem: ruby-sdk
|
20
|
-
on:
|
21
|
-
tags: true
|
22
|
-
repo: procore/ruby-sdk
|
23
|
-
skip_cleanup: 'true'
|
24
|
-
notifications:
|
25
|
-
email: false
|