procore 1.2 → 1.3.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
-
[![
|
3
|
+
[![CircleCI](https://circleci.com/gh/procore/ruby-sdk/tree/master.svg?style=svg)](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
|