better_delegation 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,5 @@
1
+ README.rdoc
2
+ lib/**/*.rb
3
+ bin/*
4
+ features/**/*.feature
5
+ LICENSE
@@ -0,0 +1,5 @@
1
+ *.sw?
2
+ .DS_Store
3
+ coverage
4
+ rdoc
5
+ pkg
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2009 Josh N. Abbott
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,22 @@
1
+ = better_delegation
2
+
3
+ Better method delegation for ActiveRecord. Specifically when it comes to handling 'nil' objects.
4
+
5
+ While Rails does support method delegation to a nil object, it will always return 'nil' if the object delegated to is nil.
6
+
7
+ This gem will return whatever the object delegated to would return. It's especially useful for example when you have a method that would typically return 'false' (because that's what the database column default is set to). For example an `is_active` method might return false by default. When the delegating object calls `is_active` on a nil object, the nil object would return 'false', not nil.
8
+
9
+ == Note on Patches/Pull Requests
10
+
11
+ * Fork the project.
12
+ * Make your feature addition or bug fix.
13
+ * Add tests for it. This is important so I don't break it in a
14
+ future version unintentionally.
15
+ * Commit, do not mess with rakefile, version, or history.
16
+ (if you want to have your own version, that is fine but
17
+ bump version in a commit by itself I can ignore when I pull)
18
+ * Send me a pull request. Bonus points for topic branches.
19
+
20
+ == Copyright
21
+
22
+ Copyright (c) 2009 Josh N. Abbott. See LICENSE for details.
@@ -0,0 +1,48 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin
5
+ require 'jeweler'
6
+ Jeweler::Tasks.new do |gem|
7
+ gem.name = "better_delegation"
8
+ gem.summary = %Q{Extends the Object#delegate method to work better with `nil` objects.}
9
+ gem.description = %Q{Calling a delegated method on a nil object with better_delegation won't just return nil, it will return the default column value as specified by object being delegated to.}
10
+ gem.email = "joshnabbott@gmail.com"
11
+ gem.homepage = "http://github.com/joshnabbott/better_delegation"
12
+ gem.authors = ["Josh N. Abbott"]
13
+ gem.add_development_dependency "rspec", '>= 1.0'
14
+ # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
15
+ end
16
+ rescue LoadError
17
+ puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
18
+ end
19
+
20
+ require 'spec/rake/spectask'
21
+ Spec::Rake::SpecTask.new(:spec) do |spec|
22
+ spec.libs << 'lib' << 'spec'
23
+ spec.spec_files = FileList['spec/**/*_spec.rb']
24
+ end
25
+
26
+ Spec::Rake::SpecTask.new(:rcov) do |spec|
27
+ spec.libs << 'lib' << 'spec'
28
+ spec.pattern = 'spec/**/*_spec.rb'
29
+ spec.rcov = true
30
+ end
31
+
32
+ task :spec => :check_dependencies
33
+
34
+ task :default => :spec
35
+
36
+ require 'rake/rdoctask'
37
+ Rake::RDocTask.new do |rdoc|
38
+ if File.exist?('VERSION')
39
+ version = File.read('VERSION')
40
+ else
41
+ version = ""
42
+ end
43
+
44
+ rdoc.rdoc_dir = 'rdoc'
45
+ rdoc.title = "better_delegation #{version}"
46
+ rdoc.rdoc_files.include('README*')
47
+ rdoc.rdoc_files.include('lib/**/*.rb')
48
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.0.0
@@ -0,0 +1,60 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{better_delegation}
8
+ s.version = "1.0.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Josh N. Abbott"]
12
+ s.date = %q{2009-11-11}
13
+ s.description = %q{Calling a delegated method on a nil object with better_delegation won't just return nil, it will return the default column value as specified by object being delegated to.}
14
+ s.email = %q{joshnabbott@gmail.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".gitignore",
22
+ "LICENSE",
23
+ "README.rdoc",
24
+ "Rakefile",
25
+ "VERSION",
26
+ "better_delegation.gemspec",
27
+ "init.rb",
28
+ "lib/active_support/core_ext/module/better_delegation.rb",
29
+ "lib/better_delegation.rb",
30
+ "rails/init.rb",
31
+ "spec/better_delegation_spec.rb",
32
+ "spec/db/database.yml",
33
+ "spec/db/schema.rb",
34
+ "spec/debug.log",
35
+ "spec/spec_helper.rb"
36
+ ]
37
+ s.homepage = %q{http://github.com/joshnabbott/better_delegation}
38
+ s.rdoc_options = ["--charset=UTF-8"]
39
+ s.require_paths = ["lib"]
40
+ s.rubygems_version = %q{1.3.5}
41
+ s.summary = %q{Extends the Object#delegate method to work better with `nil` objects.}
42
+ s.test_files = [
43
+ "spec/better_delegation_spec.rb",
44
+ "spec/db/schema.rb",
45
+ "spec/spec_helper.rb"
46
+ ]
47
+
48
+ if s.respond_to? :specification_version then
49
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
50
+ s.specification_version = 3
51
+
52
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
53
+ s.add_development_dependency(%q<rspec>, [">= 1.0"])
54
+ else
55
+ s.add_dependency(%q<rspec>, [">= 1.0"])
56
+ end
57
+ else
58
+ s.add_dependency(%q<rspec>, [">= 1.0"])
59
+ end
60
+ end
data/init.rb ADDED
@@ -0,0 +1 @@
1
+ require File.join(File.dirname(__FILE__), 'rails', 'init')
@@ -0,0 +1,33 @@
1
+ module ActiveRecord
2
+ class Base
3
+ class << self
4
+ def delegate(*methods)
5
+ options = methods.pop
6
+ unless options.is_a?(Hash) && to = options[:to]
7
+ raise ArgumentError, "Delegation needs a target. Supply an options hash with a :to key as the last argument (e.g. delegate :hello, :to => :greeter)."
8
+ end
9
+
10
+ if options[:prefix] == true && options[:to].to_s =~ /^[^a-z_]/
11
+ raise ArgumentError, "Can only automatically set the delegation prefix when delegating to a method."
12
+ end
13
+
14
+ prefix = options[:prefix] && "#{options[:prefix] == true ? to : options[:prefix]}_"
15
+
16
+ methods.each do |method|
17
+ define_method method do
18
+ send(:delegator_for, to).send(method)
19
+ end
20
+ define_method "#{method}=" do |value|
21
+ send(:delegator_for, to).send("#{method}=", value)
22
+ end
23
+ end
24
+ end
25
+ end
26
+
27
+ protected
28
+ def delegator_for(association)
29
+ send("#{association}=", self.class.reflect_on_association(association).klass.new) if send(association).nil?
30
+ send(association)
31
+ end
32
+ end
33
+ end
@@ -0,0 +1 @@
1
+ require File.join(File.dirname(__FILE__), 'active_support', 'core_ext', 'module', 'better_delegation')
@@ -0,0 +1 @@
1
+ require File.join(File.dirname(__FILE__), '..', 'lib', 'better_delegation')
@@ -0,0 +1,44 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ class BillingAddress < ActiveRecord::Base
4
+ belongs_to :person
5
+ end
6
+
7
+ class Person < ActiveRecord::Base
8
+ has_one :billing_address
9
+ delegate :address_one, :is_primary_address, :to => :billing_address
10
+ end
11
+
12
+ describe "delegate" do
13
+ before(:each) do
14
+ @josh = Person.new(:name => 'Josh')
15
+ end
16
+
17
+ describe "Delegator" do
18
+ it "should respond_to delegate" do
19
+ ActiveRecord::Base.should respond_to('delegate')
20
+ end
21
+ end
22
+
23
+ it "should not raise an error with a nil assocation" do
24
+ lambda { @josh.address_one }.should_not raise_error(NoMethodError)
25
+ end
26
+
27
+ it "should create an empty instance of association when there's a nil association" do
28
+ @josh.address_one
29
+ @josh.billing_address.should_not be_nil
30
+ end
31
+
32
+ it "should return associations default value for method delegated to" do
33
+ @josh.address_one.should be_nil
34
+ end
35
+
36
+ it "should return associations default value for method delegated to" do
37
+ @josh.is_primary_address.should eql(false)
38
+ end
39
+
40
+ it "should return the value of the method delegated to" do
41
+ @billing_address = @josh.build_billing_address(:address_one => '123 Happy Lane')
42
+ @josh.address_one.should eql('123 Happy Lane')
43
+ end
44
+ end
@@ -0,0 +1,3 @@
1
+ sqlite3:
2
+ :adapter: sqlite3
3
+ :database: ':memory:'
@@ -0,0 +1,11 @@
1
+ ActiveRecord::Schema.define(:version => 0) do
2
+ create_table :people, :force => true do |t|
3
+ t.string :name
4
+ end
5
+
6
+ create_table :billing_addresses, :force => true do |t|
7
+ t.belongs_to :person
8
+ t.string :address_one
9
+ t.boolean :is_primary_address, :null => false, :default => false
10
+ end
11
+ end
@@ -0,0 +1,869 @@
1
+ # Logfile created on Wed Nov 11 10:32:35 -0800 2009 by /
2
+ SQL (0.2ms) select sqlite_version(*)
3
+ SQL (0.1ms)  SELECT name
4
+ FROM sqlite_master
5
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
6
+ 
7
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
8
+ SQL (0.1ms)  SELECT name
9
+ FROM sqlite_master
10
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
11
+ 
12
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
13
+ SQL (0.1ms)  SELECT name
14
+ FROM sqlite_master
15
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
16
+ 
17
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
18
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
19
+ SQL (0.1ms)  SELECT name
20
+ FROM sqlite_master
21
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
22
+ 
23
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
24
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
25
+ SQL (0.2ms) select sqlite_version(*)
26
+ SQL (0.1ms)  SELECT name
27
+ FROM sqlite_master
28
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
29
+ 
30
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
31
+ SQL (0.1ms)  SELECT name
32
+ FROM sqlite_master
33
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
34
+ 
35
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
36
+ SQL (0.1ms)  SELECT name
37
+ FROM sqlite_master
38
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
39
+ 
40
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
41
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
42
+ SQL (0.2ms)  SELECT name
43
+ FROM sqlite_master
44
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
45
+ 
46
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
47
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
48
+ SQL (0.2ms) select sqlite_version(*)
49
+ SQL (0.1ms)  SELECT name
50
+ FROM sqlite_master
51
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
52
+ 
53
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
54
+ SQL (0.1ms)  SELECT name
55
+ FROM sqlite_master
56
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
57
+ 
58
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
59
+ SQL (0.1ms)  SELECT name
60
+ FROM sqlite_master
61
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
62
+ 
63
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
64
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
65
+ SQL (0.1ms)  SELECT name
66
+ FROM sqlite_master
67
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
68
+ 
69
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
70
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
71
+ SQL (0.2ms) select sqlite_version(*)
72
+ SQL (0.1ms)  SELECT name
73
+ FROM sqlite_master
74
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
75
+ 
76
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
77
+ SQL (0.1ms)  SELECT name
78
+ FROM sqlite_master
79
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
80
+ 
81
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
82
+ SQL (0.1ms)  SELECT name
83
+ FROM sqlite_master
84
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
85
+ 
86
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
87
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
88
+ SQL (0.1ms)  SELECT name
89
+ FROM sqlite_master
90
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
91
+ 
92
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
93
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
94
+ SQL (0.2ms) select sqlite_version(*)
95
+ SQL (0.1ms)  SELECT name
96
+ FROM sqlite_master
97
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
98
+ 
99
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
100
+ SQL (0.1ms)  SELECT name
101
+ FROM sqlite_master
102
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
103
+ 
104
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
105
+ SQL (0.1ms)  SELECT name
106
+ FROM sqlite_master
107
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
108
+ 
109
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
110
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
111
+ SQL (0.1ms)  SELECT name
112
+ FROM sqlite_master
113
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
114
+ 
115
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
116
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
117
+ SQL (0.2ms) select sqlite_version(*)
118
+ SQL (0.1ms)  SELECT name
119
+ FROM sqlite_master
120
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
121
+ 
122
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
123
+ SQL (0.1ms)  SELECT name
124
+ FROM sqlite_master
125
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
126
+ 
127
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
128
+ SQL (0.1ms)  SELECT name
129
+ FROM sqlite_master
130
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
131
+ 
132
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
133
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
134
+ SQL (0.1ms)  SELECT name
135
+ FROM sqlite_master
136
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
137
+ 
138
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
139
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
140
+ SQL (0.2ms) select sqlite_version(*)
141
+ SQL (0.1ms)  SELECT name
142
+ FROM sqlite_master
143
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
144
+ 
145
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
146
+ SQL (0.1ms)  SELECT name
147
+ FROM sqlite_master
148
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
149
+ 
150
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
151
+ SQL (0.1ms)  SELECT name
152
+ FROM sqlite_master
153
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
154
+ 
155
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
156
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
157
+ SQL (0.1ms)  SELECT name
158
+ FROM sqlite_master
159
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
160
+ 
161
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
162
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
163
+ SQL (0.2ms) select sqlite_version(*)
164
+ SQL (0.1ms)  SELECT name
165
+ FROM sqlite_master
166
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
167
+ 
168
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
169
+ SQL (0.1ms)  SELECT name
170
+ FROM sqlite_master
171
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
172
+ 
173
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
174
+ SQL (0.1ms)  SELECT name
175
+ FROM sqlite_master
176
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
177
+ 
178
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
179
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
180
+ SQL (0.1ms)  SELECT name
181
+ FROM sqlite_master
182
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
183
+ 
184
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
185
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
186
+ SQL (0.2ms)  SELECT name
187
+ FROM sqlite_master
188
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
189
+ 
190
+ SQL (0.2ms) select sqlite_version(*)
191
+ SQL (0.1ms)  SELECT name
192
+ FROM sqlite_master
193
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
194
+ 
195
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
196
+ SQL (0.1ms)  SELECT name
197
+ FROM sqlite_master
198
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
199
+ 
200
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
201
+ SQL (0.1ms)  SELECT name
202
+ FROM sqlite_master
203
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
204
+ 
205
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
206
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
207
+ SQL (0.1ms)  SELECT name
208
+ FROM sqlite_master
209
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
210
+ 
211
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
212
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
213
+ SQL (0.1ms)  SELECT name
214
+ FROM sqlite_master
215
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
216
+ 
217
+ SQL (0.2ms) select sqlite_version(*)
218
+ SQL (0.1ms)  SELECT name
219
+ FROM sqlite_master
220
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
221
+ 
222
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
223
+ SQL (0.1ms)  SELECT name
224
+ FROM sqlite_master
225
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
226
+ 
227
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
228
+ SQL (0.1ms)  SELECT name
229
+ FROM sqlite_master
230
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
231
+ 
232
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
233
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
234
+ SQL (0.1ms)  SELECT name
235
+ FROM sqlite_master
236
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
237
+ 
238
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
239
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
240
+ SQL (0.1ms)  SELECT name
241
+ FROM sqlite_master
242
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
243
+ 
244
+ SQL (0.2ms) select sqlite_version(*)
245
+ SQL (0.1ms)  SELECT name
246
+ FROM sqlite_master
247
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
248
+ 
249
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
250
+ SQL (0.1ms)  SELECT name
251
+ FROM sqlite_master
252
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
253
+ 
254
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
255
+ SQL (0.1ms)  SELECT name
256
+ FROM sqlite_master
257
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
258
+ 
259
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
260
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
261
+ SQL (0.1ms)  SELECT name
262
+ FROM sqlite_master
263
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
264
+ 
265
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
266
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
267
+ SQL (0.1ms)  SELECT name
268
+ FROM sqlite_master
269
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
270
+ 
271
+ SQL (0.2ms) select sqlite_version(*)
272
+ SQL (0.1ms)  SELECT name
273
+ FROM sqlite_master
274
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
275
+ 
276
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
277
+ SQL (0.1ms)  SELECT name
278
+ FROM sqlite_master
279
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
280
+ 
281
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
282
+ SQL (0.1ms)  SELECT name
283
+ FROM sqlite_master
284
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
285
+ 
286
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
287
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
288
+ SQL (0.1ms)  SELECT name
289
+ FROM sqlite_master
290
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
291
+ 
292
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
293
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
294
+ SQL (0.1ms)  SELECT name
295
+ FROM sqlite_master
296
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
297
+ 
298
+ SQL (0.2ms) select sqlite_version(*)
299
+ SQL (0.1ms)  SELECT name
300
+ FROM sqlite_master
301
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
302
+ 
303
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
304
+ SQL (0.1ms)  SELECT name
305
+ FROM sqlite_master
306
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
307
+ 
308
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
309
+ SQL (0.1ms)  SELECT name
310
+ FROM sqlite_master
311
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
312
+ 
313
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
314
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
315
+ SQL (0.1ms)  SELECT name
316
+ FROM sqlite_master
317
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
318
+ 
319
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
320
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
321
+ SQL (0.1ms)  SELECT name
322
+ FROM sqlite_master
323
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
324
+ 
325
+ SQL (0.2ms) select sqlite_version(*)
326
+ SQL (0.1ms)  SELECT name
327
+ FROM sqlite_master
328
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
329
+ 
330
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
331
+ SQL (0.1ms)  SELECT name
332
+ FROM sqlite_master
333
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
334
+ 
335
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
336
+ SQL (0.1ms)  SELECT name
337
+ FROM sqlite_master
338
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
339
+ 
340
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
341
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
342
+ SQL (0.1ms)  SELECT name
343
+ FROM sqlite_master
344
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
345
+ 
346
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
347
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
348
+ SQL (0.2ms)  SELECT name
349
+ FROM sqlite_master
350
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
351
+ 
352
+ SQL (0.2ms) select sqlite_version(*)
353
+ SQL (0.1ms)  SELECT name
354
+ FROM sqlite_master
355
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
356
+ 
357
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
358
+ SQL (0.1ms)  SELECT name
359
+ FROM sqlite_master
360
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
361
+ 
362
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
363
+ SQL (0.1ms)  SELECT name
364
+ FROM sqlite_master
365
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
366
+ 
367
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
368
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
369
+ SQL (0.1ms)  SELECT name
370
+ FROM sqlite_master
371
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
372
+ 
373
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
374
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
375
+ SQL (0.2ms)  SELECT name
376
+ FROM sqlite_master
377
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
378
+ 
379
+ SQL (0.2ms) select sqlite_version(*)
380
+ SQL (0.1ms)  SELECT name
381
+ FROM sqlite_master
382
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
383
+ 
384
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
385
+ SQL (0.1ms)  SELECT name
386
+ FROM sqlite_master
387
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
388
+ 
389
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
390
+ SQL (0.1ms)  SELECT name
391
+ FROM sqlite_master
392
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
393
+ 
394
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
395
+ SQL (0.2ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
396
+ SQL (0.1ms)  SELECT name
397
+ FROM sqlite_master
398
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
399
+ 
400
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
401
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
402
+ SQL (0.2ms)  SELECT name
403
+ FROM sqlite_master
404
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
405
+ 
406
+ SQL (0.2ms) select sqlite_version(*)
407
+ SQL (0.1ms)  SELECT name
408
+ FROM sqlite_master
409
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
410
+ 
411
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
412
+ SQL (0.1ms)  SELECT name
413
+ FROM sqlite_master
414
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
415
+ 
416
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
417
+ SQL (0.1ms)  SELECT name
418
+ FROM sqlite_master
419
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
420
+ 
421
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
422
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
423
+ SQL (0.1ms)  SELECT name
424
+ FROM sqlite_master
425
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
426
+ 
427
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
428
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
429
+ SQL (0.2ms) select sqlite_version(*)
430
+ SQL (0.1ms)  SELECT name
431
+ FROM sqlite_master
432
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
433
+ 
434
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
435
+ SQL (0.1ms)  SELECT name
436
+ FROM sqlite_master
437
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
438
+ 
439
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
440
+ SQL (0.1ms)  SELECT name
441
+ FROM sqlite_master
442
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
443
+ 
444
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
445
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
446
+ SQL (0.1ms)  SELECT name
447
+ FROM sqlite_master
448
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
449
+ 
450
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
451
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
452
+ SQL (0.2ms) select sqlite_version(*)
453
+ SQL (0.1ms)  SELECT name
454
+ FROM sqlite_master
455
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
456
+ 
457
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
458
+ SQL (0.1ms)  SELECT name
459
+ FROM sqlite_master
460
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
461
+ 
462
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
463
+ SQL (0.1ms)  SELECT name
464
+ FROM sqlite_master
465
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
466
+ 
467
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
468
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
469
+ SQL (0.1ms)  SELECT name
470
+ FROM sqlite_master
471
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
472
+ 
473
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
474
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
475
+ SQL (0.1ms)  SELECT name
476
+ FROM sqlite_master
477
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
478
+ 
479
+ SQL (0.2ms) select sqlite_version(*)
480
+ SQL (0.1ms)  SELECT name
481
+ FROM sqlite_master
482
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
483
+ 
484
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
485
+ SQL (0.1ms)  SELECT name
486
+ FROM sqlite_master
487
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
488
+ 
489
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
490
+ SQL (0.1ms)  SELECT name
491
+ FROM sqlite_master
492
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
493
+ 
494
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
495
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
496
+ SQL (0.1ms)  SELECT name
497
+ FROM sqlite_master
498
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
499
+ 
500
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
501
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
502
+ SQL (0.2ms) select sqlite_version(*)
503
+ SQL (0.1ms)  SELECT name
504
+ FROM sqlite_master
505
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
506
+ 
507
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
508
+ SQL (0.1ms)  SELECT name
509
+ FROM sqlite_master
510
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
511
+ 
512
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
513
+ SQL (0.1ms)  SELECT name
514
+ FROM sqlite_master
515
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
516
+ 
517
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
518
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
519
+ SQL (0.1ms)  SELECT name
520
+ FROM sqlite_master
521
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
522
+ 
523
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
524
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
525
+ SQL (0.2ms) select sqlite_version(*)
526
+ SQL (0.1ms)  SELECT name
527
+ FROM sqlite_master
528
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
529
+ 
530
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
531
+ SQL (0.1ms)  SELECT name
532
+ FROM sqlite_master
533
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
534
+ 
535
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
536
+ SQL (0.2ms)  SELECT name
537
+ FROM sqlite_master
538
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
539
+ 
540
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
541
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
542
+ SQL (0.1ms)  SELECT name
543
+ FROM sqlite_master
544
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
545
+ 
546
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
547
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
548
+ SQL (0.2ms) select sqlite_version(*)
549
+ SQL (0.1ms)  SELECT name
550
+ FROM sqlite_master
551
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
552
+ 
553
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
554
+ SQL (0.1ms)  SELECT name
555
+ FROM sqlite_master
556
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
557
+ 
558
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
559
+ SQL (0.1ms)  SELECT name
560
+ FROM sqlite_master
561
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
562
+ 
563
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
564
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
565
+ SQL (0.1ms)  SELECT name
566
+ FROM sqlite_master
567
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
568
+ 
569
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
570
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
571
+ SQL (0.2ms) select sqlite_version(*)
572
+ SQL (0.1ms)  SELECT name
573
+ FROM sqlite_master
574
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
575
+ 
576
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
577
+ SQL (0.1ms)  SELECT name
578
+ FROM sqlite_master
579
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
580
+ 
581
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
582
+ SQL (0.1ms)  SELECT name
583
+ FROM sqlite_master
584
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
585
+ 
586
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
587
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
588
+ SQL (0.1ms)  SELECT name
589
+ FROM sqlite_master
590
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
591
+ 
592
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
593
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
594
+ SQL (0.2ms) select sqlite_version(*)
595
+ SQL (0.1ms)  SELECT name
596
+ FROM sqlite_master
597
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
598
+ 
599
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
600
+ SQL (0.1ms)  SELECT name
601
+ FROM sqlite_master
602
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
603
+ 
604
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
605
+ SQL (0.1ms)  SELECT name
606
+ FROM sqlite_master
607
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
608
+ 
609
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
610
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
611
+ SQL (0.1ms)  SELECT name
612
+ FROM sqlite_master
613
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
614
+ 
615
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
616
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
617
+ SQL (0.2ms) select sqlite_version(*)
618
+ SQL (0.1ms)  SELECT name
619
+ FROM sqlite_master
620
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
621
+ 
622
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
623
+ SQL (0.1ms)  SELECT name
624
+ FROM sqlite_master
625
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
626
+ 
627
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
628
+ SQL (0.1ms)  SELECT name
629
+ FROM sqlite_master
630
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
631
+ 
632
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
633
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
634
+ SQL (0.1ms)  SELECT name
635
+ FROM sqlite_master
636
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
637
+ 
638
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
639
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
640
+ SQL (0.2ms) select sqlite_version(*)
641
+ SQL (0.1ms)  SELECT name
642
+ FROM sqlite_master
643
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
644
+ 
645
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
646
+ SQL (0.1ms)  SELECT name
647
+ FROM sqlite_master
648
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
649
+ 
650
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255)) 
651
+ SQL (0.1ms)  SELECT name
652
+ FROM sqlite_master
653
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
654
+ 
655
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
656
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
657
+ SQL (0.1ms)  SELECT name
658
+ FROM sqlite_master
659
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
660
+ 
661
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
662
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
663
+ SQL (0.2ms) select sqlite_version(*)
664
+ SQL (0.1ms)  SELECT name
665
+ FROM sqlite_master
666
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
667
+ 
668
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
669
+ SQL (0.1ms)  SELECT name
670
+ FROM sqlite_master
671
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
672
+ 
673
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255), "is_active" boolean DEFAULT 'f' NOT NULL) 
674
+ SQL (0.1ms)  SELECT name
675
+ FROM sqlite_master
676
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
677
+ 
678
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
679
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
680
+ SQL (0.1ms)  SELECT name
681
+ FROM sqlite_master
682
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
683
+ 
684
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
685
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
686
+ SQL (0.2ms) select sqlite_version(*)
687
+ SQL (0.1ms)  SELECT name
688
+ FROM sqlite_master
689
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
690
+ 
691
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
692
+ SQL (0.1ms)  SELECT name
693
+ FROM sqlite_master
694
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
695
+ 
696
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255), "is_primary_address" boolean DEFAULT 'f' NOT NULL) 
697
+ SQL (0.1ms)  SELECT name
698
+ FROM sqlite_master
699
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
700
+ 
701
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
702
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
703
+ SQL (0.1ms)  SELECT name
704
+ FROM sqlite_master
705
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
706
+ 
707
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
708
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
709
+ SQL (0.2ms) select sqlite_version(*)
710
+ SQL (0.1ms)  SELECT name
711
+ FROM sqlite_master
712
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
713
+ 
714
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
715
+ SQL (0.1ms)  SELECT name
716
+ FROM sqlite_master
717
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
718
+ 
719
+ SQL (0.2ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255), "is_primary_address" boolean DEFAULT 'f' NOT NULL) 
720
+ SQL (0.1ms)  SELECT name
721
+ FROM sqlite_master
722
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
723
+ 
724
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
725
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
726
+ SQL (0.1ms)  SELECT name
727
+ FROM sqlite_master
728
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
729
+ 
730
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
731
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
732
+ SQL (0.2ms) select sqlite_version(*)
733
+ SQL (0.1ms)  SELECT name
734
+ FROM sqlite_master
735
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
736
+ 
737
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
738
+ SQL (0.1ms)  SELECT name
739
+ FROM sqlite_master
740
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
741
+ 
742
+ SQL (0.2ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255), "is_primary_address" boolean DEFAULT 'f' NOT NULL) 
743
+ SQL (0.1ms)  SELECT name
744
+ FROM sqlite_master
745
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
746
+ 
747
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
748
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
749
+ SQL (0.1ms)  SELECT name
750
+ FROM sqlite_master
751
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
752
+ 
753
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
754
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
755
+ SQL (0.2ms) select sqlite_version(*)
756
+ SQL (0.1ms)  SELECT name
757
+ FROM sqlite_master
758
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
759
+ 
760
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
761
+ SQL (0.1ms)  SELECT name
762
+ FROM sqlite_master
763
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
764
+ 
765
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255), "is_primary_address" boolean DEFAULT 'f' NOT NULL) 
766
+ SQL (0.1ms)  SELECT name
767
+ FROM sqlite_master
768
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
769
+ 
770
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
771
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
772
+ SQL (0.1ms)  SELECT name
773
+ FROM sqlite_master
774
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
775
+ 
776
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
777
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
778
+ SQL (0.2ms) select sqlite_version(*)
779
+ SQL (0.1ms)  SELECT name
780
+ FROM sqlite_master
781
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
782
+ 
783
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
784
+ SQL (0.1ms)  SELECT name
785
+ FROM sqlite_master
786
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
787
+ 
788
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255), "is_primary_address" boolean DEFAULT 'f' NOT NULL) 
789
+ SQL (0.1ms)  SELECT name
790
+ FROM sqlite_master
791
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
792
+ 
793
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
794
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
795
+ SQL (0.1ms)  SELECT name
796
+ FROM sqlite_master
797
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
798
+ 
799
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
800
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
801
+ SQL (0.2ms) select sqlite_version(*)
802
+ SQL (0.1ms)  SELECT name
803
+ FROM sqlite_master
804
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
805
+ 
806
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
807
+ SQL (0.1ms)  SELECT name
808
+ FROM sqlite_master
809
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
810
+ 
811
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255), "is_primary_address" boolean DEFAULT 'f' NOT NULL) 
812
+ SQL (0.1ms)  SELECT name
813
+ FROM sqlite_master
814
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
815
+ 
816
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
817
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
818
+ SQL (0.1ms)  SELECT name
819
+ FROM sqlite_master
820
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
821
+ 
822
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
823
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
824
+ SQL (0.2ms) select sqlite_version(*)
825
+ SQL (0.1ms)  SELECT name
826
+ FROM sqlite_master
827
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
828
+ 
829
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
830
+ SQL (0.1ms)  SELECT name
831
+ FROM sqlite_master
832
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
833
+ 
834
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255), "is_primary_address" boolean DEFAULT 'f' NOT NULL) 
835
+ SQL (0.1ms)  SELECT name
836
+ FROM sqlite_master
837
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
838
+ 
839
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
840
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
841
+ SQL (0.1ms)  SELECT name
842
+ FROM sqlite_master
843
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
844
+ 
845
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
846
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
847
+ SQL (0.2ms) select sqlite_version(*)
848
+ SQL (0.1ms)  SELECT name
849
+ FROM sqlite_master
850
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
851
+ 
852
+ SQL (0.2ms) CREATE TABLE "people" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255)) 
853
+ SQL (0.1ms)  SELECT name
854
+ FROM sqlite_master
855
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
856
+ 
857
+ SQL (0.1ms) CREATE TABLE "billing_addresses" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "person_id" integer, "address_one" varchar(255), "is_primary_address" boolean DEFAULT 'f' NOT NULL) 
858
+ SQL (0.1ms)  SELECT name
859
+ FROM sqlite_master
860
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
861
+ 
862
+ SQL (0.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) 
863
+ SQL (0.1ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
864
+ SQL (0.1ms)  SELECT name
865
+ FROM sqlite_master
866
+ WHERE type = 'table' AND NOT name = 'sqlite_sequence'
867
+ 
868
+ SQL (0.0ms) SELECT version FROM "schema_migrations"
869
+ SQL (0.1ms) INSERT INTO "schema_migrations" (version) VALUES ('0')
@@ -0,0 +1,14 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
2
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
+ require 'rubygems'
4
+ require 'active_record'
5
+ require 'better_delegation'
6
+ require 'spec'
7
+ require 'spec/autorun'
8
+
9
+ spec_dir = File.dirname(__FILE__)
10
+ ActiveRecord::Base.logger = Logger.new(spec_dir + "/debug.log")
11
+
12
+ databases = YAML::load(IO.read(spec_dir + "/db/database.yml"))
13
+ ActiveRecord::Base.establish_connection(databases[ENV["DB"] || "sqlite3"])
14
+ load(File.join(spec_dir, "db", "schema.rb"))
metadata ADDED
@@ -0,0 +1,82 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: better_delegation
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Josh N. Abbott
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-11-11 00:00:00 -08: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: "1.0"
24
+ version:
25
+ description: Calling a delegated method on a nil object with better_delegation won't just return nil, it will return the default column value as specified by object being delegated to.
26
+ email: joshnabbott@gmail.com
27
+ executables: []
28
+
29
+ extensions: []
30
+
31
+ extra_rdoc_files:
32
+ - LICENSE
33
+ - README.rdoc
34
+ files:
35
+ - .document
36
+ - .gitignore
37
+ - LICENSE
38
+ - README.rdoc
39
+ - Rakefile
40
+ - VERSION
41
+ - better_delegation.gemspec
42
+ - init.rb
43
+ - lib/active_support/core_ext/module/better_delegation.rb
44
+ - lib/better_delegation.rb
45
+ - rails/init.rb
46
+ - spec/better_delegation_spec.rb
47
+ - spec/db/database.yml
48
+ - spec/db/schema.rb
49
+ - spec/debug.log
50
+ - spec/spec_helper.rb
51
+ has_rdoc: true
52
+ homepage: http://github.com/joshnabbott/better_delegation
53
+ licenses: []
54
+
55
+ post_install_message:
56
+ rdoc_options:
57
+ - --charset=UTF-8
58
+ require_paths:
59
+ - lib
60
+ required_ruby_version: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: "0"
65
+ version:
66
+ required_rubygems_version: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: "0"
71
+ version:
72
+ requirements: []
73
+
74
+ rubyforge_project:
75
+ rubygems_version: 1.3.5
76
+ signing_key:
77
+ specification_version: 3
78
+ summary: Extends the Object#delegate method to work better with `nil` objects.
79
+ test_files:
80
+ - spec/better_delegation_spec.rb
81
+ - spec/db/schema.rb
82
+ - spec/spec_helper.rb