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
|