procore 0.7.3 → 0.8.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/.rubocop.yml +9 -10
- data/CHANGELOG.md +12 -0
- data/README.md +7 -7
- data/lib/procore/requestable.rb +29 -16
- data/lib/procore/response.rb +2 -0
- data/lib/procore/version.rb +1 -1
- data/procore.gemspec +2 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: de9db8ec73ee357db98a0f91e185181dd0974b17984876a9fb6fbda80f7d43ea
|
4
|
+
data.tar.gz: 1dfba18ed4f52b11111cd46ce565d247bdf0dfd893f6adac805d15f8ba7ea26a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 72d12d650d80082e301964204f37d78a95d947a71b7a938d456013f081b0f5d8079226aca82df8d38790483f9f9ce0d2f0ecfbcfbff560207084aa10ca02e59b
|
7
|
+
data.tar.gz: cfeda2877fd80e28af9e48f2dfd26d7f8975b9c5d52e3c7b89af84acafe72e20e31c8cedc61fe8a19735c2e9cc70f703a6d5de54aaf487fca0ea40979b924035
|
data/.rubocop.yml
CHANGED
@@ -372,9 +372,15 @@ Style/TrailingCommaInArguments:
|
|
372
372
|
- no_comma
|
373
373
|
Enabled: true
|
374
374
|
|
375
|
-
Style/
|
376
|
-
|
377
|
-
|
375
|
+
Style/TrailingCommaInArrayLiteral:
|
376
|
+
EnforcedStyleForMultiline: comma
|
377
|
+
SupportedStylesForMultiline:
|
378
|
+
- comma
|
379
|
+
- consistent_comma
|
380
|
+
- no_comma
|
381
|
+
Enabled: true
|
382
|
+
|
383
|
+
Style/TrailingCommaInHashLiteral:
|
378
384
|
EnforcedStyleForMultiline: comma
|
379
385
|
SupportedStylesForMultiline:
|
380
386
|
- comma
|
@@ -557,13 +563,6 @@ Lint/UnderscorePrefixedVariableName:
|
|
557
563
|
Description: 'Do not use prefix `_` for a variable that is used.'
|
558
564
|
Enabled: false
|
559
565
|
|
560
|
-
Lint/UnneededDisable:
|
561
|
-
Description: >-
|
562
|
-
Checks for rubocop:disable comments that can be removed.
|
563
|
-
Note: this cop is not disabled when disabling all cops.
|
564
|
-
It must be explicitly disabled.
|
565
|
-
Enabled: false
|
566
|
-
|
567
566
|
Lint/Void:
|
568
567
|
Description: 'Possible use of operator/literal/variable in void context.'
|
569
568
|
Enabled: false
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,17 @@
|
|
1
1
|
## Unreleased
|
2
2
|
|
3
|
+
## 0.8.1 (April 13, 2018)
|
4
|
+
|
5
|
+
* Fix rubocop
|
6
|
+
|
7
|
+
*Michael Stock/Jason Gittler*
|
8
|
+
|
9
|
+
## 0.8.0 (April 13, 2018)
|
10
|
+
|
11
|
+
* Move all request methods to use keyword arguments
|
12
|
+
|
13
|
+
*Michael Stock/Jason Gittler*
|
14
|
+
|
3
15
|
## 0.7.3 (March 1, 2018)
|
4
16
|
|
5
17
|
* Add 403 responses as Procore::ForbiddenError
|
data/README.md
CHANGED
@@ -25,11 +25,11 @@ The Client class exposes `#get`, `#post`, `#put`, `#patch` and `#delete` methods
|
|
25
25
|
to you.
|
26
26
|
|
27
27
|
```ruby
|
28
|
-
get(path, query
|
29
|
-
post(path, body
|
30
|
-
put(path, body
|
31
|
-
patch(path, body
|
32
|
-
delete(path, query
|
28
|
+
get(path, query: {})
|
29
|
+
post(path, body: {}, options: {})
|
30
|
+
put(path, body: {}, options: {})
|
31
|
+
patch(path, body: {}, options: {})
|
32
|
+
delete(path, query: {})
|
33
33
|
```
|
34
34
|
|
35
35
|
All paths are relative - the gem will handle expanding `client.get("me")` to
|
@@ -226,7 +226,7 @@ You can pass a `per_page` query parameter in your request to change the page
|
|
226
226
|
size. The pagination links will update to reflect that change.
|
227
227
|
|
228
228
|
```
|
229
|
-
first_page = client.get("projects", per_page: 250)
|
229
|
+
first_page = client.get("projects", query: { per_page: 250 })
|
230
230
|
|
231
231
|
puts first_page.pagination
|
232
232
|
{
|
@@ -376,7 +376,7 @@ end
|
|
376
376
|
# Somewhere else in the application
|
377
377
|
class ProjectsController
|
378
378
|
def index
|
379
|
-
@projects = client.get("projects", company_id: params[:company_id])
|
379
|
+
@projects = client.get("projects", query: { company_id: params[:company_id] })
|
380
380
|
end
|
381
381
|
|
382
382
|
private
|
data/lib/procore/requestable.rb
CHANGED
@@ -12,12 +12,13 @@ module Procore
|
|
12
12
|
module Requestable
|
13
13
|
# @param path [String] URL path
|
14
14
|
# @param query [Hash] Query options to pass along with the request
|
15
|
+
# @option options [Hash] :company_id
|
15
16
|
#
|
16
17
|
# @example Usage
|
17
|
-
# client.get("my_open_items", per_page: 5, filter: {})
|
18
|
+
# client.get("my_open_items", query: { per_page: 5, filter: {} })
|
18
19
|
#
|
19
20
|
# @return [Response]
|
20
|
-
def get(path, query
|
21
|
+
def get(path, query: {}, options: {})
|
21
22
|
Util.log_info(
|
22
23
|
"API Request Initiated",
|
23
24
|
path: "#{base_api_path}/#{path}",
|
@@ -29,7 +30,7 @@ module Procore
|
|
29
30
|
RestClient::Request.execute(
|
30
31
|
method: :get,
|
31
32
|
url: "#{base_api_path}/#{path}",
|
32
|
-
headers: headers.merge(params: query),
|
33
|
+
headers: headers(options).merge(params: query),
|
33
34
|
timeout: Procore.configuration.timeout,
|
34
35
|
)
|
35
36
|
end
|
@@ -38,14 +39,17 @@ module Procore
|
|
38
39
|
# @param path [String] URL path
|
39
40
|
# @param body [Hash] Body parameters to send with the request
|
40
41
|
# @param options [Hash} Extra request options
|
41
|
-
#
|
42
|
-
# @option options [String] :idempotency_token
|
42
|
+
# @option options [String] :idempotency_token | :company_id
|
43
43
|
#
|
44
44
|
# @example Usage
|
45
|
-
# client.post(
|
45
|
+
# client.post(
|
46
|
+
# "users",
|
47
|
+
# body: { name: "New User" },
|
48
|
+
# options: { idempotency_token: "key", company_id: 1 },
|
49
|
+
# )
|
46
50
|
#
|
47
51
|
# @return [Response]
|
48
|
-
def post(path, body
|
52
|
+
def post(path, body: {}, options: {})
|
49
53
|
Util.log_info(
|
50
54
|
"API Request Initiated",
|
51
55
|
path: "#{base_api_path}/#{path}",
|
@@ -67,13 +71,13 @@ module Procore
|
|
67
71
|
# @param path [String] URL path
|
68
72
|
# @param body [Hash] Body parameters to send with the request
|
69
73
|
# @param options [Hash} Extra request options
|
70
|
-
#
|
74
|
+
# @option options [String] :idempotency_token | :company_id
|
71
75
|
#
|
72
76
|
# @example Usage
|
73
|
-
# client.put("dashboards/1/users", [1,2,3])
|
77
|
+
# client.put("dashboards/1/users", body: [1,2,3], options: { company_id: 1 })
|
74
78
|
#
|
75
79
|
# @return [Response]
|
76
|
-
def put(path, body
|
80
|
+
def put(path, body: {}, options: {})
|
77
81
|
Util.log_info(
|
78
82
|
"API Request Initiated",
|
79
83
|
path: "#{base_api_path}/#{path}",
|
@@ -95,14 +99,17 @@ module Procore
|
|
95
99
|
# @param path [String] URL path
|
96
100
|
# @param body [Hash] Body parameters to send with the request
|
97
101
|
# @param options [Hash} Extra request options
|
98
|
-
#
|
99
|
-
# @option options [String] :idempotency_token
|
102
|
+
# @option options [String] :idempotency_token | :company_id
|
100
103
|
#
|
101
104
|
# @example Usage
|
102
|
-
# client.patch(
|
105
|
+
# client.patch(
|
106
|
+
# "users/1",
|
107
|
+
# body: { name: "Updated" },
|
108
|
+
# options: { idempotency_token: "key", company_id: 1 },
|
109
|
+
# )
|
103
110
|
#
|
104
111
|
# @return [Response]
|
105
|
-
def patch(path, body
|
112
|
+
def patch(path, body: {}, options: {})
|
106
113
|
Util.log_info(
|
107
114
|
"API Request Initiated",
|
108
115
|
path: "#{base_api_path}/#{path}",
|
@@ -123,16 +130,18 @@ module Procore
|
|
123
130
|
|
124
131
|
# @param path [String] URL path
|
125
132
|
# @param query [Hash] Query options to pass along with the request
|
133
|
+
# @option options [String] :company_id
|
126
134
|
#
|
127
135
|
# @example Usage
|
128
|
-
# client.delete("users/1")
|
136
|
+
# client.delete("users/1", query: {}, options: {})
|
129
137
|
#
|
130
138
|
# @return [Response]
|
131
|
-
def delete(path, query
|
139
|
+
def delete(path, query: {}, options: {})
|
132
140
|
Util.log_info(
|
133
141
|
"API Request Initiated",
|
134
142
|
path: "#{base_api_path}/#{path}",
|
135
143
|
method: "DELETE",
|
144
|
+
headers: headers(options),
|
136
145
|
query: query.to_s,
|
137
146
|
)
|
138
147
|
|
@@ -250,6 +259,10 @@ module Procore
|
|
250
259
|
if options[:idempotency_token]
|
251
260
|
headers["Idempotency-Token"] = options[:idempotency_token]
|
252
261
|
end
|
262
|
+
|
263
|
+
if options[:company_id]
|
264
|
+
headers["procore-company-id"] = options[:company_id]
|
265
|
+
end
|
253
266
|
end
|
254
267
|
end
|
255
268
|
|
data/lib/procore/response.rb
CHANGED
data/lib/procore/version.rb
CHANGED
data/procore.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
|
3
|
-
lib = File.expand_path("
|
3
|
+
lib = File.expand_path("lib", __dir__)
|
4
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
5
|
require "procore/version"
|
6
6
|
|
@@ -34,6 +34,7 @@ Gem::Specification.new do |spec|
|
|
34
34
|
spec.add_development_dependency "sqlite3"
|
35
35
|
spec.add_development_dependency "webmock"
|
36
36
|
|
37
|
+
spec.add_dependency "activesupport", "> 2.4"
|
37
38
|
spec.add_dependency "oauth2", "~> 1.4"
|
38
39
|
spec.add_dependency "rest-client", "~> 2.0.0"
|
39
40
|
end
|
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: 0.
|
4
|
+
version: 0.8.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: 2018-
|
11
|
+
date: 2018-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: actionpack
|
@@ -164,6 +164,20 @@ dependencies:
|
|
164
164
|
- - ">="
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: activesupport
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">"
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '2.4'
|
174
|
+
type: :runtime
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '2.4'
|
167
181
|
- !ruby/object:Gem::Dependency
|
168
182
|
name: oauth2
|
169
183
|
requirement: !ruby/object:Gem::Requirement
|