activerecord-simpledb-adapter 0.1.2 → 0.2.0

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/Gemfile ADDED
@@ -0,0 +1,14 @@
1
+ source "http://rubygems.org"
2
+
3
+ group :development do
4
+ gem "rspec", "~> 2.3.0"
5
+ gem "bundler", "~> 1.0.0"
6
+ gem "jeweler", "~> 1.5.2"
7
+ gem "rcov", ">= 0"
8
+ gem "aws"
9
+ gem "activerecord"
10
+ gem "activesupport"
11
+ gem 'genspec', '0.2.0.prerails3.2'
12
+ gem 'thor'
13
+ gem 'rails'
14
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,108 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ abstract (1.0.0)
5
+ actionmailer (3.0.3)
6
+ actionpack (= 3.0.3)
7
+ mail (~> 2.2.9)
8
+ actionpack (3.0.3)
9
+ activemodel (= 3.0.3)
10
+ activesupport (= 3.0.3)
11
+ builder (~> 2.1.2)
12
+ erubis (~> 2.6.6)
13
+ i18n (~> 0.4)
14
+ rack (~> 1.2.1)
15
+ rack-mount (~> 0.6.13)
16
+ rack-test (~> 0.5.6)
17
+ tzinfo (~> 0.3.23)
18
+ activemodel (3.0.3)
19
+ activesupport (= 3.0.3)
20
+ builder (~> 2.1.2)
21
+ i18n (~> 0.4)
22
+ activerecord (3.0.3)
23
+ activemodel (= 3.0.3)
24
+ activesupport (= 3.0.3)
25
+ arel (~> 2.0.2)
26
+ tzinfo (~> 0.3.23)
27
+ activeresource (3.0.3)
28
+ activemodel (= 3.0.3)
29
+ activesupport (= 3.0.3)
30
+ activesupport (3.0.3)
31
+ arel (2.0.6)
32
+ aws (2.3.34)
33
+ activesupport
34
+ http_connection
35
+ uuidtools
36
+ xml-simple
37
+ builder (2.1.2)
38
+ diff-lcs (1.1.2)
39
+ erubis (2.6.6)
40
+ abstract (>= 1.0.0)
41
+ genspec (0.2.0.prerails3.2)
42
+ rspec (>= 2.0.0.beta.14)
43
+ sc-core-ext (>= 1.2.1)
44
+ git (1.2.5)
45
+ http_connection (1.4.0)
46
+ i18n (0.5.0)
47
+ jeweler (1.5.2)
48
+ bundler (~> 1.0.0)
49
+ git (>= 1.2.5)
50
+ rake
51
+ mail (2.2.14)
52
+ activesupport (>= 2.3.6)
53
+ i18n (>= 0.4.0)
54
+ mime-types (~> 1.16)
55
+ treetop (~> 1.4.8)
56
+ mime-types (1.16)
57
+ polyglot (0.3.1)
58
+ rack (1.2.1)
59
+ rack-mount (0.6.13)
60
+ rack (>= 1.0.0)
61
+ rack-test (0.5.7)
62
+ rack (>= 1.0)
63
+ rails (3.0.3)
64
+ actionmailer (= 3.0.3)
65
+ actionpack (= 3.0.3)
66
+ activerecord (= 3.0.3)
67
+ activeresource (= 3.0.3)
68
+ activesupport (= 3.0.3)
69
+ bundler (~> 1.0)
70
+ railties (= 3.0.3)
71
+ railties (3.0.3)
72
+ actionpack (= 3.0.3)
73
+ activesupport (= 3.0.3)
74
+ rake (>= 0.8.7)
75
+ thor (~> 0.14.4)
76
+ rake (0.8.7)
77
+ rcov (0.9.9)
78
+ rspec (2.3.0)
79
+ rspec-core (~> 2.3.0)
80
+ rspec-expectations (~> 2.3.0)
81
+ rspec-mocks (~> 2.3.0)
82
+ rspec-core (2.3.1)
83
+ rspec-expectations (2.3.0)
84
+ diff-lcs (~> 1.1.2)
85
+ rspec-mocks (2.3.0)
86
+ sc-core-ext (1.2.1)
87
+ activesupport (>= 2.3.5)
88
+ thor (0.14.6)
89
+ treetop (1.4.9)
90
+ polyglot (>= 0.3.1)
91
+ tzinfo (0.3.23)
92
+ uuidtools (2.1.1)
93
+ xml-simple (1.0.12)
94
+
95
+ PLATFORMS
96
+ ruby
97
+
98
+ DEPENDENCIES
99
+ activerecord
100
+ activesupport
101
+ aws
102
+ bundler (~> 1.0.0)
103
+ genspec (= 0.2.0.prerails3.2)
104
+ jeweler (~> 1.5.2)
105
+ rails
106
+ rcov
107
+ rspec (~> 2.3.0)
108
+ thor
data/README.md CHANGED
@@ -40,7 +40,12 @@ model example:
40
40
  t.timestamps
41
41
  end
42
42
  end
43
-
43
+
44
+ # TODO
45
+
46
+ - Add some howtos to wiki
47
+ - Rewrite rails model generator
48
+
44
49
  # LICENSE
45
50
 
46
51
  (The MIT License)
@@ -5,23 +5,27 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{activerecord-simpledb-adapter}
8
- s.version = "0.1.2"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Ilia Ablamonov", "Alex Gorkunov", "Cloud Castle Inc."]
12
- s.date = %q{2011-01-17}
12
+ s.date = %q{2011-01-21}
13
13
  s.email = %q{ilia@flamefork.ru}
14
14
  s.extra_rdoc_files = [
15
15
  "LICENSE.txt",
16
16
  "README.md"
17
17
  ]
18
18
  s.files = [
19
+ "Gemfile",
20
+ "Gemfile.lock",
19
21
  "LICENSE.txt",
20
22
  "README.md",
21
23
  "activerecord-simpledb-adapter.gemspec",
22
24
  "lib/active_record/connection_adapters/simpledb_adapter.rb",
23
25
  "lib/activerecord-simpledb-adapter.rb",
24
26
  "lib/arel/visitors/simpledb.rb",
27
+ "lib/generators/active_record/model/model_generator.rb",
28
+ "lib/generators/active_record/model/templates/model.rb",
25
29
  "lib/tasks/simpledb.rake"
26
30
  ]
27
31
  s.homepage = %q{http://github.com/cloudcastle/activerecord-simpledb-adapter}
@@ -32,11 +36,15 @@ Gem::Specification.new do |s|
32
36
  s.test_files = [
33
37
  "spec/active_record/connection_adapters/simpledb_adapter_spec.rb",
34
38
  "spec/active_record/core_actions_spec.rb",
39
+ "spec/active_record/defaults_spec.rb",
35
40
  "spec/active_record/locking_spec.rb",
36
41
  "spec/active_record/record_attributes_spec.rb",
37
42
  "spec/active_record/validates_spec.rb",
38
43
  "spec/active_record/where_spec.rb",
39
- "spec/spec_helper.rb"
44
+ "spec/assets/db/seeds.rb",
45
+ "spec/generators/model_spec.rb",
46
+ "spec/spec_helper.rb",
47
+ "spec/tasks/rake_spec.rb"
40
48
  ]
41
49
 
42
50
  if s.respond_to? :specification_version then
@@ -51,10 +59,14 @@ Gem::Specification.new do |s|
51
59
  s.add_development_dependency(%q<aws>, [">= 0"])
52
60
  s.add_development_dependency(%q<activerecord>, [">= 0"])
53
61
  s.add_development_dependency(%q<activesupport>, [">= 0"])
62
+ s.add_development_dependency(%q<genspec>, ["= 0.2.0.prerails3.2"])
63
+ s.add_development_dependency(%q<thor>, [">= 0"])
64
+ s.add_development_dependency(%q<rails>, [">= 0"])
54
65
  s.add_runtime_dependency(%q<aws>, ["~> 2.3.0"])
55
66
  s.add_runtime_dependency(%q<activerecord>, ["~> 3.0.3"])
56
67
  s.add_runtime_dependency(%q<activesupport>, ["~> 3.0.3"])
57
68
  s.add_runtime_dependency(%q<uuidtools>, ["~> 2.1.1"])
69
+ s.add_runtime_dependency(%q<rails>, ["~> 3.0.3"])
58
70
  else
59
71
  s.add_dependency(%q<rspec>, ["~> 2.3.0"])
60
72
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
@@ -63,10 +75,14 @@ Gem::Specification.new do |s|
63
75
  s.add_dependency(%q<aws>, [">= 0"])
64
76
  s.add_dependency(%q<activerecord>, [">= 0"])
65
77
  s.add_dependency(%q<activesupport>, [">= 0"])
78
+ s.add_dependency(%q<genspec>, ["= 0.2.0.prerails3.2"])
79
+ s.add_dependency(%q<thor>, [">= 0"])
80
+ s.add_dependency(%q<rails>, [">= 0"])
66
81
  s.add_dependency(%q<aws>, ["~> 2.3.0"])
67
82
  s.add_dependency(%q<activerecord>, ["~> 3.0.3"])
68
83
  s.add_dependency(%q<activesupport>, ["~> 3.0.3"])
69
84
  s.add_dependency(%q<uuidtools>, ["~> 2.1.1"])
85
+ s.add_dependency(%q<rails>, ["~> 3.0.3"])
70
86
  end
71
87
  else
72
88
  s.add_dependency(%q<rspec>, ["~> 2.3.0"])
@@ -76,10 +92,14 @@ Gem::Specification.new do |s|
76
92
  s.add_dependency(%q<aws>, [">= 0"])
77
93
  s.add_dependency(%q<activerecord>, [">= 0"])
78
94
  s.add_dependency(%q<activesupport>, [">= 0"])
95
+ s.add_dependency(%q<genspec>, ["= 0.2.0.prerails3.2"])
96
+ s.add_dependency(%q<thor>, [">= 0"])
97
+ s.add_dependency(%q<rails>, [">= 0"])
79
98
  s.add_dependency(%q<aws>, ["~> 2.3.0"])
80
99
  s.add_dependency(%q<activerecord>, ["~> 3.0.3"])
81
100
  s.add_dependency(%q<activesupport>, ["~> 3.0.3"])
82
101
  s.add_dependency(%q<uuidtools>, ["~> 2.1.1"])
102
+ s.add_dependency(%q<rails>, ["~> 3.0.3"])
83
103
  end
84
104
  end
85
105
 
@@ -88,6 +88,7 @@ module ActiveRecord
88
88
  :server => config[:host],
89
89
  :port => config[:port],
90
90
  :protocol => config[:protocol],
91
+ :connection_mode => :per_thread,
91
92
  :logger => SimpleDBLogger.new(logger)
92
93
  },
93
94
  config
@@ -98,12 +99,37 @@ module ActiveRecord
98
99
  def self.columns_definition options = {}
99
100
  table_definition = ConnectionAdapters::SimpleDbTableDifinition.new(options[:collection_column_name] || DEFAULT_COLLECTION_COLUMN_NAME)
100
101
  table_definition.primary_key(Base.get_primary_key(table_name.to_s.singularize))
102
+
103
+ alias_method_chain :initialize, :defaults
104
+
101
105
  yield table_definition if block_given?
102
106
 
103
107
  ConnectionAdapters::SimpleDBAdapter.set_collection_columns table_name, table_definition
104
108
  end
105
109
 
110
+ def initialize_with_defaults(attrs = nil)
111
+ initialize_without_defaults(attrs) do
112
+ safe_attribute_names = []
113
+ if attrs
114
+ stringified_attrs = attrs.stringify_keys
115
+ safe_attrs = sanitize_for_mass_assignment(stringified_attrs)
116
+ safe_attribute_names = safe_attrs.keys.map { |x| x.to_s }
117
+ end
106
118
 
119
+ ActiveRecord::Base.connection.columns_definition(self.class.table_name).columns_with_defaults.each do |column|
120
+ if !safe_attribute_names.any? { |attr_name| attr_name =~ /^#{column.name}($|\()/ }
121
+ value = if column.default.is_a? Proc
122
+ column.default.call(self)
123
+ else
124
+ column.default
125
+ end
126
+ __send__("#{column.name}=", value)
127
+ changed_attributes.delete(column.name)
128
+ end
129
+ end
130
+ yield(self) if block_given?
131
+ end
132
+ end
107
133
 
108
134
  end
109
135
 
@@ -179,10 +205,14 @@ module ActiveRecord
179
205
 
180
206
  def column(name, type, options = {})
181
207
  raise ConfigurationError, %Q(column '#{collection_column_name}' reserved, please change column name) if name.to_s == collection_column_name
182
- @columns << SimpleDBColumn.new(name.to_s, type.to_sym, options[:limit], options[:precision], options[:to])
208
+ @columns << SimpleDBColumn.new(name.to_s, type.to_sym, options[:limit], options[:precision], options[:to], options[:default])
183
209
  self
184
210
  end
185
211
 
212
+ def columns_with_defaults
213
+ @columns_with_defaults ||= @columns.select { |column| column.default.present? }
214
+ end
215
+
186
216
  end
187
217
 
188
218
  class SimpleDBColumn < Column
@@ -190,10 +220,11 @@ module ActiveRecord
190
220
  DEFAULT_NUMBER_LIMIT = 4
191
221
  DEFAULT_FLOAT_PRECISION = 4
192
222
 
193
- def initialize(name, type, limit = nil, pricision = nil, to = nil)
223
+ def initialize(name, type, limit = nil, pricision = nil, to = nil, default = nil)
194
224
  super name, nil, type, true
195
225
  @limit = limit if limit.present?
196
226
  @precision = precision if precision.present?
227
+ @default = default
197
228
  @to = to
198
229
  end
199
230
 
@@ -409,6 +440,10 @@ module ActiveRecord
409
440
  @connection.delete_domain domain_name
410
441
  end
411
442
 
443
+ def list_domains
444
+ @connection.list_domains[:domains]
445
+ end
446
+
412
447
  private
413
448
 
414
449
  def generate_id
@@ -4,6 +4,10 @@ module ActiveRecordSimpledbAdapter
4
4
  load 'tasks/simpledb.rake'
5
5
  end
6
6
 
7
+ generators do
8
+ require 'generators/active_record/model/model_generator'
9
+ end
10
+
7
11
  ActiveSupport.on_load(:active_record) do
8
12
  require 'active_record/connection_adapters/simpledb_adapter'
9
13
  require 'arel/visitors/simpledb'
@@ -0,0 +1,30 @@
1
+ require 'rails/generators/active_record'
2
+
3
+ module ActiveRecord
4
+ module Generators
5
+ class ModelGenerator < Base
6
+ argument :attributes, :type => :array, :default => [], :banner => "field:type field:type"
7
+
8
+ check_class_collision
9
+
10
+ class_option :timestamps, :type => :boolean
11
+ class_option :parent, :type => :string, :desc => "The parent class for the generated model"
12
+
13
+ def create_model_file
14
+ template 'model.rb', File.join('app/models', class_path, "#{file_name}.rb")
15
+ end
16
+
17
+ hook_for :test_framework
18
+
19
+ def self.source_root
20
+ @source_root ||= File.join(File.dirname(__FILE__), 'templates')
21
+ end
22
+ protected
23
+
24
+ def parent_class_name
25
+ options[:parent] || "ActiveRecord::Base"
26
+ end
27
+
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,13 @@
1
+ class <%= class_name %> < <%= parent_class_name.classify %>
2
+ columns_definition do |c|
3
+ <% for attribute in attributes -%>
4
+ c.<%= attribute.type %> :<%= attribute.name %>
5
+ <% end -%>
6
+ <% if options[:timestamps] %>
7
+ c.timestamps
8
+ <% end -%>
9
+ end
10
+ <% attributes.select {|attr| attr.reference? }.each do |attribute| -%>
11
+ belongs_to :<%= attribute.name %>
12
+ <% end -%>
13
+ end
@@ -1,17 +1,71 @@
1
- Rake::Task['db:create'].clear
2
- Rake::Task['db:seed'].clear
1
+ #clear all predefined db tasks
2
+ Rake::Task.tasks.select{ |task| task.name.match /db:/ }.each { |task| task.clear }
3
3
  namespace :db do
4
- task :create => :load_config do
5
- create_domain(ActiveRecord::Base.configurations[Rails.env])
4
+ desc "Create the SimpleDB domain"
5
+ task :create => :environment do
6
+ create_domain
6
7
  end
7
8
 
9
+ desc "Drop the SimpleDB domain"
10
+ task :drop => :environment do
11
+ con = ActiveRecord::Base.connection
12
+ if con.list_domains.include? domain_name
13
+ con.delete_domain(domain_name)
14
+ log "Domain \"#{domain_name}\" was dropped"
15
+ end
16
+ end
17
+
18
+ desc "Drop and create the SimpleDB domain"
19
+ task :recreate => [:drop, :create]
20
+
21
+ desc "Load the seed data from db/seeds.rb"
8
22
  task :seed => :environment do
9
23
  seed_file = File.join(Rails.root, 'db', 'seeds.rb')
10
- load(seed_file) if File.exist?(seed_file)
24
+ if File.exist?(seed_file)
25
+ load(seed_file)
26
+ log "Data from seeds file was pushed to domain"
27
+ else
28
+ log "Seeds file (#{seed_file}) not found"
29
+ end
30
+ end
31
+
32
+ desc "Re-create the domain and initialize with the seed data"
33
+ task :setup => [:recreate, :seed]
34
+
35
+ namespace :collection do
36
+ desc "Clear all data for collection by name"
37
+ task :clear, [:name, :ccn] => :environment do |t, args|
38
+ ccn = args[:ccn] || 'collection'
39
+ name = args[:name]
40
+ if name.present?
41
+ rows = ActiveRecord::Base.connection.select_all("SELECT id FROM `#{domain_name}` WHERE `#{ccn}` = '#{name}'")
42
+ rows.each do |row|
43
+ ActiveRecord::Base.connection.execute({
44
+ :action => :delete,
45
+ :wheres => {:id => row['id']}
46
+ })
47
+ log "#{row.count} items was deleted."
48
+ end
49
+ else
50
+ log "Please put collection name as \"name=<collection_name>\""
51
+ end
52
+ end
53
+ end
54
+
55
+ def create_domain
56
+ ActiveRecord::Base.connection.create_domain(domain_name)
57
+ log "Sdb domain \"#{domain_name}\" was created"
58
+ end
59
+
60
+ def config
61
+ @config ||= ActiveRecord::Base.configurations[Rails.env]
62
+ end
63
+
64
+ def domain_name
65
+ config[:domain_name] || config['domain_name']
11
66
  end
12
67
 
13
- def create_domain(config)
14
- ActiveRecord::Base.establish_connection(config)
15
- ActiveRecord::Base.connection.create_domain(config['domain_name'])
68
+ def log text
69
+ Rails.logger.info text
16
70
  end
17
71
  end
@@ -0,0 +1,35 @@
1
+ require 'spec_helper'
2
+
3
+ describe "SimpleDBAdapter ActiveRecord default values for attributes" do
4
+
5
+ before :each do
6
+ ActiveRecord::Base.logger = Logger.new(STDOUT)
7
+ ActiveRecord::Base.establish_connection($config)
8
+ ActiveRecord::Base.connection.create_domain($config[:domain_name])
9
+ end
10
+
11
+ after :each do
12
+ ActiveRecord::Base.connection.delete_domain($config[:domain_name])
13
+ end
14
+
15
+ class ModelWithDefaults < ActiveRecord::Base
16
+ columns_definition do |c|
17
+ c.string :p1, :default => 'payload_string1'
18
+ c.string :p2, :default => lambda { "payload_string2" }
19
+ c.integer :p3, :default => 10
20
+ c.float :p4, :default => 10.05
21
+ c.boolean :p5, :default => true
22
+ c.string :p6
23
+ end
24
+ end
25
+
26
+ it "should correct sets after create new instance of model" do
27
+ m = ModelWithDefaults.new
28
+ m.p1.should == "payload_string1"
29
+ m.p2.should == "payload_string2"
30
+ m.p3.should == 10
31
+ m.p4.should == 10.05
32
+ m.p5.should be_true
33
+ m.p6.should be_nil
34
+ end
35
+ end
@@ -0,0 +1 @@
1
+ Person.create!(:login => "admin")
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+ require 'rails'
3
+ require 'rails/generators'
4
+ require 'generators/active_record/model/model_generator'
5
+ require 'genspec'
6
+ describe :model do
7
+ context "with a name argument" do
8
+ with_args "foo", "name:string", "year:integer", "--orm=active_record"
9
+
10
+ it "should generate a model called 'foo' with two columns" do
11
+ subject.should generate("app/models/foo.rb") { |content|
12
+ content.should =~ /class Foo < ActiveRecord\:\:Base/
13
+ content.should =~ /columns_definition do \|c\|\n c.string :name\n c.integer :year\n end/
14
+ }
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,82 @@
1
+ require 'spec_helper'
2
+ require 'rake'
3
+ require 'rails'
4
+
5
+ DOMAIN = CONNECTION_PARAMS[:domain_name]
6
+
7
+ def delete_domain_if_exist
8
+ ActiveRecord::Base.establish_connection(CONNECTION_PARAMS)
9
+ con = ActiveRecord::Base.connection
10
+ con.delete_domain(DOMAIN) if con.list_domains.include? DOMAIN
11
+ end
12
+
13
+ def recreate_domain
14
+ delete_domain_if_exist
15
+ ActiveRecord::Base.connection.create_domain DOMAIN
16
+ end
17
+
18
+ describe "gem rake tasks" do
19
+ before do
20
+ @rake = Rake::Application.new
21
+ Rake.application = @rake
22
+ Rake.application.rake_require "tasks/simpledb"
23
+ Rake::Task.define_task(:environment)
24
+ ActiveRecord::Base.stub!(:configurations).and_return({"development" => CONNECTION_PARAMS})
25
+ Rails.stub!(:env).and_return("development")
26
+ Rails.stub!(:logger).and_return(Logger.new(STDOUT))
27
+ Rails.stub!(:root).and_return(File.dirname(__FILE__) + "/../assets")
28
+ end
29
+
30
+ describe "db:create" do
31
+ before do
32
+ @task_name = "db:create"
33
+ delete_domain_if_exist
34
+ end
35
+ it "should create sdb domain" do
36
+ @rake[@task_name].invoke
37
+ ActiveRecord::Base.connection.list_domains.should include(DOMAIN)
38
+ end
39
+ end
40
+
41
+ describe "db:drop" do
42
+ before do
43
+ @task_name = "db:drop"
44
+ recreate_domain
45
+ end
46
+ it "should drop sdb domain" do
47
+ @rake[@task_name].invoke
48
+ ActiveRecord::Base.connection.list_domains.should_not include(DOMAIN)
49
+ end
50
+ end
51
+
52
+ describe "db:seed" do
53
+ before do
54
+ @task_name = "db:seed"
55
+ recreate_domain
56
+ end
57
+ it "should pushing data to sdb domain" do
58
+ @rake[@task_name].invoke
59
+ Person.count.should == 1
60
+ end
61
+ end
62
+
63
+ describe "db:collection:clear" do
64
+ before do
65
+ @task_name = "db:collection:clear"
66
+ recreate_domain
67
+ Person.create!(Person.valid_params)
68
+ end
69
+
70
+ it "should receive param with name \"name\"" do
71
+ @rake[@task_name].arg_names.should include(:name)
72
+ end
73
+
74
+ it "should receive param with name \"ccn\"" do
75
+ @rake[@task_name].arg_names.should include(:ccn)
76
+ end
77
+ it "should clear collection by name" do
78
+ @rake[@task_name].invoke("people")
79
+ Person.count.should == 0
80
+ end
81
+ end
82
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-simpledb-adapter
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 1
9
8
  - 2
10
- version: 0.1.2
9
+ - 0
10
+ version: 0.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Ilia Ablamonov
@@ -17,7 +17,7 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2011-01-17 00:00:00 +03:00
20
+ date: 2011-01-21 00:00:00 +03:00
21
21
  default_executable:
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency
@@ -126,6 +126,52 @@ dependencies:
126
126
  name: activesupport
127
127
  - !ruby/object:Gem::Dependency
128
128
  version_requirements: &id008 !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - "="
132
+ - !ruby/object:Gem::Version
133
+ hash: -996198974
134
+ segments:
135
+ - 0
136
+ - 2
137
+ - 0
138
+ - prerails3
139
+ - 2
140
+ version: 0.2.0.prerails3.2
141
+ requirement: *id008
142
+ prerelease: false
143
+ type: :development
144
+ name: genspec
145
+ - !ruby/object:Gem::Dependency
146
+ version_requirements: &id009 !ruby/object:Gem::Requirement
147
+ none: false
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ hash: 3
152
+ segments:
153
+ - 0
154
+ version: "0"
155
+ requirement: *id009
156
+ prerelease: false
157
+ type: :development
158
+ name: thor
159
+ - !ruby/object:Gem::Dependency
160
+ version_requirements: &id010 !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ hash: 3
166
+ segments:
167
+ - 0
168
+ version: "0"
169
+ requirement: *id010
170
+ prerelease: false
171
+ type: :development
172
+ name: rails
173
+ - !ruby/object:Gem::Dependency
174
+ version_requirements: &id011 !ruby/object:Gem::Requirement
129
175
  none: false
130
176
  requirements:
131
177
  - - ~>
@@ -136,12 +182,12 @@ dependencies:
136
182
  - 3
137
183
  - 0
138
184
  version: 2.3.0
139
- requirement: *id008
185
+ requirement: *id011
140
186
  prerelease: false
141
187
  type: :runtime
142
188
  name: aws
143
189
  - !ruby/object:Gem::Dependency
144
- version_requirements: &id009 !ruby/object:Gem::Requirement
190
+ version_requirements: &id012 !ruby/object:Gem::Requirement
145
191
  none: false
146
192
  requirements:
147
193
  - - ~>
@@ -152,12 +198,12 @@ dependencies:
152
198
  - 0
153
199
  - 3
154
200
  version: 3.0.3
155
- requirement: *id009
201
+ requirement: *id012
156
202
  prerelease: false
157
203
  type: :runtime
158
204
  name: activerecord
159
205
  - !ruby/object:Gem::Dependency
160
- version_requirements: &id010 !ruby/object:Gem::Requirement
206
+ version_requirements: &id013 !ruby/object:Gem::Requirement
161
207
  none: false
162
208
  requirements:
163
209
  - - ~>
@@ -168,12 +214,12 @@ dependencies:
168
214
  - 0
169
215
  - 3
170
216
  version: 3.0.3
171
- requirement: *id010
217
+ requirement: *id013
172
218
  prerelease: false
173
219
  type: :runtime
174
220
  name: activesupport
175
221
  - !ruby/object:Gem::Dependency
176
- version_requirements: &id011 !ruby/object:Gem::Requirement
222
+ version_requirements: &id014 !ruby/object:Gem::Requirement
177
223
  none: false
178
224
  requirements:
179
225
  - - ~>
@@ -184,10 +230,26 @@ dependencies:
184
230
  - 1
185
231
  - 1
186
232
  version: 2.1.1
187
- requirement: *id011
233
+ requirement: *id014
188
234
  prerelease: false
189
235
  type: :runtime
190
236
  name: uuidtools
237
+ - !ruby/object:Gem::Dependency
238
+ version_requirements: &id015 !ruby/object:Gem::Requirement
239
+ none: false
240
+ requirements:
241
+ - - ~>
242
+ - !ruby/object:Gem::Version
243
+ hash: 1
244
+ segments:
245
+ - 3
246
+ - 0
247
+ - 3
248
+ version: 3.0.3
249
+ requirement: *id015
250
+ prerelease: false
251
+ type: :runtime
252
+ name: rails
191
253
  description:
192
254
  email: ilia@flamefork.ru
193
255
  executables: []
@@ -198,20 +260,28 @@ extra_rdoc_files:
198
260
  - LICENSE.txt
199
261
  - README.md
200
262
  files:
263
+ - Gemfile
264
+ - Gemfile.lock
201
265
  - LICENSE.txt
202
266
  - README.md
203
267
  - activerecord-simpledb-adapter.gemspec
204
268
  - lib/active_record/connection_adapters/simpledb_adapter.rb
205
269
  - lib/activerecord-simpledb-adapter.rb
206
270
  - lib/arel/visitors/simpledb.rb
271
+ - lib/generators/active_record/model/model_generator.rb
272
+ - lib/generators/active_record/model/templates/model.rb
207
273
  - lib/tasks/simpledb.rake
208
274
  - spec/active_record/connection_adapters/simpledb_adapter_spec.rb
209
275
  - spec/active_record/core_actions_spec.rb
276
+ - spec/active_record/defaults_spec.rb
210
277
  - spec/active_record/locking_spec.rb
211
278
  - spec/active_record/record_attributes_spec.rb
212
279
  - spec/active_record/validates_spec.rb
213
280
  - spec/active_record/where_spec.rb
281
+ - spec/assets/db/seeds.rb
282
+ - spec/generators/model_spec.rb
214
283
  - spec/spec_helper.rb
284
+ - spec/tasks/rake_spec.rb
215
285
  has_rdoc: true
216
286
  homepage: http://github.com/cloudcastle/activerecord-simpledb-adapter
217
287
  licenses:
@@ -249,8 +319,12 @@ summary: ActiveRecord SimpleDB adapter
249
319
  test_files:
250
320
  - spec/active_record/connection_adapters/simpledb_adapter_spec.rb
251
321
  - spec/active_record/core_actions_spec.rb
322
+ - spec/active_record/defaults_spec.rb
252
323
  - spec/active_record/locking_spec.rb
253
324
  - spec/active_record/record_attributes_spec.rb
254
325
  - spec/active_record/validates_spec.rb
255
326
  - spec/active_record/where_spec.rb
327
+ - spec/assets/db/seeds.rb
328
+ - spec/generators/model_spec.rb
256
329
  - spec/spec_helper.rb
330
+ - spec/tasks/rake_spec.rb