dm-filemaker-adapter 0.0.2 → 0.0.3
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 +8 -8
- data/.gitignore +2 -1
- data/lib/dm-filemaker-adapter/adapter.rb +29 -4
- data/lib/dm-filemaker-adapter/version.rb +1 -1
- data/spec/dm-filemaker-adapter/adapter_spec.rb +26 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZjdlOGM0ZWYwNzU2MzhjZGQ3Y2U3NWZkMDY4ZDdlZTQ4NGMwOTc5MA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NmVhZmNlOWYxNGJmOWNhNDA2NmZjODRlNTZjMmI1MTRkYTZkYmU4OA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YWI5ZGRmN2FjNWRhMmY1ZTcwMzBmNmJhYjllNjlhZWE1NDFkZWNlYmFlY2Iw
|
10
|
+
OGZlMDMzZjYwZmRiMTVmNjY1MTVjMjhlYzlkNjYzZTUwMGM2OWYwNDVmYmU0
|
11
|
+
ZmNkNDI2NWNkN2Y5MDE0MjEzMWUwMTBlNTg2OGY3NmRjYWVjMTU=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MWYwMGEzMGZkMzQ3NmQ2NmNiYTE5YWY0ZGQ1YmEwNzJhODEyMmVjYTExZWVl
|
14
|
+
N2MyZmE1N2VhOTg3NjhmOTE4MDVhMWRmZDZlNmEzODkyYzA4NGYxZGI4NmYx
|
15
|
+
OTYyODIwNzc0NmNiMDc4YzMxZjY5MDJiYmJhMjI1NTQ3ODNlYjE=
|
data/.gitignore
CHANGED
@@ -78,7 +78,7 @@ module DataMapper
|
|
78
78
|
_layout = layout(query.model)
|
79
79
|
opts = query.fmp_options
|
80
80
|
opts[:template] = self.class.fmresultset_template_path
|
81
|
-
prms =
|
81
|
+
prms = query.to_fmp_query
|
82
82
|
#[prms.empty? ? _layout.all(:max_records=>0).foundset_count : _layout.count(prms)]
|
83
83
|
[prms.empty? ? _layout.view.total_count : _layout.count(prms)]
|
84
84
|
end
|
@@ -150,9 +150,34 @@ module DataMapper
|
|
150
150
|
prepend, append = options[:prepend], options[:append]
|
151
151
|
fm_attributes = {}
|
152
152
|
#puts "PREPARE FMP ATTRIBUTES"
|
153
|
+
#DmProduct.last_query = attributes
|
154
|
+
#y attributes.operands
|
155
|
+
|
156
|
+
|
157
|
+
attributes.dup.each do |key, val|
|
158
|
+
if key.class.name[/Relationship/]
|
159
|
+
parent_keys = key.parent_key.to_a #.collect(){|p| p.name}
|
160
|
+
child_keys = key.child_key.to_a #.collect(){|p| p.name}
|
161
|
+
#puts "RELATIONSHIP PARENT #{key.parent_model_name} #{parent_keys.inspect}"
|
162
|
+
#puts "RELATIONSHIP CHILD #{key.child_model_name} #{child_keys.inspect}"
|
163
|
+
#puts "RELATIONSHIP CRITERIA #{val.inspect}"
|
164
|
+
child_keys.each_with_index do |k, i|
|
165
|
+
attributes[k] = val[parent_keys[i].name]
|
166
|
+
attributes.delete key
|
167
|
+
end
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
171
|
+
# TODO: Handle attributes that have relationship components (major PITA!)
|
172
|
+
# q.conditions.operands.to_a[0].subject .parent_key.collect {|p| p.name}
|
173
|
+
# q.conditions.operands.to_a[0].subject .child_key.collect {|p| p.name}
|
174
|
+
# q.conditions.operands.to_a[0].loaded_value[child-key-name]
|
175
|
+
# new_attributes[child-key-name] = parent-key-value
|
176
|
+
|
177
|
+
#puts "ATTRIBUTES BEFORE attributes_as_fields"
|
153
178
|
#y attributes
|
154
179
|
attributes_as_fields(attributes).each do |key, val|
|
155
|
-
#puts "EACH ATTRIBUTE class #{val.class}"
|
180
|
+
#puts "EACH ATTRIBUTE class #{val.class.name}"
|
156
181
|
#puts "EACH ATTRIBUTE value #{val}"
|
157
182
|
new_val = val && [val.is_a?(Fixnum) ? val : val.dup].flatten.inject([]) do |r, v|
|
158
183
|
#puts "INJECTING v"
|
@@ -169,10 +194,10 @@ module DataMapper
|
|
169
194
|
#puts new_val
|
170
195
|
fm_attributes[key] = (new_val && new_val.size < 2) ? new_val[0] : new_val
|
171
196
|
end
|
172
|
-
#puts "FM_ATTRIBUTES"
|
197
|
+
#puts "FM_ATTRIBUTES OUTPUT"
|
173
198
|
#puts fm_attributes
|
174
199
|
fm_attributes
|
175
|
-
end
|
200
|
+
end # prepare_fmp_attributes
|
176
201
|
|
177
202
|
def merge_fmp_response(resource, record)
|
178
203
|
resource.model.properties.to_a.each do |property|
|
@@ -78,7 +78,14 @@ describe DataMapper do
|
|
78
78
|
end.and_return(Rfm::Resultset.allocate)
|
79
79
|
User.all(:id=>1).inspect
|
80
80
|
end
|
81
|
-
end
|
81
|
+
end
|
82
|
+
|
83
|
+
describe '#create' do; it 'does something essential'; end
|
84
|
+
describe '#update' do; it 'does something essential'; end
|
85
|
+
describe '#delete' do; it 'does something essential'; end
|
86
|
+
describe '#layout' do; it 'does something essential'; end
|
87
|
+
describe '#prepare_fmp_attributes' do; it 'does something essential'; end
|
88
|
+
describe '#merge_fmp_response' do; it 'does something essential'; end
|
82
89
|
|
83
90
|
end # datamapper-adapters-filemaker
|
84
91
|
|
@@ -166,7 +173,25 @@ describe DataMapper do
|
|
166
173
|
|
167
174
|
|
168
175
|
end #to_fmp_query
|
176
|
+
|
177
|
+
describe '#fmp_operator' do; it 'does something useful'; end
|
178
|
+
describe '#fmp_options' do; it 'does something useful'; end
|
169
179
|
|
170
180
|
end # datamapper-query
|
171
181
|
|
182
|
+
describe DataMapper::Resource do
|
183
|
+
describe '.included' do
|
184
|
+
it 'Calls original #included method'
|
185
|
+
it 'Extends model with ModelMethods'
|
186
|
+
it 'Includes into model ResourceMethods'
|
187
|
+
end
|
188
|
+
end
|
189
|
+
|
190
|
+
describe DataMapper::Model do
|
191
|
+
describe '#finalize' do
|
192
|
+
it 'Adds properties for :record_id, :mod_id to model'
|
193
|
+
it 'Calls original #finalize method'
|
194
|
+
end
|
195
|
+
end
|
196
|
+
|
172
197
|
end # datamapper
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dm-filemaker-adapter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Richardson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: data_mapper
|