Skip to content

Commit 8820f19

Browse files
committed
Merge pull request #5 from /issues/4
Fixing purge files by array to return a hash of status results...
2 parents 6c7c3bb + ef95dbe commit 8820f19

File tree

7 files changed

+27
-16
lines changed

7 files changed

+27
-16
lines changed

BENCHMARKS.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ Running benchmarks as follows in order:
1010
maxcdn.purge('ZONEID', [ 'FILE1','FILE2' ])
1111

1212
user system total real
13-
get : 0.050000 0.070000 0.120000 ( 1.026412)
14-
get : 0.010000 0.000000 0.010000 ( 0.636914)
15-
post : 0.020000 0.010000 0.030000 ( 11.083888)
16-
put : 0.010000 0.000000 0.010000 ( 1.240014)
17-
delete: 0.020000 0.000000 0.020000 ( 6.846295)
18-
purge : 0.010000 0.010000 0.020000 ( 11.578944)
19-
purge : 0.020000 0.000000 0.020000 ( 0.956149)
20-
purge : 0.030000 0.000000 0.030000 ( 1.870104)
13+
get : 0.060000 0.060000 0.120000 ( 1.014527)
14+
get : 0.010000 0.000000 0.010000 ( 0.613805)
15+
post : 0.020000 0.000000 0.020000 ( 19.011447)
16+
put : 0.020000 0.000000 0.020000 ( 0.670025)
17+
delete: 0.010000 0.000000 0.010000 ( 1.076173)
18+
purge : 0.020000 0.000000 0.020000 ( 11.109962)
19+
purge : 0.010000 0.010000 0.020000 ( 0.813984)
20+
purge : 0.030000 0.000000 0.030000 ( 6.704786)

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,10 @@ bundle exec ruby ./test/integration.rb # requires host's IP be whitelisted
9898

9999
# Change Log
100100

101+
##### 0.1.5
102+
103+
* Issue #4: Fixing purge files by array to return a hash of status results.
104+
101105
##### 0.1.4
102106

103107
* Fixing bug where purging files purges entire zone.

lib/maxcdn.rb

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,13 +123,16 @@ def purge zone_id, file_or_files=nil, options={}
123123
end
124124

125125
if file_or_files.is_a?(Array)
126-
return file_or_files.map do |file|
127-
self.delete("/zones/pull.json/#{zone_id}/cache", { "files" => file }, options)
126+
result = {}
127+
file_or_files.each do |file|
128+
result[file] = self.delete("/zones/pull.json/#{zone_id}/cache", { "files" => file }, options)
128129
end
130+
return result
129131
end
130132

131-
if file_or_files.is_a?(Hash) and (file_or_files.has_key(:files) or file_or_files.has_key("files"))
132-
return self.delete("/zones/pull.json/#{zone_id}/cache", { "files" => file_or_files }, options)
133+
if file_or_files.is_a?(Hash)
134+
return self.purge(zone_id, file_or_files[:files]) if file_or_files.has_key?("files")
135+
return self.purge(zone_id, file_or_files[:files]) if file_or_files.has_key?(:files)
133136
end
134137

135138
raise MaxCDN::APIException.new("Invalid file_or_files argument for delete method.")

lib/maxcdn/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
module MaxCDN
2-
VERSION = "0.1.4"
2+
VERSION = "0.1.5"
33
end

test/ext_hash_test.rb

100644100755
File mode changed.

test/integration.rb

100644100755
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def test_purge
5757
assert_equal 200, @max.purge(zone, popularfiles[0]["uri"])["code"], "purge file"
5858

5959
files = [popularfiles[0]["uri"], popularfiles[1]["uri"]]
60-
assert_equal [{"code"=>200},{"code"=>200}], @max.purge(zone, files), "purge files"
60+
expected = {files[0]=>{"code"=>200},files[1]=>{"code"=>200}}
61+
assert_equal expected, @max.purge(zone, files), "purge files"
6162
end
6263
end
63-

test/maxcdn_test.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,11 @@ def test_purge_file
138138
end
139139

140140
def test_purge_files
141-
assert_equal([{ "foo" => "bar" },{ "foo" => "bar" }], @max.purge(12345, [ "foo.txt", "bar.txt" ]))
141+
assert_equal({"foo.txt"=>{"foo"=>"bar"}, "bar.txt"=>{"foo"=>"bar"}}, @max.purge(12345, [ "foo.txt", "bar.txt" ]))
142+
end
143+
144+
def test_purge_files
145+
assert_equal({"foo.txt"=>{"foo"=>"bar"}, "bar.txt"=>{"foo"=>"bar"}}, @max.purge(12345, { :files => [ "foo.txt", "bar.txt" ]}))
142146
end
143147
end
144148

0 commit comments

Comments
 (0)