superdupe 1.0.4 → 1.0.5
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.
data/lib/superdupe/database.rb
CHANGED
@@ -18,7 +18,7 @@ class Dupe
|
|
18
18
|
# database.delete :book, proc {|b| b.id < 10} # --> would delete all books found who's id is less than 10
|
19
19
|
# database.delete :books, proc {|b| b.id < 10} # --> would delete all books found who's id is less than 10
|
20
20
|
def delete(resource_name, conditions=nil)
|
21
|
-
model_name = resource_name.to_s.singularize.to_sym
|
21
|
+
model_name = resource_name.plural? ? resource_name.to_s.singularize.to_sym : resource_name.to_s.to_sym
|
22
22
|
raise StandardError, "Invalid DELETE operation: The resource #{model_name} has not been defined" unless @tables[model_name]
|
23
23
|
|
24
24
|
if conditions
|
data/lib/superdupe/dupe.rb
CHANGED
@@ -360,7 +360,11 @@ class Dupe
|
|
360
360
|
# Notice that by using the plural form of the model name, we ensure that we receive back an array -
|
361
361
|
# even in the case that the query did not find any results (it simply returns an empty array).
|
362
362
|
def find(model_name, &block) # yield: record
|
363
|
-
|
363
|
+
if model_name.plural?
|
364
|
+
results = database.select model_name.to_s.singularize.to_sym, block
|
365
|
+
else
|
366
|
+
results = database.select model_name.to_s.to_sym, block
|
367
|
+
end
|
364
368
|
model_name.plural? ? results : results.first
|
365
369
|
end
|
366
370
|
|
@@ -475,7 +479,7 @@ class Dupe
|
|
475
479
|
end
|
476
480
|
|
477
481
|
def model_exists(model_name)
|
478
|
-
models[model_name.to_s.singularize.to_sym]
|
482
|
+
model_name.plural? ? models[model_name.to_s.singularize.to_sym] : models[model_name.to_s.to_sym]
|
479
483
|
end
|
480
484
|
|
481
485
|
def create_model(model_name)
|
@@ -7,9 +7,9 @@ module Ns
|
|
7
7
|
end
|
8
8
|
|
9
9
|
describe Ns::Address do
|
10
|
-
|
11
10
|
context "creating and saving a namespaced resource" do
|
12
11
|
it 'should allow to first instantiate and then save a resource' do
|
12
|
+
Dupe.reset
|
13
13
|
Dupe.define :"Ns::Address"
|
14
14
|
Ns::Address.find(:all).size.should be(0)
|
15
15
|
new_address = Ns::Address.new
|
@@ -19,4 +19,16 @@ describe Ns::Address do
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
+
|
23
|
+
context "create a mock of the address" do
|
24
|
+
before(:each) do
|
25
|
+
Dupe.reset
|
26
|
+
Dupe.create :"Ns::Address", :id => 100, :name => 'test'
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should find address with id" do
|
30
|
+
Ns::Address.find(100).should_not be_blank
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
22
34
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: superdupe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 29
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 1.0.
|
9
|
+
- 5
|
10
|
+
version: 1.0.5
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Marco Ribi
|