ruby-trello 4.0.0 → 4.2.0

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.
@@ -0,0 +1,222 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.trello.com/1/organizations/5e93ba154634282b6df23bcc?key=DEVELOPER_PUBLIC_KEY&token=MEMBER_TOKEN
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v2.7.11
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Thu, 21 Dec 2023 16:37:16 GMT
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Content-Length:
26
+ - '337'
27
+ Referrer-Policy:
28
+ - strict-origin-when-cross-origin
29
+ X-Dns-Prefetch-Control:
30
+ - 'off'
31
+ X-Download-Options:
32
+ - noopen
33
+ X-Frame-Options:
34
+ - DENY
35
+ X-Permitted-Cross-Domain-Policies:
36
+ - none
37
+ Surrogate-Control:
38
+ - no-store
39
+ Cache-Control:
40
+ - max-age=0, must-revalidate, no-cache, no-store
41
+ Pragma:
42
+ - no-cache
43
+ Expires:
44
+ - Thu, 01 Jan 1970 00:00:00
45
+ X-Trello-Version:
46
+ - 1.249073.0
47
+ X-Trello-Environment:
48
+ - Production
49
+ Set-Cookie:
50
+ - dsc=set_cookie_dsc; Path=/; Expires=Thu, 04 Jan 2024 16:37:16 GMT; Secure;
51
+ SameSite=None
52
+ - preAuthProps=s%3A5e679b808e6e8828784b30e1%3AisEnterpriseAdmin%3Dfalse.Pfv1AFghhSOM0MLjFpWB8CaOPcNRIjt%2FmCZysEK4KNY;
53
+ Path=/; Expires=Thu, 28 Dec 2023 16:37:16 GMT; HttpOnly
54
+ Access-Control-Allow-Origin:
55
+ - "*"
56
+ Access-Control-Allow-Methods:
57
+ - GET, PUT, POST, DELETE
58
+ Access-Control-Allow-Headers:
59
+ - Authorization, Accept, Content-Type
60
+ Access-Control-Expose-Headers:
61
+ - x-rate-limit-api-key-interval-ms, x-rate-limit-api-key-max, x-rate-limit-api-key-remaining,
62
+ x-rate-limit-api-token-interval-ms, x-rate-limit-api-token-max, x-rate-limit-api-token-remaining
63
+ X-Rate-Limit-Api-Token-Interval-Ms:
64
+ - '10000'
65
+ X-Rate-Limit-Api-Token-Max:
66
+ - '100'
67
+ X-Rate-Limit-Api-Token-Remaining:
68
+ - '99'
69
+ X-Rate-Limit-Db-Query-Time-Interval-Ms:
70
+ - '600000'
71
+ X-Rate-Limit-Db-Query-Time-Max:
72
+ - '7200000'
73
+ X-Rate-Limit-Db-Query-Time-Remaining:
74
+ - '7199990'
75
+ X-Rate-Limit-Api-Key-Interval-Ms:
76
+ - '10000'
77
+ X-Rate-Limit-Api-Key-Max:
78
+ - '300'
79
+ X-Rate-Limit-Api-Key-Remaining:
80
+ - '299'
81
+ X-Rate-Limit-Member-Interval-Ms:
82
+ - '10000'
83
+ X-Rate-Limit-Member-Max:
84
+ - '375'
85
+ X-Rate-Limit-Member-Remaining:
86
+ - '374'
87
+ X-Server-Time:
88
+ - '1703176636327'
89
+ Server:
90
+ - AtlassianEdge
91
+ X-Content-Type-Options:
92
+ - nosniff
93
+ X-Xss-Protection:
94
+ - 1; mode=block
95
+ Atl-Traceid:
96
+ - 86e444b4d8164c4cb68941786ec9ea47
97
+ Report-To:
98
+ - '{"endpoints": [{"url": "https://dz8aopenkvv6s.cloudfront.net"}], "group":
99
+ "endpoint-1", "include_subdomains": true, "max_age": 600}'
100
+ Nel:
101
+ - '{"failure_fraction": 0.001, "include_subdomains": true, "max_age": 600, "report_to":
102
+ "endpoint-1"}'
103
+ Strict-Transport-Security:
104
+ - max-age=63072000; preload
105
+ body:
106
+ encoding: UTF-8
107
+ string: '{"id":"5e93ba154634282b6df23bcc","name":"integrationtest11","displayName":"Integration
108
+ Test 1","desc":"This is a team for doing integration tests","descData":null,"url":"https://trello.com/w/integrationtest11","website":null,"teamType":"engineering-it","logoHash":null,"logoUrl":null,"offering":"trello.free","products":[],"powerUps":[]}'
109
+ recorded_at: Thu, 21 Dec 2023 16:37:16 GMT
110
+ - request:
111
+ method: get
112
+ uri: https://api.trello.com/1/organizations/5e93ba154634282b6df23bcc/boards?fields=id,name&filter=open&key=DEVELOPER_PUBLIC_KEY&token=MEMBER_TOKEN
113
+ body:
114
+ encoding: US-ASCII
115
+ string: ''
116
+ headers:
117
+ User-Agent:
118
+ - Faraday v2.7.11
119
+ Accept-Encoding:
120
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
121
+ Accept:
122
+ - "*/*"
123
+ response:
124
+ status:
125
+ code: 200
126
+ message: OK
127
+ headers:
128
+ Date:
129
+ - Thu, 21 Dec 2023 16:37:17 GMT
130
+ Content-Type:
131
+ - application/json; charset=utf-8
132
+ Content-Length:
133
+ - '390'
134
+ Referrer-Policy:
135
+ - strict-origin-when-cross-origin
136
+ X-Dns-Prefetch-Control:
137
+ - 'off'
138
+ X-Download-Options:
139
+ - noopen
140
+ X-Frame-Options:
141
+ - DENY
142
+ X-Permitted-Cross-Domain-Policies:
143
+ - none
144
+ Surrogate-Control:
145
+ - no-store
146
+ Cache-Control:
147
+ - max-age=0, must-revalidate, no-cache, no-store
148
+ Pragma:
149
+ - no-cache
150
+ Expires:
151
+ - Thu, 01 Jan 1970 00:00:00
152
+ X-Trello-Version:
153
+ - 1.249073.0
154
+ X-Trello-Environment:
155
+ - Production
156
+ Set-Cookie:
157
+ - dsc=set_cookie_dsc; Path=/; Expires=Thu, 04 Jan 2024 16:37:17 GMT; Secure;
158
+ SameSite=None
159
+ - preAuthProps=s%3A5e679b808e6e8828784b30e1%3AisEnterpriseAdmin%3Dfalse.Pfv1AFghhSOM0MLjFpWB8CaOPcNRIjt%2FmCZysEK4KNY;
160
+ Path=/; Expires=Thu, 28 Dec 2023 16:37:17 GMT; HttpOnly
161
+ Access-Control-Allow-Origin:
162
+ - "*"
163
+ Access-Control-Allow-Methods:
164
+ - GET, PUT, POST, DELETE
165
+ Access-Control-Allow-Headers:
166
+ - Authorization, Accept, Content-Type
167
+ Access-Control-Expose-Headers:
168
+ - x-rate-limit-api-key-interval-ms, x-rate-limit-api-key-max, x-rate-limit-api-key-remaining,
169
+ x-rate-limit-api-token-interval-ms, x-rate-limit-api-token-max, x-rate-limit-api-token-remaining
170
+ X-Rate-Limit-Api-Token-Interval-Ms:
171
+ - '10000'
172
+ X-Rate-Limit-Api-Token-Max:
173
+ - '100'
174
+ X-Rate-Limit-Api-Token-Remaining:
175
+ - '98'
176
+ X-Rate-Limit-Db-Query-Time-Interval-Ms:
177
+ - '600000'
178
+ X-Rate-Limit-Db-Query-Time-Max:
179
+ - '7200000'
180
+ X-Rate-Limit-Db-Query-Time-Remaining:
181
+ - '7199990'
182
+ X-Rate-Limit-Api-Key-Interval-Ms:
183
+ - '10000'
184
+ X-Rate-Limit-Api-Key-Max:
185
+ - '300'
186
+ X-Rate-Limit-Api-Key-Remaining:
187
+ - '298'
188
+ X-Rate-Limit-Member-Interval-Ms:
189
+ - '10000'
190
+ X-Rate-Limit-Member-Max:
191
+ - '375'
192
+ X-Rate-Limit-Member-Remaining:
193
+ - '373'
194
+ X-Server-Time:
195
+ - '1703176637457'
196
+ X-Trello-Actual-Fastget-Path:
197
+ - fast
198
+ Server:
199
+ - AtlassianEdge
200
+ X-Content-Type-Options:
201
+ - nosniff
202
+ X-Xss-Protection:
203
+ - 1; mode=block
204
+ Atl-Traceid:
205
+ - eaf61abfea77472fa7c51b033e902104
206
+ Report-To:
207
+ - '{"endpoints": [{"url": "https://dz8aopenkvv6s.cloudfront.net"}], "group":
208
+ "endpoint-1", "include_subdomains": true, "max_age": 600}'
209
+ Nel:
210
+ - '{"failure_fraction": 0.001, "include_subdomains": true, "max_age": 600, "report_to":
211
+ "endpoint-1"}'
212
+ Strict-Transport-Security:
213
+ - max-age=63072000; preload
214
+ body:
215
+ encoding: UTF-8
216
+ string: '[{"id":"5ee65e305081b1306530df45","name":"IT 100"},{"id":"5ee65e31325f0d0a10726e6e","name":"IT
217
+ 101"},{"id":"5e93ba98614ac22d22f085c4","name":"IT 2"},{"id":"5e94eaf386374970d06e4c89","name":"IT
218
+ 3"},{"id":"5e94ee7357ac8a3edc2b2145","name":"IT 4"},{"id":"5e94f5ded016b22c2437c13c","name":"IT
219
+ 5"},{"id":"5fa757c864083f6464d25346","name":"IT 6"},{"id":"5ee65f5fa64d6f2a7aee514c","name":"IT
220
+ 99"}]'
221
+ recorded_at: Thu, 21 Dec 2023 16:37:17 GMT
222
+ recorded_with: VCR 6.0.0
@@ -7,7 +7,8 @@ RSpec.describe 'Trell::Card add and remove attachment' do
7
7
 
8
8
  describe '#add_attachment' do
9
9
  it 'can success add an attachment(file) on a card' do
10
- VCR.use_cassette('can_add_a_file_on_a_card') do
10
+ cassette_name = Trello.http_client == "rest-client" ? "can_add_a_file_on_a_card" : "can_add_a_file_on_a_card_with_farady"
11
+ VCR.use_cassette(cassette_name) do
11
12
  card = Trello::Card.find('5e95d1b4f43f9a06497f17f7')
12
13
  file = File.new('spec/integration/card/add_and_remove_attachment_spec.rb', 'r')
13
14
 
@@ -12,6 +12,28 @@ RSpec.describe 'Trello::Organization#boards' do
12
12
 
13
13
  expect(boards).to be_a(Array)
14
14
  expect(boards[0]).to be_a(Trello::Board)
15
+ boards.each do |board|
16
+ expect(board.id).not_to be_nil
17
+ expect(board.name).not_to be_nil
18
+ expect(board.pinned).not_to be_nil
19
+ expect(board.url).not_to be_nil
20
+ end
21
+ end
22
+ end
23
+
24
+ it 'can get boards with filter and specific fields' do
25
+ VCR.use_cassette('can_get_boards_with_filter_of_organization') do
26
+ organization = Trello::Organization.find('5e93ba154634282b6df23bcc')
27
+ boards = organization.boards(filter: "open", fields: "id,name")
28
+
29
+ expect(boards).to be_a(Array)
30
+ expect(boards[0]).to be_a(Trello::Board)
31
+ boards.each do |board|
32
+ expect(board.id).not_to be_nil
33
+ expect(board.name).not_to be_nil
34
+ expect(board.pinned).to be_nil
35
+ expect(board.url).to be_nil
36
+ end
15
37
  end
16
38
  end
17
39
 
@@ -37,7 +37,7 @@ module Trello
37
37
  it "can retrieve the board" do
38
38
  allow(client)
39
39
  .to receive(:get)
40
- .with("/notifications/#{notification_details['id']}/board")
40
+ .with("/notifications/#{notification_details['id']}/board", {})
41
41
  .and_return JSON.generate(boards_details.first)
42
42
 
43
43
  expect(notification.board.id).to eq boards_details.first['id']
@@ -48,7 +48,7 @@ module Trello
48
48
  it "can retrieve the list" do
49
49
  allow(client)
50
50
  .to receive(:get)
51
- .with("/notifications/#{notification_details['id']}/list")
51
+ .with("/notifications/#{notification_details['id']}/list", {})
52
52
  .and_return JSON.generate(lists_details.first)
53
53
 
54
54
  expect(notification.list.id).to eq lists_details.first['id']
@@ -59,7 +59,7 @@ module Trello
59
59
  it "can retrieve the card" do
60
60
  allow(client)
61
61
  .to receive(:get)
62
- .with("/notifications/#{notification_details['id']}/card")
62
+ .with("/notifications/#{notification_details['id']}/card", {})
63
63
  .and_return JSON.generate(cards_details.first)
64
64
 
65
65
  expect(notification.card.id).to eq cards_details.first['id']
@@ -70,7 +70,7 @@ module Trello
70
70
  it "can retrieve the member" do
71
71
  allow(client)
72
72
  .to receive(:get)
73
- .with("/notifications/#{notification_details['id']}/member")
73
+ .with("/notifications/#{notification_details['id']}/member", {})
74
74
  .and_return user_payload
75
75
 
76
76
  expect(notification.member.id).to eq user_details['id']
@@ -90,7 +90,7 @@ module Trello
90
90
  it "can retrieve the organization" do
91
91
  allow(client)
92
92
  .to receive(:get)
93
- .with("/notifications/#{notification_details['id']}/organization")
93
+ .with("/notifications/#{notification_details['id']}/organization", {})
94
94
  .and_return JSON.generate(orgs_details.first)
95
95
 
96
96
  expect(notification.organization.id).to eq orgs_details.first['id']
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-trello
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0
4
+ version: 4.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Tregunna
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-24 00:00:00.000000000 Z
11
+ date: 2023-12-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -80,6 +80,40 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '2.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: faraday-multipart
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: mime-types
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '3.0'
104
+ - - "<"
105
+ - !ruby/object:Gem::Version
106
+ version: '4.0'
107
+ type: :runtime
108
+ prerelease: false
109
+ version_requirements: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - ">="
112
+ - !ruby/object:Gem::Version
113
+ version: '3.0'
114
+ - - "<"
115
+ - !ruby/object:Gem::Version
116
+ version: '4.0'
83
117
  description: A wrapper around the trello.com API.
84
118
  email: jeremy@tregunna.ca
85
119
  executables: []
@@ -158,6 +192,7 @@ files:
158
192
  - spec/cassettes/board_find_with_id_and_get_specific_fields.yml
159
193
  - spec/cassettes/can_add_a_file_from_url_on_a_card.yml
160
194
  - spec/cassettes/can_add_a_file_on_a_card.yml
195
+ - spec/cassettes/can_add_a_file_on_a_card_with_farady.yml
161
196
  - spec/cassettes/can_add_a_member_to_a_board.yml
162
197
  - spec/cassettes/can_add_a_member_to_a_card.yml
163
198
  - spec/cassettes/can_add_label_on_a_card.yml
@@ -172,6 +207,7 @@ files:
172
207
  - spec/cassettes/can_get_boards_of_custom_field.yml
173
208
  - spec/cassettes/can_get_boards_of_label.yml
174
209
  - spec/cassettes/can_get_boards_of_organization.yml
210
+ - spec/cassettes/can_get_boards_with_filter_of_organization.yml
175
211
  - spec/cassettes/can_get_cards_of_board.yml
176
212
  - spec/cassettes/can_get_cards_of_list.yml
177
213
  - spec/cassettes/can_get_cards_of_member.yml
@@ -465,6 +501,7 @@ test_files:
465
501
  - spec/cassettes/board_find_with_id_and_get_specific_fields.yml
466
502
  - spec/cassettes/can_add_a_file_from_url_on_a_card.yml
467
503
  - spec/cassettes/can_add_a_file_on_a_card.yml
504
+ - spec/cassettes/can_add_a_file_on_a_card_with_farady.yml
468
505
  - spec/cassettes/can_add_a_member_to_a_board.yml
469
506
  - spec/cassettes/can_add_a_member_to_a_card.yml
470
507
  - spec/cassettes/can_add_label_on_a_card.yml
@@ -479,6 +516,7 @@ test_files:
479
516
  - spec/cassettes/can_get_boards_of_custom_field.yml
480
517
  - spec/cassettes/can_get_boards_of_label.yml
481
518
  - spec/cassettes/can_get_boards_of_organization.yml
519
+ - spec/cassettes/can_get_boards_with_filter_of_organization.yml
482
520
  - spec/cassettes/can_get_cards_of_board.yml
483
521
  - spec/cassettes/can_get_cards_of_list.yml
484
522
  - spec/cassettes/can_get_cards_of_member.yml