rod 0.7.2 → 0.7.2.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.
@@ -1,3 +1,3 @@
1
- rvm: 1.9.2
1
+ rvm: 2.1.0
2
2
  before_script:
3
3
  - "sudo apt-get install libdb4.8-dev"
data/Rakefile CHANGED
@@ -1,5 +1,6 @@
1
1
  $:.unshift "lib"
2
2
  require 'rod/constants'
3
+ require 'fileutils'
3
4
 
4
5
  task :default => [:all_tests]
5
6
 
@@ -27,8 +28,7 @@ task :uninstall do
27
28
  sh "sudo gem uninstall #$gem_name"
28
29
  end
29
30
 
30
- task :all_tests => [:test,:unit_test,:regression_test,:features] do
31
- end
31
+ task :all_tests => [:clean,:test,:unit_test,:regression_test,:features]
32
32
 
33
33
  desc "Run performence tests"
34
34
  task :perf do
@@ -87,9 +87,13 @@ task :wip do
87
87
  sh "bundle exec cucumber --tags @wip features/*"
88
88
  end
89
89
 
90
- desc "Clean all gems"
90
+ desc "Clean tmp directory"
91
91
  task :clean do
92
- sh "rm #$gem_name*.gem"
92
+ if File.exist?("tmp")
93
+ sh "rm -rf tmp/*"
94
+ else
95
+ FileUtils.mkdir("tmp")
96
+ end
93
97
  end
94
98
 
95
99
  desc "Show changelog from the last release"
@@ -1,5 +1,5 @@
1
1
  module Rod
2
- VERSION = "0.7.2"
2
+ VERSION = "0.7.2.5"
3
3
 
4
4
  # The name of file containing the data base.
5
5
  DATABASE_FILE = "database.yml"
@@ -93,7 +93,7 @@ module Rod
93
93
  | // exted the file
94
94
  |
95
95
  | // increase the pages count by numer of pages allocated at-once
96
- | model_p->#{klass.struct_name}_page_count += ALLOCATED_PAGES;
96
+ | model_p->#{klass.struct_name}_page_count += 1;
97
97
  | {
98
98
  | // open the file for writing
99
99
  | FILE * #{klass.struct_name}_file =
@@ -106,8 +106,7 @@ module Rod
106
106
  | rb_raise(rodException(),"Could not seek to end file for #{klass.struct_name}.");
107
107
  | }
108
108
  | // write empty data at the end
109
- | if(write(model_p->#{klass.struct_name}_lib_file,model_p->empty_data,
110
- | page_size() * ALLOCATED_PAGES) == -1){
109
+ | if(write(model_p->#{klass.struct_name}_lib_file,model_p->empty_data, page_size()) == -1){
111
110
  | rb_raise(rodException(),"Could not write to file for #{klass.struct_name}.");
112
111
  | }
113
112
  |
@@ -174,11 +173,11 @@ module Rod
174
173
  builder.prefix(klass.typedef_struct)
175
174
  end
176
175
 
177
- builder.prefix("const ALLOCATED_PAGES = 25;")
176
+ builder.prefix("const int ALLOCATED_PAGES = 25;")
178
177
 
179
178
  str =<<-END
180
179
  |unsigned int page_size(){
181
- | return sysconf(_SC_PAGE_SIZE);
180
+ | return sysconf(_SC_PAGE_SIZE) * ALLOCATED_PAGES;
182
181
  |}
183
182
  END
184
183
  builder.prefix(str.margin)
@@ -547,7 +546,7 @@ module Rod
547
546
  | strcpy(model_p->path,dir_path);
548
547
  |
549
548
  | // initialize empty data written when extending file
550
- | model_p->empty_data = calloc(page_size() * ALLOCATED_PAGES,1);
549
+ | model_p->empty_data = calloc(page_size(),1);
551
550
  |
552
551
  | //create the wrapping object
553
552
  | cClass = rb_define_class("#{model_struct_name(path).camelcase(true)}",
@@ -620,6 +619,8 @@ module Rod
620
619
  | page_size() * model_p->#{klass.struct_name}_page_count) == -1){
621
620
  | rb_raise(rodException(),"Could not unmap #{klass.struct_name}.");
622
621
  | }
622
+ | model_p->#{klass.struct_name}_table = NULL;
623
+ | #{update_pointer(klass) unless special_class?(klass)}
623
624
  | }
624
625
  | if(close(model_p->#{klass.struct_name}_lib_file) == -1){
625
626
  | rb_raise(rodException(),"Could not close model file for #{klass}.");
@@ -18,6 +18,7 @@ module Rod
18
18
  def initialize(path,klass,options={})
19
19
  @path = path + ".db"
20
20
  @klass = klass
21
+ @options = options
21
22
  end
22
23
 
23
24
  # Stores the index on disk.
@@ -79,7 +80,6 @@ module Rod
79
80
  _get_first(key)
80
81
  end
81
82
 
82
-
83
83
  protected
84
84
  # Returns an empty BDB based collection proxy.
85
85
  def empty_collection_proxy(key)
@@ -93,9 +93,10 @@ module Rod
93
93
  # Options:
94
94
  # * +:truncate+ - clears the contents of the index
95
95
  # * +:create+ - creates the index if it doesn't exist
96
+ # * +:cache_size+ - set the cache size of the index
96
97
  def open(path,options={})
97
98
  raise RodException.new("The index #{@path} is already opened!") if opened?
98
- _open(path,options)
99
+ _open(path,{:cache_size => @options[:cache_size]}.merge(options))
99
100
  @opened = true
100
101
  end
101
102
 
@@ -318,6 +319,7 @@ module Rod
318
319
  | VALUE handleClass;
319
320
  | VALUE handle;
320
321
  | VALUE mod;
322
+ | unsigned long cache_size = 8 * 1024 * 1024;
321
323
  |
322
324
  | db_pointer = ALLOC(DB);
323
325
  | return_value = db_create(&db_pointer,NULL,0);
@@ -337,8 +339,12 @@ module Rod
337
339
  | if(rb_hash_aref(options,ID2SYM(rb_intern("truncate"))) == Qtrue){
338
340
  | flags |= DB_TRUNCATE;
339
341
  | }
342
+ | if(rb_hash_aref(options,ID2SYM(rb_intern("cache_size"))) != Qnil){
343
+ | cache_size = NUM2ULONG(rb_hash_aref(options,ID2SYM(rb_intern("cache_size"))));
344
+ | }
345
+ |
346
+ | db_pointer->set_cachesize(db_pointer,0,cache_size,0);
340
347
  |
341
- | db_pointer->set_cachesize(db_pointer,0,5 * 1024 * 1024,0);
342
348
  | return_value = db_pointer->open(db_pointer,NULL,path,
343
349
  | NULL,DB_HASH,flags,0);
344
350
  | if(return_value != 0){
@@ -447,7 +447,7 @@ module Rod
447
447
  backup_path = self.property(property.name).index.path
448
448
  new_path = property.index.path
449
449
  puts "Copying #{backup_path} to #{new_path}" if $ROD_DEBUG
450
- FileUtils.cp(backup_path,new_path)
450
+ FileUtils.cp(backup_path,new_path) if File.exist?(backup_path)
451
451
  end
452
452
  return
453
453
  end
@@ -530,7 +530,7 @@ module Rod
530
530
  backup_path = self.property(property.name).index.path
531
531
  new_path = property.index.path
532
532
  puts "Copying #{backup_path} to #{new_path}" if $ROD_DEBUG
533
- FileUtils.cp(backup_path,new_path)
533
+ FileUtils.cp(backup_path,new_path) if File.exist?(backup_path)
534
534
  else
535
535
  print "- copying #{property.options[:index]} index for '#{property.name}'... " if $ROD_DEBUG
536
536
  new_index = property.index
@@ -116,8 +116,12 @@ module Rod
116
116
  |#{result_type} _#{name}(unsigned long object_rod_id){
117
117
  | VALUE klass;
118
118
  | #{struct_name} * pointer;
119
+ |#ifdef __BYTE_ORDER
120
+ |# if __BYTE_ORDER == __BIG_ENDIAN
119
121
  | uint64_t as_uint;
120
122
  | uint64_t result_swapped;
123
+ |# endif
124
+ |#endif
121
125
  |
122
126
  | if(object_rod_id == 0){
123
127
  | rb_raise(rodException(), "Invalid object rod_id (0)");
@@ -125,6 +129,9 @@ module Rod
125
129
  | klass = rb_funcall(self,rb_intern("class"),0);
126
130
  | pointer = (#{struct_name} *)
127
131
  | NUM2ULONG(rb_funcall(klass,rb_intern("rod_pointer"),0));
132
+ | if(pointer == 0){
133
+ | rb_raise(rodException(), "Invalid model pointer (0). DB is closed.");
134
+ | }
128
135
  |#ifdef __BYTE_ORDER
129
136
  |# if __BYTE_ORDER == __BIG_ENDIAN
130
137
  | // This code assumes that all values are 64 bit wide. This is not true
@@ -151,7 +158,11 @@ module Rod
151
158
  |void _#{name}_equals(unsigned long object_rod_id,#{arg_type} value){
152
159
  | VALUE klass;
153
160
  | #{struct_name} * pointer;
161
+ |#ifdef __BYTE_ORDER
162
+ |# if __BYTE_ORDER == __BIG_ENDIAN
154
163
  | uint64_t value_swapped;
164
+ |# endif
165
+ |#endif
155
166
  |
156
167
  | if(object_rod_id == 0){
157
168
  | rb_raise(rodException(), "Invalid object rod_id (0)");
@@ -159,6 +170,9 @@ module Rod
159
170
  | klass = rb_funcall(self,rb_intern("class"),0);
160
171
  | pointer = (#{struct_name} *)
161
172
  | NUM2ULONG(rb_funcall(klass,rb_intern("rod_pointer"),0));
173
+ | if(pointer == 0){
174
+ | rb_raise(rodException(), "Invalid model pointer (0). DB is closed.");
175
+ | }
162
176
  |#ifdef __BYTE_ORDER
163
177
  |# if __BYTE_ORDER == __BIG_ENDIAN
164
178
  | // TODO #220 #221
@@ -27,9 +27,9 @@ Gem::Specification.new do |s|
27
27
  s.add_dependency("activemodel", ["~> 3.2.2"])
28
28
  s.add_dependency("bsearch", [">= 1.5.0","< 1.6.0"])
29
29
 
30
- s.add_development_dependency("mocha", "~> 0.9.8")
31
30
  s.add_development_dependency("cucumber", "~> 1.0.0")
32
31
  s.add_development_dependency("rspec", [">= 2.2.0","< 2.3.0"])
33
32
  s.add_development_dependency("rake", [">= 0.9.0","< 1.0.0"])
34
- s.add_development_dependency("minitest", "~> 2.7.0")
33
+ s.add_development_dependency("minitest", "~> 4.0.0")
34
+ s.add_development_dependency("mocha", "~> 0.9.12")
35
35
  end
@@ -64,6 +64,7 @@ describe Rod::Property::Base do
64
64
  database.expect :nil?,false
65
65
  database.expect :path,"path"
66
66
  @klass.expect :database,database
67
+ @klass.expect :database,database
67
68
  @klass.expect :model_path,"model_path"
68
69
  @field.define_finders
69
70
  proc {@klass.find_by_user_name("Name")}.must_be_silent
@@ -32,11 +32,20 @@ describe Rod::Property::Field do
32
32
 
33
33
  it "must define C accessors" do
34
34
  @klass.expect :struct_name, "struct_name"
35
+ @klass.expect :struct_name, "struct_name"
36
+ @klass.expect :struct_name, "struct_name"
37
+ @klass.expect :struct_name, "struct_name"
38
+ @builder.expect :c,nil,[String]
39
+ @builder.expect :c,nil,[String]
40
+ @builder.expect :c,nil,[String]
35
41
  @builder.expect :c,nil,[String]
36
42
  @field.define_c_accessors(@builder)
37
43
  end
38
44
 
39
45
  it "must seal C accessors" do
46
+ @klass.expect :send,nil,[:private,String]
47
+ @klass.expect :send,nil,[:private,String]
48
+ @klass.expect :send,nil,[:private,String]
40
49
  @klass.expect :send,nil,[:private,String]
41
50
  @field.seal_c_accessors
42
51
  end
@@ -42,17 +42,27 @@ describe Rod::Property::PluralAssociation do
42
42
 
43
43
  it "must define C accessors" do
44
44
  @klass.expect :struct_name, "struct_name"
45
+ @klass.expect :struct_name, "struct_name"
46
+ @klass.expect :struct_name, "struct_name"
47
+ @klass.expect :struct_name, "struct_name"
48
+ @builder.expect :c,nil,[String]
49
+ @builder.expect :c,nil,[String]
50
+ @builder.expect :c,nil,[String]
45
51
  @builder.expect :c,nil,[String]
46
52
  @association.define_c_accessors(@builder)
47
53
  end
48
54
 
49
55
  it "must seal C accessors" do
56
+ @klass.expect :send,nil,[:private,String]
57
+ @klass.expect :send,nil,[:private,String]
58
+ @klass.expect :send,nil,[:private,String]
50
59
  @klass.expect :send,nil,[:private,String]
51
60
  @association.seal_c_accessors
52
61
  end
53
62
 
54
63
  it "must define getter" do
55
64
  @klass.expect :send,nil,[:define_method,"users"]
65
+ @klass.expect :send,nil,[:define_method,"users_count"]
56
66
  @klass.expect :scope_name,"Rod"
57
67
  @klass.expect :database, nil
58
68
  @association.define_getter
@@ -42,11 +42,20 @@ describe Rod::Property::SingularAssociation do
42
42
 
43
43
  it "must define C accessors" do
44
44
  @klass.expect :struct_name, "struct_name"
45
+ @klass.expect :struct_name, "struct_name"
46
+ @klass.expect :struct_name, "struct_name"
47
+ @klass.expect :struct_name, "struct_name"
48
+ @builder.expect :c,nil,[String]
49
+ @builder.expect :c,nil,[String]
50
+ @builder.expect :c,nil,[String]
45
51
  @builder.expect :c,nil,[String]
46
52
  @association.define_c_accessors(@builder)
47
53
  end
48
54
 
49
55
  it "must seal C accessors" do
56
+ @klass.expect :send,nil,[:private,String]
57
+ @klass.expect :send,nil,[:private,String]
58
+ @klass.expect :send,nil,[:private,String]
50
59
  @klass.expect :send,nil,[:private,String]
51
60
  @association.seal_c_accessors
52
61
  end
@@ -18,7 +18,7 @@ class User < Model
18
18
  field :city, :string, :index => :segmented
19
19
 
20
20
  # changed: index flat -> hash
21
- field :street, :string, :index => :hash
21
+ field :street, :string, :index => :hash, :cache_size => 10 * 1024 * 1024
22
22
 
23
23
  # changed: index flat -> nil
24
24
  field :number, :integer
metadata CHANGED
@@ -1,141 +1,198 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: rod
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.7.2.5
4
5
  prerelease:
5
- version: 0.7.2
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Aleksander Pohl
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2012-07-01 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2014-07-17 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: RubyInline
17
- prerelease: false
18
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
19
17
  none: false
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
23
21
  version: 3.10.0
24
22
  - - <
25
- - !ruby/object:Gem::Version
23
+ - !ruby/object:Gem::Version
26
24
  version: 4.0.0
27
25
  type: :runtime
28
- version_requirements: *id001
29
- - !ruby/object:Gem::Dependency
30
- name: english
31
26
  prerelease: false
32
- requirement: &id002 !ruby/object:Gem::Requirement
27
+ version_requirements: !ruby/object:Gem::Requirement
33
28
  none: false
34
- requirements:
35
- - - ">="
36
- - !ruby/object:Gem::Version
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: 3.10.0
33
+ - - <
34
+ - !ruby/object:Gem::Version
35
+ version: 4.0.0
36
+ - !ruby/object:Gem::Dependency
37
+ name: english
38
+ requirement: !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
37
43
  version: 0.5.0
38
44
  - - <
39
- - !ruby/object:Gem::Version
45
+ - !ruby/object:Gem::Version
40
46
  version: 0.6.0
41
47
  type: :runtime
42
- version_requirements: *id002
43
- - !ruby/object:Gem::Dependency
44
- name: activemodel
45
48
  prerelease: false
46
- requirement: &id003 !ruby/object:Gem::Requirement
49
+ version_requirements: !ruby/object:Gem::Requirement
47
50
  none: false
48
- requirements:
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
54
+ version: 0.5.0
55
+ - - <
56
+ - !ruby/object:Gem::Version
57
+ version: 0.6.0
58
+ - !ruby/object:Gem::Dependency
59
+ name: activemodel
60
+ requirement: !ruby/object:Gem::Requirement
61
+ none: false
62
+ requirements:
49
63
  - - ~>
50
- - !ruby/object:Gem::Version
64
+ - !ruby/object:Gem::Version
51
65
  version: 3.2.2
52
66
  type: :runtime
53
- version_requirements: *id003
54
- - !ruby/object:Gem::Dependency
55
- name: bsearch
56
67
  prerelease: false
57
- requirement: &id004 !ruby/object:Gem::Requirement
68
+ version_requirements: !ruby/object:Gem::Requirement
69
+ none: false
70
+ requirements:
71
+ - - ~>
72
+ - !ruby/object:Gem::Version
73
+ version: 3.2.2
74
+ - !ruby/object:Gem::Dependency
75
+ name: bsearch
76
+ requirement: !ruby/object:Gem::Requirement
58
77
  none: false
59
- requirements:
60
- - - ">="
61
- - !ruby/object:Gem::Version
78
+ requirements:
79
+ - - ! '>='
80
+ - !ruby/object:Gem::Version
62
81
  version: 1.5.0
63
82
  - - <
64
- - !ruby/object:Gem::Version
83
+ - !ruby/object:Gem::Version
65
84
  version: 1.6.0
66
85
  type: :runtime
67
- version_requirements: *id004
68
- - !ruby/object:Gem::Dependency
69
- name: mocha
70
86
  prerelease: false
71
- requirement: &id005 !ruby/object:Gem::Requirement
87
+ version_requirements: !ruby/object:Gem::Requirement
72
88
  none: false
73
- requirements:
89
+ requirements:
90
+ - - ! '>='
91
+ - !ruby/object:Gem::Version
92
+ version: 1.5.0
93
+ - - <
94
+ - !ruby/object:Gem::Version
95
+ version: 1.6.0
96
+ - !ruby/object:Gem::Dependency
97
+ name: cucumber
98
+ requirement: !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
74
101
  - - ~>
75
- - !ruby/object:Gem::Version
76
- version: 0.9.8
102
+ - !ruby/object:Gem::Version
103
+ version: 1.0.0
77
104
  type: :development
78
- version_requirements: *id005
79
- - !ruby/object:Gem::Dependency
80
- name: cucumber
81
105
  prerelease: false
82
- requirement: &id006 !ruby/object:Gem::Requirement
106
+ version_requirements: !ruby/object:Gem::Requirement
83
107
  none: false
84
- requirements:
108
+ requirements:
85
109
  - - ~>
86
- - !ruby/object:Gem::Version
110
+ - !ruby/object:Gem::Version
87
111
  version: 1.0.0
88
- type: :development
89
- version_requirements: *id006
90
- - !ruby/object:Gem::Dependency
112
+ - !ruby/object:Gem::Dependency
91
113
  name: rspec
92
- prerelease: false
93
- requirement: &id007 !ruby/object:Gem::Requirement
114
+ requirement: !ruby/object:Gem::Requirement
94
115
  none: false
95
- requirements:
96
- - - ">="
97
- - !ruby/object:Gem::Version
116
+ requirements:
117
+ - - ! '>='
118
+ - !ruby/object:Gem::Version
98
119
  version: 2.2.0
99
120
  - - <
100
- - !ruby/object:Gem::Version
121
+ - !ruby/object:Gem::Version
101
122
  version: 2.3.0
102
123
  type: :development
103
- version_requirements: *id007
104
- - !ruby/object:Gem::Dependency
105
- name: rake
106
124
  prerelease: false
107
- requirement: &id008 !ruby/object:Gem::Requirement
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ none: false
127
+ requirements:
128
+ - - ! '>='
129
+ - !ruby/object:Gem::Version
130
+ version: 2.2.0
131
+ - - <
132
+ - !ruby/object:Gem::Version
133
+ version: 2.3.0
134
+ - !ruby/object:Gem::Dependency
135
+ name: rake
136
+ requirement: !ruby/object:Gem::Requirement
108
137
  none: false
109
- requirements:
110
- - - ">="
111
- - !ruby/object:Gem::Version
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
112
141
  version: 0.9.0
113
142
  - - <
114
- - !ruby/object:Gem::Version
143
+ - !ruby/object:Gem::Version
115
144
  version: 1.0.0
116
145
  type: :development
117
- version_requirements: *id008
118
- - !ruby/object:Gem::Dependency
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ none: false
149
+ requirements:
150
+ - - ! '>='
151
+ - !ruby/object:Gem::Version
152
+ version: 0.9.0
153
+ - - <
154
+ - !ruby/object:Gem::Version
155
+ version: 1.0.0
156
+ - !ruby/object:Gem::Dependency
119
157
  name: minitest
158
+ requirement: !ruby/object:Gem::Requirement
159
+ none: false
160
+ requirements:
161
+ - - ~>
162
+ - !ruby/object:Gem::Version
163
+ version: 4.0.0
164
+ type: :development
120
165
  prerelease: false
121
- requirement: &id009 !ruby/object:Gem::Requirement
166
+ version_requirements: !ruby/object:Gem::Requirement
167
+ none: false
168
+ requirements:
169
+ - - ~>
170
+ - !ruby/object:Gem::Version
171
+ version: 4.0.0
172
+ - !ruby/object:Gem::Dependency
173
+ name: mocha
174
+ requirement: !ruby/object:Gem::Requirement
122
175
  none: false
123
- requirements:
176
+ requirements:
124
177
  - - ~>
125
- - !ruby/object:Gem::Version
126
- version: 2.7.0
178
+ - !ruby/object:Gem::Version
179
+ version: 0.9.12
127
180
  type: :development
128
- version_requirements: *id009
129
- description: Ruby Object Database is designed for large amounts of data, whose structure rarely changes.
130
- email:
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ none: false
184
+ requirements:
185
+ - - ~>
186
+ - !ruby/object:Gem::Version
187
+ version: 0.9.12
188
+ description: Ruby Object Database is designed for large amounts of data, whose structure
189
+ rarely changes.
190
+ email:
131
191
  - apohllo@o2.pl
132
192
  executables: []
133
-
134
193
  extensions: []
135
-
136
194
  extra_rdoc_files: []
137
-
138
- files:
195
+ files:
139
196
  - .gitignore
140
197
  - .travis.yml
141
198
  - Gemfile
@@ -249,62 +306,29 @@ files:
249
306
  - utils/convert_index.rb
250
307
  homepage: http://github.com/apohllo/rod
251
308
  licenses: []
252
-
253
309
  post_install_message:
254
- rdoc_options:
310
+ rdoc_options:
255
311
  - --main
256
312
  - README.rdoc
257
- require_paths:
313
+ require_paths:
258
314
  - lib
259
- required_ruby_version: !ruby/object:Gem::Requirement
315
+ required_ruby_version: !ruby/object:Gem::Requirement
260
316
  none: false
261
- requirements:
262
- - - ">="
263
- - !ruby/object:Gem::Version
317
+ requirements:
318
+ - - ! '>='
319
+ - !ruby/object:Gem::Version
264
320
  version: 1.9.2
265
- required_rubygems_version: !ruby/object:Gem::Requirement
321
+ required_rubygems_version: !ruby/object:Gem::Requirement
266
322
  none: false
267
- requirements:
268
- - - ">="
269
- - !ruby/object:Gem::Version
270
- version: "0"
323
+ requirements:
324
+ - - ! '>='
325
+ - !ruby/object:Gem::Version
326
+ version: '0'
271
327
  requirements: []
272
-
273
328
  rubyforge_project: rod
274
- rubygems_version: 1.8.24
329
+ rubygems_version: 1.8.25
275
330
  signing_key:
276
331
  specification_version: 3
277
332
  summary: Ruby Object Database
278
- test_files:
279
- - features/append.feature
280
- - features/backward.feature
281
- - features/basic.feature
282
- - features/collection.feature
283
- - features/collection_proxy.feature
284
- - features/flat_indexing.feature
285
- - features/hash_indexing.feature
286
- - features/inheritence.feature
287
- - features/muliple_db.feature
288
- - features/persistence.feature
289
- - features/portability.feature
290
- - features/relationship_indexing.feature
291
- - features/relationships.feature
292
- - features/segmented_indexing.feature
293
- - features/steps/collection_proxy.rb
294
- - features/steps/model.rb
295
- - features/steps/rod.rb
296
- - features/steps/test_helper.rb
297
- - features/support/mocha.rb
298
- - features/update.feature
299
- - spec/berkeley/database.rb
300
- - spec/berkeley/environment.rb
301
- - spec/berkeley/sequence.rb
302
- - spec/berkeley/transaction.rb
303
- - spec/collection_proxy.rb
304
- - spec/database.rb
305
- - spec/model.rb
306
- - spec/property/base.rb
307
- - spec/property/field.rb
308
- - spec/property/plural_association.rb
309
- - spec/property/singular_association.rb
333
+ test_files: []
310
334
  has_rdoc: