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 CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NzA1ZDIzZGI0NWJkMDFmNjIyM2Q2NGMwMTQxZWM3MGMwYWU2ZDM0Mg==
4
+ ZjdlOGM0ZWYwNzU2MzhjZGQ3Y2U3NWZkMDY4ZDdlZTQ4NGMwOTc5MA==
5
5
  data.tar.gz: !binary |-
6
- M2M4OWE4Nzc1NmMyYTViNmI1NzAwZTFmNDlkNDUyZGY3MDAxMGJkOQ==
6
+ NmVhZmNlOWYxNGJmOWNhNDA2NmZjODRlNTZjMmI1MTRkYTZkYmU4OA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- Y2RmYTdjNjg2YzgwNTFkYzc1ODUyMTAyOThkMzc1ZDIwYTk0ZDA1ZTI1ZDhi
10
- ZDRhODFhMjNlNzJhOGNjOTM0YmNkNmQyZjczYzdhMWU0NmVlNjcyM2Y4OTgz
11
- NjQ1MDI1M2U1NDZkNzY5NmMxYzkzNDJjYTk4NTg4MGQ2YTFmYmQ=
9
+ YWI5ZGRmN2FjNWRhMmY1ZTcwMzBmNmJhYjllNjlhZWE1NDFkZWNlYmFlY2Iw
10
+ OGZlMDMzZjYwZmRiMTVmNjY1MTVjMjhlYzlkNjYzZTUwMGM2OWYwNDVmYmU0
11
+ ZmNkNDI2NWNkN2Y5MDE0MjEzMWUwMTBlNTg2OGY3NmRjYWVjMTU=
12
12
  data.tar.gz: !binary |-
13
- YWI2ZjRhM2Q5MmYzOTdhOWM3NmNjNjM3ZDJlNzU1OGY4ZDZhYjQ2ZGMyNWM1
14
- NjBlZGJkOWJmNDA1N2NlYTI0OGQ0M2FmODgzZGNjNGI4NTQ4MzVhN2IxYmQw
15
- OTRmNjhkNzMyMmVmODFjZTI2NTFmODI1OGFiOTgyNmIwMDVlMjU=
13
+ MWYwMGEzMGZkMzQ3NmQ2NmNiYTE5YWY0ZGQ1YmEwNzJhODEyMmVjYTExZWVl
14
+ N2MyZmE1N2VhOTg3NjhmOTE4MDVhMWRmZDZlNmEzODkyYzA4NGYxZGI4NmYx
15
+ OTYyODIwNzc0NmNiMDc4YzMxZjY5MDJiYmJhMjI1NTQ3ODNlYjE=
data/.gitignore CHANGED
@@ -16,4 +16,5 @@ mkmf.log
16
16
  todo.txt
17
17
  .DS_Store
18
18
 
19
- .travis.yml
19
+ .travis.yml
20
+ *local_testing
@@ -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 = fmp_query(query.conditions)
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|
@@ -1,5 +1,5 @@
1
1
  module DataMapper
2
2
  module FilemakerAdapter
3
- VERSION = "0.0.2"
3
+ VERSION = "0.0.3"
4
4
  end
5
5
  end
@@ -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.2
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-05 00:00:00.000000000 Z
11
+ date: 2015-03-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: data_mapper