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 CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
- :patch: 7
3
2
  :major: 0
4
3
  :minor: 1
4
+ :patch: 8
@@ -30,7 +30,13 @@ module NotRelational
30
30
  end
31
31
  @attribute_values[attribute_name]=value
32
32
  else
33
- @attribute_values[attribute_name]=nil unless @attribute_values.has_key?(attribute_name)
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
- @accessor_cache[:#{accesser_attribute_name}]=result || []
533
- end
534
- return @accessor_cache[:#{accesser_attribute_name}]
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
@@ -48,7 +48,7 @@ module SdbFormatter
48
48
 
49
49
  def format_date(value)
50
50
  return nil if value==nil
51
- return value.to_f.to_s
51
+ return format("%.4f",value.to_f)
52
52
  end
53
53
  def format_boolean(value)
54
54
 
@@ -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]=item_attributes
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.merge!( partial_results)
115
+ sdb_result.concat( partial_results)
116
116
  end
117
117
 
118
118
  result=[]
119
- sdb_result.each{|primary_key,sdb_row|
120
- attributes =parse_attributes(attribute_descriptions,sdb_row)
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(2)
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
- found=group.members
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
- tag=Rating.new
377
- tag.rating=3
378
- tag.user_name='david'
379
- tag.mediaitem_id=item.id
380
- tag.save
381
- NotRelational::RepositoryFactory.instance.pause(3)
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
- found=Node.find(:all,:conditions=>{:clicks=>NotRelational::AttributeRange.new(:greater_than=>3)})
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
- NotRelational::RepositoryFactory.instance.pause()
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)
@@ -28,5 +28,5 @@ $sdb=AwsSdb::Service.new(
28
28
 
29
29
 
30
30
  end
31
- delete_domain(test_config['base_domain_name'])
31
+ # delete_domain(test_config['base_domain_name'])
32
32
  create_domain(test_config['base_domain_name'])
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.7
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-29 00:00:00 -07:00
12
+ date: 2009-03-30 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15