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.
- data/Gemfile +4 -0
- data/Gemfile.lock +35 -0
- data/VERSION +1 -1
- data/acts-as-aggregate-root.gemspec +90 -0
- data/acts_as_taggable_on.sqlite3 +0 -0
- data/lib/acts_as_aggregate_root.rb +6 -0
- data/lib/{acts-as-aggregate-root.rb → acts_as_aggregate_root/acts_as_aggregate_root.rb} +3 -4
- data/rails/init.rb +1 -0
- data/spec/acts_as_aggregate_root/acts_as_aggregate_root_spec.rb +50 -0
- data/spec/bm.rb +52 -0
- data/spec/database.yml +10 -0
- data/spec/debug.log +849 -0
- data/spec/order.rb +4 -0
- data/spec/order_item.rb +3 -0
- data/spec/schema.rb +19 -0
- data/spec/spec_helper.rb +61 -0
- data/spec/sub_order.rb +4 -0
- metadata +90 -17
- data/init.rb +0 -0
- data/test/helper.rb +0 -18
- data/test/test_acts-as-aggregate-root.rb +0 -7
data/spec/order.rb
ADDED
data/spec/order_item.rb
ADDED
data/spec/schema.rb
ADDED
|
@@ -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
|
data/spec/spec_helper.rb
ADDED
|
@@ -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!
|
data/spec/sub_order.rb
ADDED
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:
|
|
4
|
+
hash: 25
|
|
5
5
|
prerelease:
|
|
6
6
|
segments:
|
|
7
7
|
- 0
|
|
8
8
|
- 1
|
|
9
|
-
-
|
|
10
|
-
version: 0.1.
|
|
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: &
|
|
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: *
|
|
50
|
+
requirement: *id002
|
|
35
51
|
- !ruby/object:Gem::Dependency
|
|
36
52
|
prerelease: false
|
|
37
53
|
name: bundler
|
|
38
54
|
type: :development
|
|
39
|
-
version_requirements: &
|
|
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: *
|
|
66
|
+
requirement: *id003
|
|
51
67
|
- !ruby/object:Gem::Dependency
|
|
52
68
|
prerelease: false
|
|
53
69
|
name: jeweler
|
|
54
70
|
type: :development
|
|
55
|
-
version_requirements: &
|
|
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: *
|
|
82
|
+
requirement: *id004
|
|
67
83
|
- !ruby/object:Gem::Dependency
|
|
68
84
|
prerelease: false
|
|
69
85
|
name: rcov
|
|
70
86
|
type: :development
|
|
71
|
-
version_requirements: &
|
|
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: *
|
|
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
|
-
-
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
-
|
|
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
|
-
-
|
|
138
|
-
-
|
|
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
|
data/test/helper.rb
DELETED
|
@@ -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
|