cloudwow-not_relational 0.1.9 → 0.1.11

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/README.rdoc CHANGED
@@ -1,7 +1,65 @@
1
1
  = not_relational
2
+ == Domain model persistance on non relational databases.
3
+ Not Relational is a really good thing that you really want. It is in fact a ruby library for declaring and persisting domain models. It is similiar in some ways to Active Record but is oriented towards non-relational databases such as Amazon's Simple DB service. In version 1.x only SDBRepository and the MemoryRepository (a self contained repository for tests and small apps) are implemented.
2
4
 
3
- not relational is a really good thing that you really want.
5
+ === Configuration
6
+ Add a section such as this to your yaml configuration file.
7
+ example here
8
+ === Rails configuration
9
+ * NonRelational will look for it's configuration in config/database.yml .
10
+ * If you will not be using ActiveREcord, turn it off.
11
+ * Add the following to application.rb (or application_controller.rb)
12
+ === Non-rails configuration
13
+ NonRelational will first check for ./database.yml and then ./config/database.yml for configuration.
14
+ === Declare your models
15
+ You domain model classes must inherit from NonRelational::DomainModel
16
+ class Thingee
17
+ # declare a primary key.
18
+ # NonRelational will set the id to a guid if you try to save it
19
+ # without an id.
20
+ property :id, :string, :primary_key=true
21
+
22
+ property :name, :string
23
+ property :title, :string
24
+ property :the_time, :date
25
+ property :index, :int
4
26
 
27
+ # Declare a text field if the string may be too large for SDB.
28
+ # text properties will be stored in large object storage which
29
+ # usually means Amazon's S3.
30
+ property :index, :text
31
+
32
+ #declare an index
33
+ index :name_and_index,[:name,index]
34
+
35
+ #declare a one-to-many relationship
36
+ has_many :Widget
37
+
38
+ #declare a many-to-one relationship
39
+ belongs_to :Person
40
+ end
41
+
42
+ === Create and Save
43
+ thingee=Thingee.new()
44
+ thingee2=Thingee.new(:name='my thingee',:index =>1,:the_time => TIme.now)
45
+ thingee2.save
46
+ === Query
47
+ thingee1=Thingee.find('thingee_id_1')
48
+ thingee1=Thingee.find(:first,:conditions => {:name => 'david')
49
+ thingee1=Thingee.find(:all,
50
+ :limit=>3,:
51
+ order_by => :index,
52
+ order => :descending,
53
+ :conditions => {:name => 'david',:title=>'boss'})
54
+ thingees=Thingee.find_by_name('david')
55
+ thingees=Thingee.find_by_name_and_index('david',3)
56
+
57
+ === Encryption
58
+ * Encrypt the whole model
59
+ * Encrypt individual property
60
+ * Remove encryption form individual property.
61
+ === Unit tests
62
+ * MemoryRepository for fast or offline tests.
5
63
  == Copyright
6
64
 
7
65
  Copyright (c) 2009 David Knight. See LICENSE for details.
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 1
4
- :patch: 9
4
+ :patch: 11
@@ -31,7 +31,7 @@ module AwsSdb
31
31
 
32
32
  key = REXML::XPath.first(attr, './Name/text()').to_s
33
33
  value = REXML::XPath.first(attr, './Value/text()').to_s
34
- item_attributes[key]= value
34
+ ( item_attributes[key] ||= [] ) << value
35
35
  end
36
36
  results<<[item_name,item_attributes]
37
37
 
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.9
4
+ version: 0.1.11
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-31 00:00:00 -07:00
12
+ date: 2009-04-09 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -43,7 +43,6 @@ files:
43
43
  - lib/not_relational/memory_repository.rb
44
44
  - lib/not_relational/memory_storage.rb
45
45
  - lib/not_relational/or_condition.rb
46
- - lib/not_relational/property_bag.rb
47
46
  - lib/not_relational/property_description.rb
48
47
  - lib/not_relational/query_string_auth_generator.rb
49
48
  - lib/not_relational/reference.rb