dm-xml-adapter 0.54 → 0.55
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/dm-xml-adapter.rb +14 -12
- metadata +5 -5
data/lib/dm-xml-adapter.rb
CHANGED
@@ -160,31 +160,33 @@ module DataMapper::Adapters
|
|
160
160
|
return query.filter_records(result_set)
|
161
161
|
end
|
162
162
|
|
163
|
-
|
163
|
+
def get_all(model)
|
164
164
|
#@@logger.info("Trying to get all: #{model.to_s}")
|
165
|
-
objects = Array.new
|
166
165
|
directory = classname_to_dir(model.to_s)
|
167
166
|
if ! File.exists?(directory)
|
168
167
|
#@@logger.error("The directory doesn't exist!")
|
169
|
-
return
|
168
|
+
return []
|
170
169
|
end
|
170
|
+
objects = []
|
171
171
|
Dir.entries(directory).select {|f| f.match(/\.xml$/) }.each do |filename|
|
172
172
|
filename = directory + "/" + filename
|
173
|
-
file = File.new(filename)
|
174
173
|
# see if we have a nice cached version
|
175
|
-
|
174
|
+
mtime = File.mtime(filename)
|
175
|
+
cache_mtime = @cache.get_mtime(filename)
|
176
|
+
#puts "file mtime: #{mtime} cache mtime: #{@cache.get_mtime(filename)}"
|
177
|
+
if (mtime != nil and cache_mtime != nil)
|
178
|
+
#puts "comparing! #{mtime < cache_mtime}"
|
179
|
+
end
|
180
|
+
if (mtime != nil and cache_mtime != nil and mtime <= cache_mtime)
|
181
|
+
# we hav ea nice cached object..
|
182
|
+
objects << @cache.get(model.to_s, file_to_id(filename))
|
183
|
+
else
|
176
184
|
#@@logger.info("CACHE MISS")
|
177
185
|
# the file's newer, so we gotta load it up
|
178
186
|
object = file_to_object(filename, model)
|
179
187
|
objects << object
|
180
188
|
@cache.put(model.to_s, object.key.first, object)
|
181
|
-
@cache.set_mtime(filename,
|
182
|
-
else
|
183
|
-
# @@logger.info("YES !!!")
|
184
|
-
#@@logger.info("CACHE HIT")
|
185
|
-
# @@logger.info("the file is: #{file}")
|
186
|
-
# the file was older than what we had so cache is fine
|
187
|
-
objects << @cache.get(model.to_s, file_to_id(filename))
|
189
|
+
@cache.set_mtime(filename, File.mtime(filename))
|
188
190
|
end
|
189
191
|
end
|
190
192
|
return objects
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dm-xml-adapter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: "0.
|
4
|
+
version: "0.55"
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joshua Harding
|
@@ -9,7 +9,7 @@ autorequire: dm-xml-adapter
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2010-01-07 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -41,10 +41,10 @@ extensions: []
|
|
41
41
|
extra_rdoc_files:
|
42
42
|
- README
|
43
43
|
files:
|
44
|
-
- lib/dm-xml-adapter.rb
|
45
44
|
- lib/ratecounter.rb
|
46
|
-
-
|
45
|
+
- lib/dm-xml-adapter.rb
|
47
46
|
- spec/spec_helper.rb
|
47
|
+
- spec/dm-xml-adapter_spec.rb
|
48
48
|
- README
|
49
49
|
has_rdoc: true
|
50
50
|
homepage:
|
@@ -75,5 +75,5 @@ signing_key:
|
|
75
75
|
specification_version: 3
|
76
76
|
summary: a XML adapter for DataMapper. this adapter allows you to use DataMapper with XML files as a backing store.
|
77
77
|
test_files:
|
78
|
-
- spec/dm-xml-adapter_spec.rb
|
79
78
|
- spec/spec_helper.rb
|
79
|
+
- spec/dm-xml-adapter_spec.rb
|