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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ad6f2fc6819bf44702a617998092dc0d11427ed06eedd34a726dbee30f0211ac
4
- data.tar.gz: 2626c72345383731231b3154ebd60469204c539931aeee1a75c998a932a9d3c8
3
+ metadata.gz: 3595107dc22ff0d62e58dfd007d361337940fa03b4f543d9068ceb3bf4a9802a
4
+ data.tar.gz: 677cffae43492f41abe1dd67b5decc0da14300cc5bbba248317b97f272a783ee
5
5
  SHA512:
6
- metadata.gz: c6dad622b02dd50b3a1fc63d0de6c1642a377a63caec8f71d420610124a0a11dc119f9aed133b00724a792d2eed5e4ed02a106caf509105d5001141185ca7f47
7
- data.tar.gz: d6536490eaaf49112a3fd2da24875442cef1c522079a45631a69f18eba986921f00084a964e7f854f166f21a1259ec83871eb35251efe4872fa7b7e8e5320d0b
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
@@ -0,0 +1,3 @@
1
+ # Read more about CODEOWNERS here - https://github.com/blog/2392-introducing-code-owners
2
+
3
+ * @procore/team-api
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
- [![Build Status](https://travis-ci.org/procore/ruby-sdk.svg?branch=move-to-travis)](https://travis-ci.org/procore/ruby-sdk)
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
- - [1.0.0 Release](#100-release)
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
- ## 1.0.0 Release
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
- v1.0.0 was released on January 5, 2021, and adds support the new Rest v1.0 API.
37
- See the CHANGELOG for upgrade instructions.
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
- All paths are relative, the gem will handle expanding them. An API version may
63
- be specified in the `version:` argument, or the default version is used. The
64
- default version is `v1.0` unless otherwise configured.
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
- In addition to the settings above, you will need to set `company_id` in the request
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
- Example Usage:
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 PR by the gem maintainers.
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.
@@ -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[:host],
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
@@ -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
  }
@@ -253,7 +253,7 @@ module Procore
253
253
  begin
254
254
  result = yield
255
255
  rescue *HTTP_EXCEPTIONS => e
256
- if retries <= Procore.configuration.max_retries
256
+ if retries < Procore.configuration.max_retries
257
257
  retries += 1
258
258
  sleep 1.5**retries
259
259
  retry
@@ -1,3 +1,3 @@
1
1
  module Procore
2
- VERSION = "1.2".freeze
2
+ VERSION = "1.3.1".freeze
3
3
  end
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: '1.2'
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: 2022-12-12 00:00:00.000000000 Z
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.6
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