cloudwow-not_relational 0.1.7 → 0.1.8
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/VERSION.yml +1 -1
- data/lib/not_relational/domain_model.rb +12 -5
- data/lib/not_relational/sdb_formatter.rb +1 -1
- data/lib/not_relational/sdb_monkey_patch.rb +2 -2
- data/lib/not_relational/sdb_repository.rb +6 -4
- data/test/unit_tests/collection_test.rb +52 -0
- data/test/unit_tests/group_test.rb +8 -4
- data/test/unit_tests/mediaitem_test.rb +6 -7
- data/test/unit_tests/node_test.rb +7 -4
- data/test/unit_tests/place_test.rb +1 -1
- data/test/utils/whack_domains.rb +1 -1
- metadata +2 -2
data/VERSION.yml
CHANGED
@@ -30,7 +30,13 @@ module NotRelational
|
|
30
30
|
end
|
31
31
|
@attribute_values[attribute_name]=value
|
32
32
|
else
|
33
|
-
|
33
|
+
unless @attribute_values.has_key?(attribute_name)
|
34
|
+
if description.is_collection
|
35
|
+
@attribute_values[attribute_name]=[]
|
36
|
+
else
|
37
|
+
@attribute_values[attribute_name]=nil unless @attribute_values.has_key?(attribute_name)
|
38
|
+
end
|
39
|
+
end
|
34
40
|
end
|
35
41
|
|
36
42
|
|
@@ -522,16 +528,17 @@ module NotRelational
|
|
522
528
|
class_eval <<-XXDONE
|
523
529
|
def #{accesser_attribute_name}
|
524
530
|
|
525
|
-
if !@accessor_cache.has_key? :#{accesser_attribute_name}
|
531
|
+
#{}if !@accessor_cache.has_key? :#{accesser_attribute_name}
|
526
532
|
h={}
|
527
533
|
pkey=DomainModel::arrayify(self.primary_key)
|
528
534
|
#{reflecting_array_code}.each do |key|
|
529
535
|
h[key]=pkey.shift
|
530
536
|
end
|
531
537
|
result= #{module_name+domain_class.to_s}.find_by_index(h,#{order})
|
532
|
-
|
533
|
-
|
534
|
-
|
538
|
+
return result
|
539
|
+
#{} @accessor_cache[:#{accesser_attribute_name}]=result || []
|
540
|
+
#{}end
|
541
|
+
#return @accessor_cache[:#{accesser_attribute_name}]
|
535
542
|
end
|
536
543
|
XXDONE
|
537
544
|
# end
|
@@ -21,7 +21,7 @@ module AwsSdb
|
|
21
21
|
params['MaxNumberOfItems'] =
|
22
22
|
max.to_s unless max.nil? || max.to_i == 0
|
23
23
|
doc = call(:get, params)
|
24
|
-
results =
|
24
|
+
results = []
|
25
25
|
REXML::XPath.each(doc, '//Item') do |item|
|
26
26
|
item_attributes={}
|
27
27
|
item_name = REXML::XPath.first(item, './Name/text()').to_s
|
@@ -33,7 +33,7 @@ module AwsSdb
|
|
33
33
|
value = REXML::XPath.first(attr, './Value/text()').to_s
|
34
34
|
item_attributes[key]= value
|
35
35
|
end
|
36
|
-
results[item_name]
|
36
|
+
results<<[item_name,item_attributes]
|
37
37
|
|
38
38
|
end
|
39
39
|
return results, REXML::XPath.first(doc, '//NextToken/text()').to_s
|
@@ -112,12 +112,14 @@ module NotRelational
|
|
112
112
|
page_size=max- sdb_result.length
|
113
113
|
page_size=page_size> MAX_PAGE_SIZE ? MAX_PAGE_SIZE : page_size
|
114
114
|
partial_results,token=sdb_query_with_attributes(table_name,the_query,page_size,token)
|
115
|
-
sdb_result.
|
115
|
+
sdb_result.concat( partial_results)
|
116
116
|
end
|
117
117
|
|
118
118
|
result=[]
|
119
|
-
sdb_result.each{|
|
120
|
-
|
119
|
+
sdb_result.each{|sdb_row|
|
120
|
+
primary_key=sdb_row[0]
|
121
|
+
sdb_attributes =sdb_row[1]
|
122
|
+
attributes =parse_attributes(attribute_descriptions,sdb_attributes)
|
121
123
|
if attributes
|
122
124
|
result<<attributes
|
123
125
|
end
|
@@ -201,7 +203,7 @@ def get_text(table_name,primary_key,clob_name)
|
|
201
203
|
end
|
202
204
|
|
203
205
|
def pause
|
204
|
-
sleep(
|
206
|
+
sleep(3)
|
205
207
|
end
|
206
208
|
|
207
209
|
def clear
|
@@ -0,0 +1,52 @@
|
|
1
|
+
|
2
|
+
require 'rubygems'
|
3
|
+
require 'test/unit'
|
4
|
+
$:.push(File.dirname(__FILE__) +'/../../test/models')
|
5
|
+
$:.push(File.dirname(__FILE__) +'/../../lib/not_relational')
|
6
|
+
require File.dirname(__FILE__) +'/../../lib/not_relational/domain_model.rb'
|
7
|
+
require File.dirname(__FILE__) +'/../../lib/not_relational/attribute_range.rb'
|
8
|
+
|
9
|
+
require File.dirname(__FILE__) +'/../../lib/not_relational/memory_repository.rb'
|
10
|
+
require File.dirname(__FILE__) +'/../../test/models/node.rb'
|
11
|
+
require File.dirname(__FILE__) +'/../../test/models/user.rb'
|
12
|
+
require File.dirname(__FILE__) +'/../../test/models/place.rb'
|
13
|
+
require File.dirname(__FILE__) +'/../../test/models/album.rb'
|
14
|
+
require File.dirname(__FILE__) +'/../../test/models/media_item.rb'
|
15
|
+
require File.dirname(__FILE__) +'/../../test/models/media_file.rb'
|
16
|
+
require File.dirname(__FILE__) +'/../../test/models/tag.rb'
|
17
|
+
require File.dirname(__FILE__) +'/../../test/models/rating.rb'
|
18
|
+
require File.dirname(__FILE__) +'/../../test/models/comment.rb'
|
19
|
+
require File.dirname(__FILE__) +'/../../test/models/blurb.rb'
|
20
|
+
|
21
|
+
ENV['NOT_RELATIONAL_ENV']='testing'
|
22
|
+
|
23
|
+
class CollectionTest < Test::Unit::TestCase
|
24
|
+
def set_up
|
25
|
+
Mediaitem.find(:all).each do |node|
|
26
|
+
node.destroy
|
27
|
+
end
|
28
|
+
end
|
29
|
+
def test_collections
|
30
|
+
items=[]
|
31
|
+
(0..5).each do |i|
|
32
|
+
item=Mediaitem.new
|
33
|
+
item.created_time=Time.now+i*100
|
34
|
+
metadata=[]
|
35
|
+
(0..5).each do |j|
|
36
|
+
metadata<<"#{i} #{j}"
|
37
|
+
end
|
38
|
+
item.metadata=metadata
|
39
|
+
item.save
|
40
|
+
|
41
|
+
items<<item
|
42
|
+
end
|
43
|
+
|
44
|
+
items.each do |item|
|
45
|
+
found_item=Mediaitem.find(item.id)
|
46
|
+
assert_not_nil(found_item)
|
47
|
+
assert_not_nil(found_item.metadata)
|
48
|
+
assert_equal(6,found_item.metadata.length)
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -60,16 +60,18 @@ class GroupTest < Test::Unit::TestCase
|
|
60
60
|
end
|
61
61
|
|
62
62
|
def test_members
|
63
|
-
NotRelational::RepositoryFactory.instance.pause()
|
64
63
|
GroupTest.set_up
|
65
64
|
|
66
|
-
|
65
|
+
NotRelational::RepositoryFactory.instance.pause()
|
66
|
+
|
67
67
|
joe=User.new()
|
68
68
|
joe.login='joe'
|
69
69
|
joe.save
|
70
70
|
|
71
71
|
group=Group.create_group("tkuuhestgroup", "my group short desc", "description long desc", "tags my test", true, 'joe')
|
72
|
-
|
72
|
+
NotRelational::RepositoryFactory.instance.pause()
|
73
|
+
|
74
|
+
found=group.members
|
73
75
|
assert(found!=nil)
|
74
76
|
assert_equal(1,found.length)
|
75
77
|
assert_equal('joe',found[0].login)
|
@@ -200,10 +202,12 @@ found=group.members
|
|
200
202
|
GroupTest.set_up
|
201
203
|
group=Group.create_group("tqweqwrestgroup", "my group short desc", "description long desc", "tags my my test", true, 'joe')
|
202
204
|
album1=Album.create_group_album('joe',group.id,'title','description',false)
|
205
|
+
album1.created_time_utc=Time.now.gmtime-50
|
206
|
+
album1.save!
|
203
207
|
album2=Album.create_group_album('dave',group.id,'title2','description2',false)
|
204
208
|
album2.created_time_utc=Time.now.gmtime+50
|
205
209
|
album2.save
|
206
|
-
|
210
|
+
NotRelational::RepositoryFactory::instance.pause
|
207
211
|
albums=group.albums
|
208
212
|
|
209
213
|
assert_equal(2,albums.length)
|
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
require 'rubygems'
|
3
2
|
require 'test/unit'
|
4
3
|
$:.push(File.dirname(__FILE__) +'/../../test/models')
|
@@ -373,12 +372,12 @@ class MediaItemTest < Test::Unit::TestCase
|
|
373
372
|
|
374
373
|
assert(!item.rated_by_user?('david'))
|
375
374
|
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
NotRelational::RepositoryFactory.instance.pause
|
375
|
+
r = Rating.new
|
376
|
+
r.rating=3
|
377
|
+
r.user_name='david'
|
378
|
+
r.mediaitem_id=item.id
|
379
|
+
r.save
|
380
|
+
NotRelational::RepositoryFactory.instance.pause
|
382
381
|
assert(item.rated_by_user?('david'))
|
383
382
|
|
384
383
|
end
|
@@ -58,8 +58,11 @@ class NodeTest < Test::Unit::TestCase
|
|
58
58
|
node= Node.fill_new_node('david', "#{i}", 'hello world')
|
59
59
|
node.clicks=i
|
60
60
|
node.save
|
61
|
-
end
|
62
|
-
|
61
|
+
end
|
62
|
+
NotRelational::RepositoryFactory.instance.pause();
|
63
|
+
found=Node.find(
|
64
|
+
:all,
|
65
|
+
:conditions=>{:clicks=>NotRelational::AttributeRange.new(:greater_than=>3)})
|
63
66
|
assert_equal(2,found.length)
|
64
67
|
end
|
65
68
|
def test_recent
|
@@ -73,9 +76,9 @@ class NodeTest < Test::Unit::TestCase
|
|
73
76
|
node.save
|
74
77
|
|
75
78
|
nodes<<node
|
76
|
-
|
79
|
+
|
77
80
|
end
|
78
|
-
|
81
|
+
NotRelational::RepositoryFactory.instance.pause()
|
79
82
|
|
80
83
|
recent=Node.recent('en',2)
|
81
84
|
assert_equal(2,recent.length)
|
@@ -149,7 +149,7 @@ class PlaceTest < Test::Unit::TestCase
|
|
149
149
|
|
150
150
|
node_album.connect_mediaitem(mediaitem2)
|
151
151
|
node_album2.connect_mediaitem(mediaitem3)
|
152
|
-
|
152
|
+
NotRelational::RepositoryFactory.instance.pause()
|
153
153
|
found=node.mediaitems
|
154
154
|
assert(found!=nil)
|
155
155
|
assert_equal(2,found.length)
|
data/test/utils/whack_domains.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cloudwow-not_relational
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- cloudwow
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-03-
|
12
|
+
date: 2009-03-30 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|