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 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