dm-filemaker-adapter 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|