xero-ruby 2.1.2 → 2.2.2
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|