bigrecord 0.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.
Files changed (104) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +44 -0
  3. data/Rakefile +17 -0
  4. data/VERSION +1 -0
  5. data/doc/bigrecord_specs.rdoc +36 -0
  6. data/doc/getting_started.rdoc +157 -0
  7. data/examples/bigrecord.yml +25 -0
  8. data/generators/bigrecord/bigrecord_generator.rb +17 -0
  9. data/generators/bigrecord/templates/bigrecord.rake +47 -0
  10. data/generators/bigrecord_migration/bigrecord_migration_generator.rb +13 -0
  11. data/generators/bigrecord_migration/templates/migration.rb +9 -0
  12. data/generators/bigrecord_model/bigrecord_model_generator.rb +28 -0
  13. data/generators/bigrecord_model/templates/migration.rb +13 -0
  14. data/generators/bigrecord_model/templates/model.rb +7 -0
  15. data/generators/bigrecord_model/templates/model_spec.rb +12 -0
  16. data/init.rb +9 -0
  17. data/install.rb +22 -0
  18. data/lib/big_record/abstract_base.rb +1088 -0
  19. data/lib/big_record/action_view_extensions.rb +266 -0
  20. data/lib/big_record/ar_associations/association_collection.rb +194 -0
  21. data/lib/big_record/ar_associations/association_proxy.rb +158 -0
  22. data/lib/big_record/ar_associations/belongs_to_association.rb +57 -0
  23. data/lib/big_record/ar_associations/belongs_to_many_association.rb +57 -0
  24. data/lib/big_record/ar_associations/has_and_belongs_to_many_association.rb +164 -0
  25. data/lib/big_record/ar_associations/has_many_association.rb +191 -0
  26. data/lib/big_record/ar_associations/has_one_association.rb +80 -0
  27. data/lib/big_record/ar_associations.rb +1608 -0
  28. data/lib/big_record/ar_reflection.rb +223 -0
  29. data/lib/big_record/attribute_methods.rb +75 -0
  30. data/lib/big_record/base.rb +618 -0
  31. data/lib/big_record/br_associations/association_collection.rb +194 -0
  32. data/lib/big_record/br_associations/association_proxy.rb +153 -0
  33. data/lib/big_record/br_associations/belongs_to_association.rb +52 -0
  34. data/lib/big_record/br_associations/belongs_to_many_association.rb +293 -0
  35. data/lib/big_record/br_associations/cached_item_proxy.rb +194 -0
  36. data/lib/big_record/br_associations/cached_item_proxy_factory.rb +62 -0
  37. data/lib/big_record/br_associations/has_and_belongs_to_many_association.rb +168 -0
  38. data/lib/big_record/br_associations/has_one_association.rb +80 -0
  39. data/lib/big_record/br_associations.rb +978 -0
  40. data/lib/big_record/br_reflection.rb +151 -0
  41. data/lib/big_record/callbacks.rb +367 -0
  42. data/lib/big_record/connection_adapters/abstract/connection_specification.rb +279 -0
  43. data/lib/big_record/connection_adapters/abstract/database_statements.rb +175 -0
  44. data/lib/big_record/connection_adapters/abstract/quoting.rb +58 -0
  45. data/lib/big_record/connection_adapters/abstract_adapter.rb +190 -0
  46. data/lib/big_record/connection_adapters/column.rb +491 -0
  47. data/lib/big_record/connection_adapters/hbase_adapter.rb +432 -0
  48. data/lib/big_record/connection_adapters/view.rb +27 -0
  49. data/lib/big_record/connection_adapters.rb +10 -0
  50. data/lib/big_record/deletion.rb +73 -0
  51. data/lib/big_record/dynamic_schema.rb +92 -0
  52. data/lib/big_record/embedded.rb +71 -0
  53. data/lib/big_record/embedded_associations/association_proxy.rb +148 -0
  54. data/lib/big_record/family_span_columns.rb +89 -0
  55. data/lib/big_record/fixtures.rb +1025 -0
  56. data/lib/big_record/migration.rb +380 -0
  57. data/lib/big_record/routing_ext.rb +65 -0
  58. data/lib/big_record/timestamp.rb +51 -0
  59. data/lib/big_record/validations.rb +830 -0
  60. data/lib/big_record.rb +125 -0
  61. data/lib/bigrecord.rb +1 -0
  62. data/rails/init.rb +9 -0
  63. data/spec/connections/bigrecord.yml +13 -0
  64. data/spec/connections/cassandra/connection.rb +2 -0
  65. data/spec/connections/hbase/connection.rb +2 -0
  66. data/spec/debug.log +281 -0
  67. data/spec/integration/br_associations_spec.rb +80 -0
  68. data/spec/lib/animal.rb +12 -0
  69. data/spec/lib/book.rb +10 -0
  70. data/spec/lib/broken_migrations/duplicate_name/20090706182535_add_animals_table.rb +14 -0
  71. data/spec/lib/broken_migrations/duplicate_name/20090706193019_add_animals_table.rb +9 -0
  72. data/spec/lib/broken_migrations/duplicate_version/20090706190623_add_books_table.rb +9 -0
  73. data/spec/lib/broken_migrations/duplicate_version/20090706190623_add_companies_table.rb +9 -0
  74. data/spec/lib/company.rb +14 -0
  75. data/spec/lib/embedded/web_link.rb +12 -0
  76. data/spec/lib/employee.rb +33 -0
  77. data/spec/lib/migrations/20090706182535_add_animals_table.rb +13 -0
  78. data/spec/lib/migrations/20090706190623_add_books_table.rb +15 -0
  79. data/spec/lib/migrations/20090706193019_add_companies_table.rb +14 -0
  80. data/spec/lib/migrations/20090706194512_add_employees_table.rb +13 -0
  81. data/spec/lib/migrations/20090706195741_add_zoos_table.rb +13 -0
  82. data/spec/lib/novel.rb +5 -0
  83. data/spec/lib/zoo.rb +17 -0
  84. data/spec/spec.opts +4 -0
  85. data/spec/spec_helper.rb +55 -0
  86. data/spec/unit/abstract_base_spec.rb +287 -0
  87. data/spec/unit/adapters/abstract_adapter_spec.rb +56 -0
  88. data/spec/unit/adapters/adapter_shared_spec.rb +51 -0
  89. data/spec/unit/adapters/hbase_adapter_spec.rb +15 -0
  90. data/spec/unit/ar_associations_spec.rb +8 -0
  91. data/spec/unit/base_spec.rb +6 -0
  92. data/spec/unit/br_associations_spec.rb +58 -0
  93. data/spec/unit/embedded_spec.rb +43 -0
  94. data/spec/unit/find_spec.rb +34 -0
  95. data/spec/unit/hash_helper_spec.rb +44 -0
  96. data/spec/unit/migration_spec.rb +144 -0
  97. data/spec/unit/model_spec.rb +315 -0
  98. data/spec/unit/validations_spec.rb +182 -0
  99. data/tasks/bigrecord_tasks.rake +47 -0
  100. data/tasks/data_store.rb +46 -0
  101. data/tasks/gem.rb +22 -0
  102. data/tasks/rdoc.rb +8 -0
  103. data/tasks/spec.rb +34 -0
  104. metadata +189 -0
@@ -0,0 +1,182 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'spec_helper'))
2
+
3
+ module EmployeeSpecHelper
4
+ def valid_employee_attributes
5
+ { :first_name => "John",
6
+ :last_name => "Smith",
7
+ :middle_name => "Jacob",
8
+ :email => "johnsmith@email.com",
9
+ :title => "Developer",
10
+ :password => "abcdefg",
11
+ :gender => "m",
12
+ :contract => "1",
13
+ :age => 25
14
+ }
15
+ end
16
+
17
+ def ensure_error_added(model, attribute, message = nil)
18
+ model.errors.on(attribute).should_not be_nil
19
+ model.errors.on(attribute).should include(message) unless message.blank?
20
+ end
21
+ end
22
+
23
+ describe BigRecord::Validations do
24
+ include EmployeeSpecHelper
25
+
26
+ before(:all) do
27
+ @error_messages = BigRecord::Errors.default_error_messages.freeze
28
+ end
29
+
30
+ before(:each) do
31
+ @employee = Employee.new
32
+ end
33
+
34
+ describe "#validates_presence_of" do
35
+
36
+ it "should add an error to the record if it's missing required attributes" do
37
+ @employee.attributes = valid_employee_attributes.except(:first_name, :last_name)
38
+
39
+ @employee.valid?.should be_false
40
+
41
+ ensure_error_added(@employee, :first_name, @error_messages[:blank])
42
+ ensure_error_added(@employee, :last_name, @error_messages[:blank])
43
+
44
+ @employee.first_name = valid_employee_attributes[:first_name]
45
+ @employee.valid?.should be_false # still missing :last_name
46
+
47
+ ensure_error_added(@employee, :last_name, @error_messages[:blank])
48
+
49
+ @employee.last_name = valid_employee_attributes[:last_name]
50
+ @employee.valid?.should be_true
51
+ end
52
+
53
+ end
54
+
55
+ describe "#validates_uniqueness_of" do
56
+
57
+ it "should add an error to the record if an attribute is not unique" do
58
+ pending "this needs to be implemented"
59
+ end
60
+
61
+ end
62
+
63
+ describe "#validates_length_of" do
64
+ it "should add an error to the record if an attribute is not of appropriate length" do
65
+ # Employee is expecting the first_name attribute to be [2, 50]
66
+ @employee.attributes = valid_employee_attributes.except(:first_name)
67
+ @employee.first_name = "A"
68
+
69
+ @employee.valid?.should be_false
70
+ ensure_error_added(@employee, :first_name, (@error_messages[:too_short] % 2))
71
+
72
+ @employee.first_name = "TgsCFInjEcJScTIVVICiyiKhYIJtdOezdqdLHqAPHTJCQTqyaWG" # 51 characters
73
+ @employee.valid?.should be_false
74
+ ensure_error_added(@employee, :first_name, (@error_messages[:too_long] % 50))
75
+
76
+ @employee.first_name = "John"
77
+ @employee.valid?.should be_true
78
+ end
79
+ end
80
+
81
+ describe "#validates_format_of" do
82
+ it "should add an error to the record if an attribute is not a valid format" do
83
+ @employee.attributes = valid_employee_attributes.except(:first_name)
84
+ @employee.first_name = "$0m3!funky*n4m3"
85
+
86
+ @employee.valid?.should be_false
87
+ ensure_error_added(@employee, :first_name, @error_messages[:invalid])
88
+
89
+ @employee.first_name = "Valid"
90
+ @employee.valid?.should be_true
91
+ end
92
+
93
+ it "should not add an error is :allow_nil => true for a validation" do
94
+ @employee.attributes = valid_employee_attributes.except(:middle_name)
95
+ @employee.valid?.should be_true
96
+ end
97
+ end
98
+
99
+ describe "#validates_inclusion_of" do
100
+
101
+ it "should add an error to the record if an attribute is not included in a list" do
102
+ @employee.attributes = valid_employee_attributes.except(:gender)
103
+ @employee.gender = "alien"
104
+
105
+ @employee.valid?.should be_false
106
+ ensure_error_added(@employee, :gender, @error_messages[:inclusion])
107
+
108
+ @employee.gender = "m"
109
+ @employee.valid?.should be_true
110
+ end
111
+
112
+ end
113
+
114
+ describe "#validates_exclusion_of" do
115
+
116
+ it "should add an error to the record if an attribute is included in a list" do
117
+ @employee.attributes = valid_employee_attributes.except(:first_name)
118
+ @employee.first_name = "admin"
119
+
120
+ @employee.valid?.should be_false
121
+ ensure_error_added(@employee, :first_name, @error_messages[:exclusion])
122
+
123
+ @employee.first_name = valid_employee_attributes[:first_name]
124
+ @employee.valid?.should be_true
125
+ end
126
+
127
+ it "should not add an error if :allow_nil => true for a validation" do
128
+ @employee.attributes = valid_employee_attributes.except(:middle_name)
129
+ @employee.valid?.should be_true
130
+ end
131
+
132
+ end
133
+
134
+ describe "#validates_acceptance_of" do
135
+
136
+ it "should add an error to the record if an acceptance agreed upon" do
137
+ @employee.attributes = valid_employee_attributes.except(:contract)
138
+ @employee.contract = "0"
139
+
140
+ @employee.valid?.should be_false
141
+ ensure_error_added(@employee, :contract, @error_messages[:accepted])
142
+
143
+ @employee.contract = "1"
144
+ @employee.valid?.should be_true
145
+ end
146
+
147
+ end
148
+
149
+ describe "#validates_confirmation_of" do
150
+
151
+ it "should not trigger a validation unless the virtual attribute #attr_confirmation is added" do
152
+ @employee.attributes = valid_employee_attributes
153
+ @employee.valid?.should be_true
154
+
155
+ @employee.password_confirmation = ""
156
+ @employee.valid?.should be_false
157
+
158
+ ensure_error_added(@employee, :password, @error_messages[:confirmation])
159
+ end
160
+
161
+ it "should add an error to the record if a confirmation was mismatched" do
162
+ @employee.attributes = valid_employee_attributes
163
+ @employee.password_confirmation = "mismatched"
164
+
165
+ @employee.valid?.should be_false
166
+ ensure_error_added(@employee, :password, @error_messages[:confirmation])
167
+
168
+ @employee.password_confirmation = valid_employee_attributes[:password]
169
+ @employee.valid?.should be_true
170
+ end
171
+
172
+ end
173
+
174
+ describe "#validates_numericality_of" do
175
+
176
+ it "should add an error to the record if an attribute listed within it is not a number" do
177
+ pending "This needs to be implemented"
178
+ end
179
+
180
+ end
181
+
182
+ end
@@ -0,0 +1,47 @@
1
+ namespace :bigrecord do
2
+
3
+ desc "Migrate the Bigrecord database through scripts in db/bigrecord_migrate. Target specific version with VERSION=x. Turn off output with VERBOSE=false."
4
+ task :migrate => :environment do
5
+ BigRecord::Migrator.migrate("db/bigrecord_migrate/", ENV["VERSION"] ? ENV["VERSION"].to_i : nil)
6
+ end
7
+
8
+ namespace :migrate do
9
+ desc 'Rollbacks the database one migration and re migrate up. If you want to rollback more than one step, define STEP=x. Target specific version with VERSION=x.'
10
+ task :redo => :environment do
11
+ if ENV["VERSION"]
12
+ Rake::Task["bigrecord:migrate:down"].invoke
13
+ Rake::Task["bigrecord:migrate:up"].invoke
14
+ else
15
+ Rake::Task["bigrecord:rollback"].invoke
16
+ Rake::Task["bigrecord:migrate"].invoke
17
+ end
18
+ end
19
+
20
+ desc 'Runs the "up" for a given migration VERSION.'
21
+ task :up => :environment do
22
+ version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
23
+ raise "VERSION is required" unless version
24
+ BigRecord::Migrator.run(:up, "db/bigrecord_migrate/", version)
25
+ end
26
+
27
+ desc 'Runs the "down" for a given migration VERSION.'
28
+ task :down => :environment do
29
+ version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
30
+ raise "VERSION is required" unless version
31
+ BigRecord::Migrator.run(:up, "db/bigrecord_migrate/", version)
32
+ end
33
+ end
34
+
35
+ desc 'Rolls the schema back to the previous version. Specify the number of steps with STEP=n'
36
+ task :rollback => :environment do
37
+ step = ENV['STEP'] ? ENV['STEP'].to_i : 1
38
+ BigRecord::Migrator.rollback('db/bigrecord_migrate/', step)
39
+ end
40
+
41
+ desc 'Pushes the schema to the next version. Specify the number of steps with STEP=n'
42
+ task :forward => :environment do
43
+ step = ENV['STEP'] ? ENV['STEP'].to_i : 1
44
+ BigRecord::Migrator.forward('db/bigrecord_migrate/', step)
45
+ end
46
+
47
+ end
@@ -0,0 +1,46 @@
1
+ namespace :data_store do
2
+ require 'lib/big_record'
3
+ BigRecord::Base.configurations = YAML::load(File.open(File.join(ROOT, "spec", "connections", "bigrecord.yml")))
4
+ BigRecord::Base.logger = Logger.new(File.expand_path(File.join(ROOT, "migrate.log")))
5
+
6
+ @migrations_path = File.expand_path(File.join(ROOT, "spec", "lib", "migrations"))
7
+
8
+ desc 'Migrate the test schema for the data store specified by ENV=<data_store>'
9
+ task :migrate do
10
+ environment = ENV['ENV']
11
+ raise ArgumentError, "Usage: rake data_store:migrate ENV=<#{DATA_STORES.join("|")}>" unless environment
12
+
13
+ BigRecord::Base.establish_connection environment
14
+
15
+ BigRecord::Migrator.migrate(@migrations_path, ENV["VERSION"] ? ENV["VERSION"].to_i : nil)
16
+ end
17
+
18
+ namespace :migrate do
19
+ desc 'Runs the "up" for a given migration VERSION.'
20
+ task :up do
21
+ environment = ENV['ENV']
22
+ raise ArgumentError, "Usage: rake data_store:migrate:up ENV=<#{DATA_STORES.join("|")}>" unless environment
23
+
24
+ BigRecord::Base.establish_connection environment
25
+
26
+ version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
27
+ raise "VERSION is required" unless version
28
+
29
+ BigRecord::Migrator.run(:up, @migrations_path, version)
30
+ end
31
+
32
+ desc 'Runs the "down" for a given migration VERSION.'
33
+ task :down do
34
+ environment = ENV['ENV']
35
+ raise ArgumentError, "Usage: rake data_store:migrate:down ENV=<#{DATA_STORES.join("|")}>" unless environment
36
+
37
+ BigRecord::Base.establish_connection environment
38
+
39
+ version = ENV["VERSION"] ? ENV["VERSION"].to_i : nil
40
+ raise "VERSION is required" unless version
41
+
42
+ BigRecord::Migrator.run(:down, @migrations_path, version)
43
+ end
44
+ end
45
+
46
+ end
data/tasks/gem.rb ADDED
@@ -0,0 +1,22 @@
1
+ begin
2
+ require 'jeweler'
3
+
4
+ Jeweler::Tasks.new do |gemspec|
5
+ gemspec.name = "bigrecord"
6
+ gemspec.authors = ["openplaces.org"]
7
+ gemspec.email = "bigrecord@openplaces.org"
8
+ gemspec.homepage = "http://www.bigrecord.org"
9
+ gemspec.summary = "Object mapper for supporting column-oriented data stores (supports #{DATA_STORES.join(" ")}) in Ruby on Rails."
10
+ gemspec.description = "BigRecord is built from ActiveRecord, and intended to seamlessly integrate into your Ruby on Rails applications."
11
+ gemspec.files = FileList["{doc,examples,generators,lib,rails,spec,tasks}/**/*","init.rb","install.rb","Rakefile","VERSION"].to_a
12
+ gemspec.extra_rdoc_files = FileList["doc/**/*","MIT-LICENSE","README.rdoc"].to_a
13
+
14
+ gemspec.add_development_dependency "rspec"
15
+ gemspec.add_dependency "uuidtools", ">= 2.0.0"
16
+ gemspec.add_dependency "bigrecord-driver"
17
+ end
18
+ Jeweler::GemcutterTasks.new
19
+ rescue LoadError
20
+ puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
21
+ end
22
+
data/tasks/rdoc.rb ADDED
@@ -0,0 +1,8 @@
1
+ desc 'Generate documentation for BigRecord.'
2
+ Rake::RDocTask.new(:rdoc) do |rdoc|
3
+ rdoc.rdoc_dir = 'rdoc'
4
+ rdoc.title = 'BigRecord'
5
+ rdoc.options << '--line-numbers' << '--inline-source'
6
+ rdoc.rdoc_files.include('../README.rdoc')
7
+ rdoc.rdoc_files.include('lib/**/*.rb')
8
+ end
data/tasks/spec.rb ADDED
@@ -0,0 +1,34 @@
1
+ desc "Run #{DATA_STORES.join(" and ")} specs"
2
+ task :spec => DATA_STORES.map{|store| "spec:#{store}" }
3
+
4
+ namespace :spec do
5
+ unit_specs = ROOT + 'spec/unit/**/*_spec.rb'
6
+ integration_specs = ROOT + 'spec/integration/**/*_spec.rb'
7
+ all_specs = ROOT + 'spec/**/*_spec.rb'
8
+
9
+ def run_spec(name, adapter, files, rcov)
10
+ Spec::Rake::SpecTask.new(name) do |t|
11
+ t.spec_opts << File.open("spec/spec.opts").readlines.map{|x| x.chomp}
12
+ t.spec_files = Pathname.glob(files.to_s).map { |f| f.to_s }
13
+ connection_path = "spec/connections/#{adapter}"
14
+ t.libs << "spec" << connection_path
15
+ end
16
+ end
17
+
18
+ DATA_STORES.each do |adapter|
19
+ task adapter.to_sym => "spec:#{adapter}:all"
20
+
21
+ namespace adapter.to_sym do
22
+
23
+ desc "Run all specifications"
24
+ run_spec('all', adapter, all_specs, false)
25
+
26
+ desc "Run unit specifications"
27
+ run_spec('unit', adapter, unit_specs, false)
28
+
29
+ desc "Run integration specifications"
30
+ run_spec('integration', adapter, integration_specs, false)
31
+
32
+ end
33
+ end
34
+ end
metadata ADDED
@@ -0,0 +1,189 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bigrecord
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.5
5
+ platform: ruby
6
+ authors:
7
+ - openplaces.org
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-10-12 00:00:00 -04:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rspec
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: uuidtools
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 2.0.0
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: bigrecord-driver
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: "0"
44
+ version:
45
+ description: BigRecord is built from ActiveRecord, and intended to seamlessly integrate into your Ruby on Rails applications.
46
+ email: bigrecord@openplaces.org
47
+ executables: []
48
+
49
+ extensions: []
50
+
51
+ extra_rdoc_files:
52
+ - MIT-LICENSE
53
+ - README.rdoc
54
+ - doc/bigrecord_specs.rdoc
55
+ - doc/getting_started.rdoc
56
+ files:
57
+ - Rakefile
58
+ - VERSION
59
+ - doc/bigrecord_specs.rdoc
60
+ - doc/getting_started.rdoc
61
+ - examples/bigrecord.yml
62
+ - generators/bigrecord/bigrecord_generator.rb
63
+ - generators/bigrecord/templates/bigrecord.rake
64
+ - generators/bigrecord_migration/bigrecord_migration_generator.rb
65
+ - generators/bigrecord_migration/templates/migration.rb
66
+ - generators/bigrecord_model/bigrecord_model_generator.rb
67
+ - generators/bigrecord_model/templates/migration.rb
68
+ - generators/bigrecord_model/templates/model.rb
69
+ - generators/bigrecord_model/templates/model_spec.rb
70
+ - init.rb
71
+ - install.rb
72
+ - lib/big_record.rb
73
+ - lib/big_record/abstract_base.rb
74
+ - lib/big_record/action_view_extensions.rb
75
+ - lib/big_record/ar_associations.rb
76
+ - lib/big_record/ar_associations/association_collection.rb
77
+ - lib/big_record/ar_associations/association_proxy.rb
78
+ - lib/big_record/ar_associations/belongs_to_association.rb
79
+ - lib/big_record/ar_associations/belongs_to_many_association.rb
80
+ - lib/big_record/ar_associations/has_and_belongs_to_many_association.rb
81
+ - lib/big_record/ar_associations/has_many_association.rb
82
+ - lib/big_record/ar_associations/has_one_association.rb
83
+ - lib/big_record/ar_reflection.rb
84
+ - lib/big_record/attribute_methods.rb
85
+ - lib/big_record/base.rb
86
+ - lib/big_record/br_associations.rb
87
+ - lib/big_record/br_associations/association_collection.rb
88
+ - lib/big_record/br_associations/association_proxy.rb
89
+ - lib/big_record/br_associations/belongs_to_association.rb
90
+ - lib/big_record/br_associations/belongs_to_many_association.rb
91
+ - lib/big_record/br_associations/cached_item_proxy.rb
92
+ - lib/big_record/br_associations/cached_item_proxy_factory.rb
93
+ - lib/big_record/br_associations/has_and_belongs_to_many_association.rb
94
+ - lib/big_record/br_associations/has_one_association.rb
95
+ - lib/big_record/br_reflection.rb
96
+ - lib/big_record/callbacks.rb
97
+ - lib/big_record/connection_adapters.rb
98
+ - lib/big_record/connection_adapters/abstract/connection_specification.rb
99
+ - lib/big_record/connection_adapters/abstract/database_statements.rb
100
+ - lib/big_record/connection_adapters/abstract/quoting.rb
101
+ - lib/big_record/connection_adapters/abstract_adapter.rb
102
+ - lib/big_record/connection_adapters/column.rb
103
+ - lib/big_record/connection_adapters/hbase_adapter.rb
104
+ - lib/big_record/connection_adapters/view.rb
105
+ - lib/big_record/deletion.rb
106
+ - lib/big_record/dynamic_schema.rb
107
+ - lib/big_record/embedded.rb
108
+ - lib/big_record/embedded_associations/association_proxy.rb
109
+ - lib/big_record/family_span_columns.rb
110
+ - lib/big_record/fixtures.rb
111
+ - lib/big_record/migration.rb
112
+ - lib/big_record/routing_ext.rb
113
+ - lib/big_record/timestamp.rb
114
+ - lib/big_record/validations.rb
115
+ - lib/bigrecord.rb
116
+ - rails/init.rb
117
+ - spec/connections/bigrecord.yml
118
+ - spec/connections/cassandra/connection.rb
119
+ - spec/connections/hbase/connection.rb
120
+ - spec/debug.log
121
+ - spec/integration/br_associations_spec.rb
122
+ - spec/lib/animal.rb
123
+ - spec/lib/book.rb
124
+ - spec/lib/broken_migrations/duplicate_name/20090706182535_add_animals_table.rb
125
+ - spec/lib/broken_migrations/duplicate_name/20090706193019_add_animals_table.rb
126
+ - spec/lib/broken_migrations/duplicate_version/20090706190623_add_books_table.rb
127
+ - spec/lib/broken_migrations/duplicate_version/20090706190623_add_companies_table.rb
128
+ - spec/lib/company.rb
129
+ - spec/lib/embedded/web_link.rb
130
+ - spec/lib/employee.rb
131
+ - spec/lib/migrations/20090706182535_add_animals_table.rb
132
+ - spec/lib/migrations/20090706190623_add_books_table.rb
133
+ - spec/lib/migrations/20090706193019_add_companies_table.rb
134
+ - spec/lib/migrations/20090706194512_add_employees_table.rb
135
+ - spec/lib/migrations/20090706195741_add_zoos_table.rb
136
+ - spec/lib/novel.rb
137
+ - spec/lib/zoo.rb
138
+ - spec/spec.opts
139
+ - spec/spec_helper.rb
140
+ - spec/unit/abstract_base_spec.rb
141
+ - spec/unit/adapters/abstract_adapter_spec.rb
142
+ - spec/unit/adapters/adapter_shared_spec.rb
143
+ - spec/unit/adapters/hbase_adapter_spec.rb
144
+ - spec/unit/ar_associations_spec.rb
145
+ - spec/unit/base_spec.rb
146
+ - spec/unit/br_associations_spec.rb
147
+ - spec/unit/embedded_spec.rb
148
+ - spec/unit/find_spec.rb
149
+ - spec/unit/hash_helper_spec.rb
150
+ - spec/unit/migration_spec.rb
151
+ - spec/unit/model_spec.rb
152
+ - spec/unit/validations_spec.rb
153
+ - tasks/bigrecord_tasks.rake
154
+ - tasks/data_store.rb
155
+ - tasks/gem.rb
156
+ - tasks/rdoc.rb
157
+ - tasks/spec.rb
158
+ - MIT-LICENSE
159
+ - README.rdoc
160
+ has_rdoc: true
161
+ homepage: http://www.bigrecord.org
162
+ licenses: []
163
+
164
+ post_install_message:
165
+ rdoc_options:
166
+ - --charset=UTF-8
167
+ require_paths:
168
+ - lib
169
+ required_ruby_version: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: "0"
174
+ version:
175
+ required_rubygems_version: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: "0"
180
+ version:
181
+ requirements: []
182
+
183
+ rubyforge_project:
184
+ rubygems_version: 1.3.5
185
+ signing_key:
186
+ specification_version: 3
187
+ summary: Object mapper for supporting column-oriented data stores (supports hbase cassandra) in Ruby on Rails.
188
+ test_files: []
189
+