xero-ruby 2.1.2 → 2.2.2
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/README.md +22 -9
- data/build_notes.md +1 -1
- data/docs/assets/AssetApi.md +6 -6
- data/lib/xero-ruby/api/accounting_api.rb +430 -215
- data/lib/xero-ruby/api/asset_api.rb +18 -12
- data/lib/xero-ruby/api/project_api.rb +26 -13
- data/lib/xero-ruby/api_client.rb +33 -0
- data/lib/xero-ruby/models/accounting/account.rb +0 -1
- data/lib/xero-ruby/models/accounting/organisation.rb +0 -2
- data/lib/xero-ruby/models/accounting/time_zone.rb +1 -0
- data/lib/xero-ruby/version.rb +1 -1
- data/xero-ruby.gem +0 -0
- metadata +3 -2
@@ -52,7 +52,8 @@ module XeroRuby
|
|
52
52
|
local_var_path = '/Assets'
|
53
53
|
|
54
54
|
# camelize keys of incoming `where` opts
|
55
|
-
opts[:'where'] = opts[:'where']
|
55
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
56
|
+
|
56
57
|
# query parameters
|
57
58
|
query_params = opts[:query_params] || {}
|
58
59
|
|
@@ -66,7 +67,7 @@ module XeroRuby
|
|
66
67
|
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
67
68
|
# HTTP header 'Content-Type'
|
68
69
|
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
69
|
-
header_params[:'
|
70
|
+
header_params[:'xero-tenant-id'] = xero_tenant_id
|
70
71
|
|
71
72
|
# form parameters
|
72
73
|
form_params = opts[:form_params] || {}
|
@@ -125,7 +126,8 @@ module XeroRuby
|
|
125
126
|
local_var_path = '/AssetTypes'
|
126
127
|
|
127
128
|
# camelize keys of incoming `where` opts
|
128
|
-
opts[:'where'] = opts[:'where']
|
129
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
130
|
+
|
129
131
|
# query parameters
|
130
132
|
query_params = opts[:query_params] || {}
|
131
133
|
|
@@ -139,7 +141,7 @@ module XeroRuby
|
|
139
141
|
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
140
142
|
# HTTP header 'Content-Type'
|
141
143
|
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
|
142
|
-
header_params[:'
|
144
|
+
header_params[:'xero-tenant-id'] = xero_tenant_id
|
143
145
|
|
144
146
|
# form parameters
|
145
147
|
form_params = opts[:form_params] || {}
|
@@ -202,7 +204,8 @@ module XeroRuby
|
|
202
204
|
local_var_path = '/Assets/{id}'.sub('{' + 'id' + '}', id.to_s)
|
203
205
|
|
204
206
|
# camelize keys of incoming `where` opts
|
205
|
-
opts[:'where'] = opts[:'where']
|
207
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
208
|
+
|
206
209
|
# query parameters
|
207
210
|
query_params = opts[:query_params] || {}
|
208
211
|
|
@@ -214,7 +217,7 @@ module XeroRuby
|
|
214
217
|
header_params = opts[:header_params] || {}
|
215
218
|
# HTTP header 'Accept' (if needed)
|
216
219
|
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
217
|
-
header_params[:'
|
220
|
+
header_params[:'xero-tenant-id'] = xero_tenant_id
|
218
221
|
|
219
222
|
# form parameters
|
220
223
|
form_params = opts[:form_params] || {}
|
@@ -271,7 +274,8 @@ module XeroRuby
|
|
271
274
|
local_var_path = '/Settings'
|
272
275
|
|
273
276
|
# camelize keys of incoming `where` opts
|
274
|
-
opts[:'where'] = opts[:'where']
|
277
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
278
|
+
|
275
279
|
# query parameters
|
276
280
|
query_params = opts[:query_params] || {}
|
277
281
|
|
@@ -283,7 +287,7 @@ module XeroRuby
|
|
283
287
|
header_params = opts[:header_params] || {}
|
284
288
|
# HTTP header 'Accept' (if needed)
|
285
289
|
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
286
|
-
header_params[:'
|
290
|
+
header_params[:'xero-tenant-id'] = xero_tenant_id
|
287
291
|
|
288
292
|
# form parameters
|
289
293
|
form_params = opts[:form_params] || {}
|
@@ -340,7 +344,8 @@ module XeroRuby
|
|
340
344
|
local_var_path = '/AssetTypes'
|
341
345
|
|
342
346
|
# camelize keys of incoming `where` opts
|
343
|
-
opts[:'where'] = opts[:'where']
|
347
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
348
|
+
|
344
349
|
# query parameters
|
345
350
|
query_params = opts[:query_params] || {}
|
346
351
|
|
@@ -352,7 +357,7 @@ module XeroRuby
|
|
352
357
|
header_params = opts[:header_params] || {}
|
353
358
|
# HTTP header 'Accept' (if needed)
|
354
359
|
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
355
|
-
header_params[:'
|
360
|
+
header_params[:'xero-tenant-id'] = xero_tenant_id
|
356
361
|
|
357
362
|
# form parameters
|
358
363
|
form_params = opts[:form_params] || {}
|
@@ -437,7 +442,8 @@ module XeroRuby
|
|
437
442
|
local_var_path = '/Assets'
|
438
443
|
|
439
444
|
# camelize keys of incoming `where` opts
|
440
|
-
opts[:'where'] = opts[:'where']
|
445
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
446
|
+
|
441
447
|
# query parameters
|
442
448
|
query_params = opts[:query_params] || {}
|
443
449
|
query_params[:'status'] = status
|
@@ -455,7 +461,7 @@ module XeroRuby
|
|
455
461
|
header_params = opts[:header_params] || {}
|
456
462
|
# HTTP header 'Accept' (if needed)
|
457
463
|
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
|
458
|
-
header_params[:'
|
464
|
+
header_params[:'xero-tenant-id'] = xero_tenant_id
|
459
465
|
|
460
466
|
# form parameters
|
461
467
|
form_params = opts[:form_params] || {}
|
@@ -50,7 +50,8 @@ module XeroRuby
|
|
50
50
|
local_var_path = '/projects'
|
51
51
|
|
52
52
|
# camelize keys of incoming `where` opts
|
53
|
-
opts[:'where'] = opts[:'where']
|
53
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
54
|
+
|
54
55
|
# query parameters
|
55
56
|
query_params = opts[:query_params] || {}
|
56
57
|
|
@@ -133,7 +134,8 @@ module XeroRuby
|
|
133
134
|
local_var_path = '/projects/{projectId}/time'.sub('{' + 'projectId' + '}', project_id.to_s)
|
134
135
|
|
135
136
|
# camelize keys of incoming `where` opts
|
136
|
-
opts[:'where'] = opts[:'where']
|
137
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
138
|
+
|
137
139
|
# query parameters
|
138
140
|
query_params = opts[:query_params] || {}
|
139
141
|
|
@@ -216,7 +218,8 @@ module XeroRuby
|
|
216
218
|
local_var_path = '/projects/{projectId}/time/{timeEntryId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'timeEntryId' + '}', time_entry_id.to_s)
|
217
219
|
|
218
220
|
# camelize keys of incoming `where` opts
|
219
|
-
opts[:'where'] = opts[:'where']
|
221
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
222
|
+
|
220
223
|
# query parameters
|
221
224
|
query_params = opts[:query_params] || {}
|
222
225
|
|
@@ -289,7 +292,8 @@ module XeroRuby
|
|
289
292
|
local_var_path = '/projects/{projectId}'.sub('{' + 'projectId' + '}', project_id.to_s)
|
290
293
|
|
291
294
|
# camelize keys of incoming `where` opts
|
292
|
-
opts[:'where'] = opts[:'where']
|
295
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
296
|
+
|
293
297
|
# query parameters
|
294
298
|
query_params = opts[:query_params] || {}
|
295
299
|
|
@@ -370,7 +374,8 @@ module XeroRuby
|
|
370
374
|
local_var_path = '/projectsusers'
|
371
375
|
|
372
376
|
# camelize keys of incoming `where` opts
|
373
|
-
opts[:'where'] = opts[:'where']
|
377
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
378
|
+
|
374
379
|
# query parameters
|
375
380
|
query_params = opts[:query_params] || {}
|
376
381
|
query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
|
@@ -459,7 +464,8 @@ module XeroRuby
|
|
459
464
|
local_var_path = '/projects'
|
460
465
|
|
461
466
|
# camelize keys of incoming `where` opts
|
462
|
-
opts[:'where'] = opts[:'where']
|
467
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
468
|
+
|
463
469
|
# query parameters
|
464
470
|
query_params = opts[:query_params] || {}
|
465
471
|
query_params[:'projectIds'] = @api_client.build_collection_param(opts[:'project_ids'], :multi) if !opts[:'project_ids'].nil?
|
@@ -545,7 +551,8 @@ module XeroRuby
|
|
545
551
|
local_var_path = '/projects/{projectId}/tasks/{taskId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'taskId' + '}', task_id.to_s)
|
546
552
|
|
547
553
|
# camelize keys of incoming `where` opts
|
548
|
-
opts[:'where'] = opts[:'where']
|
554
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
555
|
+
|
549
556
|
# query parameters
|
550
557
|
query_params = opts[:query_params] || {}
|
551
558
|
|
@@ -626,7 +633,8 @@ module XeroRuby
|
|
626
633
|
local_var_path = '/projects/{projectId}/tasks'.sub('{' + 'projectId' + '}', project_id.to_s)
|
627
634
|
|
628
635
|
# camelize keys of incoming `where` opts
|
629
|
-
opts[:'where'] = opts[:'where']
|
636
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
637
|
+
|
630
638
|
# query parameters
|
631
639
|
query_params = opts[:query_params] || {}
|
632
640
|
query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
|
@@ -724,7 +732,8 @@ module XeroRuby
|
|
724
732
|
local_var_path = '/projects/{projectId}/time'.sub('{' + 'projectId' + '}', project_id.to_s)
|
725
733
|
|
726
734
|
# camelize keys of incoming `where` opts
|
727
|
-
opts[:'where'] = opts[:'where']
|
735
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
736
|
+
|
728
737
|
# query parameters
|
729
738
|
query_params = opts[:query_params] || {}
|
730
739
|
query_params[:'userId'] = opts[:'user_id'] if !opts[:'user_id'].nil?
|
@@ -815,7 +824,8 @@ module XeroRuby
|
|
815
824
|
local_var_path = '/projects/{projectId}/time/{timeEntryId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'timeEntryId' + '}', time_entry_id.to_s)
|
816
825
|
|
817
826
|
# camelize keys of incoming `where` opts
|
818
|
-
opts[:'where'] = opts[:'where']
|
827
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
828
|
+
|
819
829
|
# query parameters
|
820
830
|
query_params = opts[:query_params] || {}
|
821
831
|
|
@@ -896,7 +906,8 @@ module XeroRuby
|
|
896
906
|
local_var_path = '/projects/{projectId}'.sub('{' + 'projectId' + '}', project_id.to_s)
|
897
907
|
|
898
908
|
# camelize keys of incoming `where` opts
|
899
|
-
opts[:'where'] = opts[:'where']
|
909
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
910
|
+
|
900
911
|
# query parameters
|
901
912
|
query_params = opts[:query_params] || {}
|
902
913
|
|
@@ -979,7 +990,8 @@ module XeroRuby
|
|
979
990
|
local_var_path = '/projects/{projectId}'.sub('{' + 'projectId' + '}', project_id.to_s)
|
980
991
|
|
981
992
|
# camelize keys of incoming `where` opts
|
982
|
-
opts[:'where'] = opts[:'where']
|
993
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
994
|
+
|
983
995
|
# query parameters
|
984
996
|
query_params = opts[:query_params] || {}
|
985
997
|
|
@@ -1068,7 +1080,8 @@ module XeroRuby
|
|
1068
1080
|
local_var_path = '/projects/{projectId}/time/{timeEntryId}'.sub('{' + 'projectId' + '}', project_id.to_s).sub('{' + 'timeEntryId' + '}', time_entry_id.to_s)
|
1069
1081
|
|
1070
1082
|
# camelize keys of incoming `where` opts
|
1071
|
-
opts[:'where'] = opts[:'where']
|
1083
|
+
opts[:'where'] = @api_client.parameterize_where(opts[:'where']) if !opts[:'where'].nil?
|
1084
|
+
|
1072
1085
|
# query parameters
|
1073
1086
|
query_params = opts[:query_params] || {}
|
1074
1087
|
|
data/lib/xero-ruby/api_client.rb
CHANGED
@@ -550,5 +550,38 @@ module XeroRuby
|
|
550
550
|
fail "unknown collection format: #{collection_format.inspect}"
|
551
551
|
end
|
552
552
|
end
|
553
|
+
|
554
|
+
def parameterize_where(where_opts)
|
555
|
+
where_opts.map do |k,v|
|
556
|
+
case v
|
557
|
+
when Array
|
558
|
+
operator = v.first
|
559
|
+
query = v.last
|
560
|
+
if query.is_a?(Date)
|
561
|
+
"#{camelize_key(k)} #{operator} DateTime(#{query.strftime("%Y,%m,%d")})"
|
562
|
+
elsif [Float, Integer].member?(query.class)
|
563
|
+
%{#{camelize_key(k)} #{operator} #{query}}
|
564
|
+
elsif [true, false].member?(query)
|
565
|
+
%{#{camelize_key(k)} #{operator} #{query}}
|
566
|
+
else
|
567
|
+
if k == :contact_id
|
568
|
+
%{Contact.ContactID #{operator} guid("#{query}")}
|
569
|
+
elsif k == :contact_number
|
570
|
+
%{Contact.ContactNumber #{operator} "#{query}"}
|
571
|
+
else
|
572
|
+
%{#{camelize_key(k)} #{operator} "#{query}"}
|
573
|
+
end
|
574
|
+
end
|
575
|
+
when Range
|
576
|
+
if v.first.is_a?(DateTime) || v.first.is_a?(Date) || v.first.is_a?(Time)
|
577
|
+
"#{camelize_key(k)} >= DateTime(#{v.first.strftime("%Y,%m,%d")}) AND #{camelize_key(k)} <= DateTime(#{v.last.strftime("%Y,%m,%d")})"
|
578
|
+
else
|
579
|
+
"#{camelize_key(k)} >= #{v.first} AND #{camelize_key(k)} <= #{v.last}"
|
580
|
+
end
|
581
|
+
else
|
582
|
+
%{#{camelize_key(k)} #{v}}
|
583
|
+
end
|
584
|
+
end.join(' AND ')
|
585
|
+
end
|
553
586
|
end
|
554
587
|
end
|
@@ -91,7 +91,6 @@ module XeroRuby::Accounting
|
|
91
91
|
CISLABOURINCOME = "CISLABOURINCOME".freeze
|
92
92
|
CISLIABILITY = "CISLIABILITY".freeze
|
93
93
|
CISMATERIALS = "CISMATERIALS".freeze
|
94
|
-
# duplicate definitions generated: https://github.com/XeroAPI/xero-ruby/issues/53#issuecomment-668893305
|
95
94
|
# EMPTY = "".freeze
|
96
95
|
|
97
96
|
# Shown if set
|
@@ -114,7 +114,6 @@ module XeroRuby::Accounting
|
|
114
114
|
N6_MONTHLY = "6MONTHLY".freeze
|
115
115
|
QUARTERLY = "QUARTERLY".freeze
|
116
116
|
YEARLY = "YEARLY".freeze
|
117
|
-
# duplicate definitions generated: https://github.com/XeroAPI/xero-ruby/issues/53#issuecomment-668893305
|
118
117
|
# NONE = "NONE".freeze
|
119
118
|
|
120
119
|
# The default for LineAmountTypes on sales transactions
|
@@ -137,7 +136,6 @@ module XeroRuby::Accounting
|
|
137
136
|
|
138
137
|
# Organisation Entity Type
|
139
138
|
attr_accessor :organisation_entity_type
|
140
|
-
# duplicate definitions generated: https://github.com/XeroAPI/xero-ruby/issues/53#issuecomment-668893305
|
141
139
|
# ACCOUNTING_PRACTICE = "ACCOUNTING_PRACTICE".freeze
|
142
140
|
# COMPANY = "COMPANY".freeze
|
143
141
|
# CHARITY = "CHARITY".freeze
|
@@ -84,6 +84,7 @@ module XeroRuby::Accounting
|
|
84
84
|
RUSSIATIMEZONE11 = "RUSSIATIMEZONE11".freeze
|
85
85
|
NEWZEALANDSTANDARDTIME = "NEWZEALANDSTANDARDTIME".freeze
|
86
86
|
UTC12 = "UTC+12".freeze
|
87
|
+
UTC13 = "UTC+13".freeze
|
87
88
|
FIJISTANDARDTIME = "FIJISTANDARDTIME".freeze
|
88
89
|
KAMCHATKASTANDARDTIME = "KAMCHATKASTANDARDTIME".freeze
|
89
90
|
TONGASTANDARDTIME = "TONGASTANDARDTIME".freeze
|
data/lib/xero-ruby/version.rb
CHANGED
data/xero-ruby.gem
ADDED
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xero-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Xero API Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-09-
|
11
|
+
date: 2020-09-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -534,6 +534,7 @@ files:
|
|
534
534
|
- spec/projects/models/time_entry_create_or_update_spec.rb
|
535
535
|
- spec/projects/models/time_entry_spec.rb
|
536
536
|
- spec/spec_helper.rb
|
537
|
+
- xero-ruby.gem
|
537
538
|
- xero-ruby.gemspec
|
538
539
|
homepage: https://developer.xero.com
|
539
540
|
licenses:
|