acts-as-aggregate-root 0.1.0 → 0.1.1

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.
@@ -0,0 +1,4 @@
1
+ class Order < ActiveRecord::Base
2
+ acts_as_aggregate_root
3
+ has_many :sub_orders
4
+ end
@@ -0,0 +1,3 @@
1
+ class OrderItem < ActiveRecord::Base
2
+ belongs_to :sub_order
3
+ end
@@ -0,0 +1,19 @@
1
+ ActiveRecord::Schema.define :version => 0 do
2
+ create_table "orders", :force => true do |t|
3
+ t.column :name, :string
4
+ t.timestamps
5
+ end
6
+
7
+
8
+ create_table "sub_orders", :force => true do |t|
9
+ t.column :order_id, :integer
10
+ t.column :name, :string
11
+ t.timestamps
12
+ end
13
+
14
+ create_table "order_items", :force => true do |t|
15
+ t.column :sub_order_id, :integer
16
+ t.column :name, :string
17
+ t.timestamps
18
+ end
19
+ end
@@ -0,0 +1,61 @@
1
+ $LOAD_PATH << "." unless $LOAD_PATH.include?(".")
2
+
3
+ begin
4
+ require "rubygems"
5
+ require "bundler"
6
+
7
+ if Gem::Version.new(Bundler::VERSION) <= Gem::Version.new("0.9.5")
8
+ raise RuntimeError, "Your bundler version is too old." +
9
+ "Run `gem install bundler` to upgrade."
10
+ end
11
+
12
+ # Set up load paths for all bundled gems
13
+ Bundler.setup
14
+ rescue Bundler::GemNotFound
15
+ raise RuntimeError, "Bundler couldn't find some gems." +
16
+ "Did you run `bundle install`?"
17
+ end
18
+
19
+ Bundler.require
20
+ require File.expand_path('../../lib/acts_as_aggregate_root', __FILE__)
21
+
22
+ unless [].respond_to?(:freq)
23
+ class Array
24
+ def freq
25
+ k=Hash.new(0)
26
+ each {|e| k[e]+=1}
27
+ k
28
+ end
29
+ end
30
+ end
31
+
32
+ ENV['DB'] ||= "mysql"
33
+
34
+ database_yml = File.expand_path('../database.yml', __FILE__)
35
+ if File.exists?(database_yml)
36
+ active_record_configuration = YAML.load_file(database_yml)[ENV['DB']]
37
+
38
+ ActiveRecord::Base.establish_connection(active_record_configuration)
39
+ ActiveRecord::Base.logger = Logger.new(File.join(File.dirname(__FILE__), "debug.log"))
40
+
41
+ ActiveRecord::Base.silence do
42
+ ActiveRecord::Migration.verbose = false
43
+
44
+ load(File.dirname(__FILE__) + '/schema.rb')
45
+ load(File.dirname(__FILE__) + '/order_item.rb')
46
+ load(File.dirname(__FILE__) + '/sub_order.rb')
47
+ load(File.dirname(__FILE__) + '/order.rb')
48
+ end
49
+
50
+ else
51
+ raise "Please create #{database_yml} first to configure your database. Take a look at: #{database_yml}.sample"
52
+ end
53
+
54
+ def clean_database!
55
+ models = [Order, SubOrder,OrderItem]
56
+ models.each do |model|
57
+ ActiveRecord::Base.connection.execute "DELETE FROM #{model.table_name}"
58
+ end
59
+ end
60
+
61
+ clean_database!
@@ -0,0 +1,4 @@
1
+ class SubOrder < ActiveRecord::Base
2
+ belongs_to :order
3
+ has_many :order_items
4
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts-as-aggregate-root
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 0
10
- version: 0.1.0
9
+ - 1
10
+ version: 0.1.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Surya Gaddipati
@@ -18,11 +18,27 @@ cert_chain: []
18
18
  date: 2011-01-28 00:00:00 -06:00
19
19
  default_executable:
20
20
  dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ prerelease: false
23
+ name: rails
24
+ type: :runtime
25
+ version_requirements: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - "="
29
+ - !ruby/object:Gem::Version
30
+ hash: 9
31
+ segments:
32
+ - 2
33
+ - 3
34
+ - 5
35
+ version: 2.3.5
36
+ requirement: *id001
21
37
  - !ruby/object:Gem::Dependency
22
38
  prerelease: false
23
39
  name: shoulda
24
40
  type: :development
25
- version_requirements: &id001 !ruby/object:Gem::Requirement
41
+ version_requirements: &id002 !ruby/object:Gem::Requirement
26
42
  none: false
27
43
  requirements:
28
44
  - - ">="
@@ -31,12 +47,12 @@ dependencies:
31
47
  segments:
32
48
  - 0
33
49
  version: "0"
34
- requirement: *id001
50
+ requirement: *id002
35
51
  - !ruby/object:Gem::Dependency
36
52
  prerelease: false
37
53
  name: bundler
38
54
  type: :development
39
- version_requirements: &id002 !ruby/object:Gem::Requirement
55
+ version_requirements: &id003 !ruby/object:Gem::Requirement
40
56
  none: false
41
57
  requirements:
42
58
  - - ~>
@@ -47,12 +63,12 @@ dependencies:
47
63
  - 0
48
64
  - 0
49
65
  version: 1.0.0
50
- requirement: *id002
66
+ requirement: *id003
51
67
  - !ruby/object:Gem::Dependency
52
68
  prerelease: false
53
69
  name: jeweler
54
70
  type: :development
55
- version_requirements: &id003 !ruby/object:Gem::Requirement
71
+ version_requirements: &id004 !ruby/object:Gem::Requirement
56
72
  none: false
57
73
  requirements:
58
74
  - - ~>
@@ -63,12 +79,12 @@ dependencies:
63
79
  - 5
64
80
  - 2
65
81
  version: 1.5.2
66
- requirement: *id003
82
+ requirement: *id004
67
83
  - !ruby/object:Gem::Dependency
68
84
  prerelease: false
69
85
  name: rcov
70
86
  type: :development
71
- version_requirements: &id004 !ruby/object:Gem::Requirement
87
+ version_requirements: &id005 !ruby/object:Gem::Requirement
72
88
  none: false
73
89
  requirements:
74
90
  - - ">="
@@ -77,7 +93,49 @@ dependencies:
77
93
  segments:
78
94
  - 0
79
95
  version: "0"
80
- requirement: *id004
96
+ requirement: *id005
97
+ - !ruby/object:Gem::Dependency
98
+ prerelease: false
99
+ name: rspec
100
+ type: :development
101
+ version_requirements: &id006 !ruby/object:Gem::Requirement
102
+ none: false
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ hash: 3
107
+ segments:
108
+ - 0
109
+ version: "0"
110
+ requirement: *id006
111
+ - !ruby/object:Gem::Dependency
112
+ prerelease: false
113
+ name: sqlite3-ruby
114
+ type: :development
115
+ version_requirements: &id007 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ hash: 3
121
+ segments:
122
+ - 0
123
+ version: "0"
124
+ requirement: *id007
125
+ - !ruby/object:Gem::Dependency
126
+ prerelease: false
127
+ name: mysql
128
+ type: :development
129
+ version_requirements: &id008 !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ hash: 3
135
+ segments:
136
+ - 0
137
+ version: "0"
138
+ requirement: *id008
81
139
  description: Automatically manages saving, deletion and validating the object graph
82
140
  email: surya.gaddipati@gmail.com
83
141
  executables: []
@@ -95,10 +153,20 @@ files:
95
153
  - README.rdoc
96
154
  - Rakefile
97
155
  - VERSION
98
- - init.rb
99
- - lib/acts-as-aggregate-root.rb
100
- - test/helper.rb
101
- - test/test_acts-as-aggregate-root.rb
156
+ - acts-as-aggregate-root.gemspec
157
+ - acts_as_taggable_on.sqlite3
158
+ - lib/acts_as_aggregate_root.rb
159
+ - lib/acts_as_aggregate_root/acts_as_aggregate_root.rb
160
+ - rails/init.rb
161
+ - spec/acts_as_aggregate_root/acts_as_aggregate_root_spec.rb
162
+ - spec/bm.rb
163
+ - spec/database.yml
164
+ - spec/debug.log
165
+ - spec/order.rb
166
+ - spec/order_item.rb
167
+ - spec/schema.rb
168
+ - spec/spec_helper.rb
169
+ - spec/sub_order.rb
102
170
  has_rdoc: true
103
171
  homepage: http://github.com/suryagaddipati/acts-as-aggregate-root
104
172
  licenses:
@@ -134,5 +202,10 @@ signing_key:
134
202
  specification_version: 3
135
203
  summary: Makes an active record object act as an aggregate root
136
204
  test_files:
137
- - test/helper.rb
138
- - test/test_acts-as-aggregate-root.rb
205
+ - spec/acts_as_aggregate_root/acts_as_aggregate_root_spec.rb
206
+ - spec/bm.rb
207
+ - spec/order.rb
208
+ - spec/order_item.rb
209
+ - spec/schema.rb
210
+ - spec/spec_helper.rb
211
+ - spec/sub_order.rb
data/init.rb DELETED
File without changes
@@ -1,18 +0,0 @@
1
- require 'rubygems'
2
- require 'bundler'
3
- begin
4
- Bundler.setup(:default, :development)
5
- rescue Bundler::BundlerError => e
6
- $stderr.puts e.message
7
- $stderr.puts "Run `bundle install` to install missing gems"
8
- exit e.status_code
9
- end
10
- require 'test/unit'
11
- require 'shoulda'
12
-
13
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
- $LOAD_PATH.unshift(File.dirname(__FILE__))
15
- require 'acts-as-aggregate-root'
16
-
17
- class Test::Unit::TestCase
18
- end
@@ -1,7 +0,0 @@
1
- require 'helper'
2
-
3
- class TestActsAsAggregateRoot < Test::Unit::TestCase
4
- should "probably rename this file and start testing for real" do
5
- flunk "hey buddy, you should probably rename this file and start testing for real"
6
- end
7
- end