quickbase_record 0.3.1 → 0.3.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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MGJhY2MwOGI2YTVhMjc0ZTBlNDdkYmIzMDI2NDdjOWU3Y2NjMGZmZA==
4
+ Y2RjMzgzMzNmNDcxMjQwZjAwNmE2YmM1YzljN2EwNDg0YTM5YTdiOA==
5
5
  data.tar.gz: !binary |-
6
- ODcxNmE2MzU2ZDBhNDlkYmZkMzllYWQ3MDY3MjIzZTA3MDI5Njg4Mg==
6
+ NzY3NjAxMTE4ZmVlMDQ0ZDM3MDc2NTJmNGE1MWY3NjVjYzgzZjYwZA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MmEzY2M5ZjNhM2RiNzkwY2ZhZGVjZjgxMTI4MWM4OThkM2RhZGJmZjhhNDZh
10
- MjA1OWE3YTE3YmVjMzkxMGFmODMwMWQwYzFjNjUwODExYjFmOTZjMGNlMWE3
11
- YTM0ZGQ4ZGI2NjQ4ZTc1MzcyYmVhNThiMWM2YWIzYTQxZjU2NmQ=
9
+ MjIyMzFkMGY3NWM2YzJiNjQ5OTI5OTA0Mzk4NDc3MWY4NDYwOTNhMzRkMTNl
10
+ MTQ4MDU5NzdkZjNmNWU0NDdmNmY2Y2EwNDJkZWFjYTNlN2U3Njk4MzdhOWJk
11
+ NTY5Y2JlYmQ4MzFiZTIzZmE2YmY5NjU5ZDNhZTAxOGY0M2ZhYWM=
12
12
  data.tar.gz: !binary |-
13
- MGFlMjNhMjU5Yzk2OTExY2YzOGJiZTBhODI2YzJmYzFmZTc3ZDM0Yzk3MjEx
14
- OGYzM2ZlMjY1ZmQ3OTUwMzA5NjA5Y2I0NGFjNjIwNjYzMjJhZWQ5NmRhMWQy
15
- ODQ0ZWE1ODk1MjcyODhmNDVkNjc2ODBhM2ZkNGQwMGM4NGMxYmI=
13
+ N2RiZWRlM2M5OGNkZTI4NmZmZGVkZWYzYzU4OGRhZGExZDZiZDJlZDkxOGQ5
14
+ OGMyYmU1ZjhlMTcxMTg4YTJiZDZiZmE2MzhkODI0MzJlODdmMGFhNzY4Y2E5
15
+ OGFlYjMzM2MyNjRjYjE0M2E5N2Y5NWFlNjFkMTU5MGU2MGViMzI=
@@ -90,8 +90,15 @@ module QuickbaseRecord
90
90
  options.each do |option_name, value|
91
91
  if option_name.to_sym == :options
92
92
  result[option_name] = value
93
- else
94
- result[option_name] = convert_field_name_to_fid(value)
93
+ next
94
+ end
95
+
96
+ value.split('.').each do |value|
97
+ if result[option_name]
98
+ result[option_name] << ".#{convert_field_name_to_fid(value)}"
99
+ else
100
+ result[option_name] = convert_field_name_to_fid(value)
101
+ end
95
102
  end
96
103
  end
97
104
 
@@ -1,3 +1,3 @@
1
1
  module QuickbaseRecord
2
- VERSION = "0.3.1"
2
+ VERSION = "0.3.2"
3
3
  end
data/spec/queries_spec.rb CHANGED
@@ -55,7 +55,7 @@ RSpec.describe QuickbaseRecord::Queries do
55
55
  end
56
56
 
57
57
  it "accepts modified clists" do
58
- teachers = TeacherFake.where(id: {XEX: ''}, query_options: {clist: 'id'})
58
+ teachers = TeacherFake.where(id: {XEX: ''}, query_options: {clist: 'id.salary'})
59
59
  expect(teachers.first.id).to be_present
60
60
  expect(teachers.first.subject).not_to be_present
61
61
  end
@@ -214,4 +214,21 @@ RSpec.describe QuickbaseRecord::Queries do
214
214
  expect { TeacherFake.build_query(hash) }.to raise_error
215
215
  end
216
216
  end
217
+
218
+ describe '.build_query_options' do
219
+ it "returns a hash" do
220
+ options = {clist: '1.2.3'}
221
+ expect(TeacherFake.build_query_options(options)).to be_a Hash
222
+ end
223
+
224
+ it "converts field names to FIDs" do
225
+ options = {clist: 'name'}
226
+ expect(TeacherFake.build_query_options(options)).to eq({clist: '6'})
227
+ end
228
+
229
+ it "splits clist and slist on '.'" do
230
+ options = {clist: 'name.subject', slist: 'name.salary'}
231
+ expect(TeacherFake.build_query_options(options)).to eq({clist: '6.7', slist: '6.8'})
232
+ end
233
+ end
217
234
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quickbase_record
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cullen Jett