migrant 1.4.1 → 1.4.3
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/.travis.yml +2 -2
- data/README.rdoc +7 -4
- data/VERSION +1 -1
- data/changelog.md +24 -0
- data/lib/dsl/data_types/primitives.rb +10 -2
- data/lib/generators/templates/model.rb +2 -0
- data/lib/migrant/migration_generator.rb +25 -20
- data/migrant.gemspec +2 -2
- data/test/rails_app/app/models/business.rb +1 -0
- data/test/test_data_schema.rb +2 -1
- data/test/test_migration_generator.rb +30 -22
- data/test/verified_output/migrations/businesses_indexed_name.rb +8 -0
- data/test/verified_output/migrations/create_businesses.rb +1 -0
- metadata +123 -209
- checksums.yaml +0 -15
- checksums.yaml.gz.asc +0 -11
- data.tar.gz.asc +0 -11
- metadata.gz.asc +0 -11
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/README.rdoc
CHANGED
@@ -15,10 +15,6 @@ In your Gemfile:
|
|
15
15
|
|
16
16
|
gem "migrant"
|
17
17
|
|
18
|
-
* Rails: 3.0+ (Sorry folks, no plans for Rails 2 support)
|
19
|
-
* Ruby: 1.9, Rbx, JRuby Supported, 1.8 works but unsupported (See Travis CI)
|
20
|
-
* Adapters: Tested with SQLite3, MySQL2, Pg. May work with other ActiveRecord adapters
|
21
|
-
|
22
18
|
== Jumping right in
|
23
19
|
|
24
20
|
Start by creating some models with the structure you need:
|
@@ -125,6 +121,13 @@ Simply run rake db:upgrade or rails generate migrations to get the required migr
|
|
125
121
|
* Changing column types
|
126
122
|
* Rollbacks for all the above
|
127
123
|
|
124
|
+
== Compatibility
|
125
|
+
|
126
|
+
* Officially supported: Ruby 1.9.3, 2.0.0, rbx-head
|
127
|
+
* Unofficially supported: Ruby 1.8.7, 1.9.2
|
128
|
+
* Rails 3.0 (all versions)
|
129
|
+
* Rails 4.0 (only from v1.4.3 onwards)
|
130
|
+
|
128
131
|
== Getting a mock of your model
|
129
132
|
|
130
133
|
> rails console
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.4.
|
1
|
+
1.4.3
|
data/changelog.md
CHANGED
@@ -1,3 +1,27 @@
|
|
1
|
+
### 1.4.3
|
2
|
+
|
3
|
+
[full changelog](http://github.com/pascalh1011/migrant/compare/v1.4.0...v1.4.3)
|
4
|
+
|
5
|
+
* Bug Fixes
|
6
|
+
* Name migrations correctly that only add one index
|
7
|
+
* Now compatible with Rails 4.0
|
8
|
+
|
9
|
+
### 1.4.2
|
10
|
+
|
11
|
+
* Bug Fixes
|
12
|
+
* Generate date fields by default when Date class is given to structure block
|
13
|
+
|
14
|
+
* Misc
|
15
|
+
* Added timestamps to migrant:model generator by default
|
16
|
+
|
17
|
+
### 1.4.1 / 2013-03-16
|
18
|
+
|
19
|
+
[full changelog](http://github.com/pascalh1011/migrant/compare/v1.4.0...v1.4.1)
|
20
|
+
|
21
|
+
* Bug Fixes
|
22
|
+
* Fix term-ansicolor not being detected as a dependency in some bundler versions
|
23
|
+
* Signed with RubyGems OpenPGP (experimental)
|
24
|
+
|
1
25
|
### 1.4.0 / 2013-02-03
|
2
26
|
|
3
27
|
[full changelog](http://github.com/pascalh1011/migrant/compare/v1.3.2...v1.4.0)
|
@@ -22,6 +22,16 @@ module DataType
|
|
22
22
|
|
23
23
|
# Datetime
|
24
24
|
class Date < Base
|
25
|
+
def column_defaults
|
26
|
+
{:type => :date}
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.default_mock
|
30
|
+
::Date.today
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
class Time < Date
|
25
35
|
def column_defaults
|
26
36
|
{:type => :datetime}
|
27
37
|
end
|
@@ -30,8 +40,6 @@ module DataType
|
|
30
40
|
::Time.now
|
31
41
|
end
|
32
42
|
end
|
33
|
-
|
34
|
-
class Time < Date; end; # No different to date type
|
35
43
|
|
36
44
|
# Integers
|
37
45
|
class Fixnum < Base
|
@@ -7,8 +7,8 @@ module Migrant
|
|
7
7
|
# Ensure db/migrate path exists before starting
|
8
8
|
FileUtils.mkdir_p(Rails.root.join('db', 'migrate'))
|
9
9
|
@possible_irreversible_migrations = false
|
10
|
-
|
11
|
-
migrator = ActiveRecord::Migrator.
|
10
|
+
|
11
|
+
migrator = ActiveRecord::Migrator.open(migrations_path)
|
12
12
|
|
13
13
|
unless migrator.pending_migrations.blank?
|
14
14
|
log "You have some pending database migrations. You can either:\n1. Run them with rake db:migrate\n2. Delete them, in which case this task will probably recreate their actions (DON'T do this if they've been in SCM).", :error
|
@@ -19,7 +19,7 @@ module Migrant
|
|
19
19
|
# The next line is an evil hack to recursively load all model files in app/models
|
20
20
|
# This needs to be done because Rails normally lazy-loads these files, resulting a blank descendants list of AR::Base
|
21
21
|
model_root = "#{Rails.root.to_s}/app/models/"
|
22
|
-
|
22
|
+
|
23
23
|
Dir["#{model_root}**/*.rb"].each do |file|
|
24
24
|
if (model_name = file.sub(model_root, '').match(/(.*)?\.rb$/))
|
25
25
|
model_name[1].camelize.constantize
|
@@ -32,13 +32,13 @@ module Migrant
|
|
32
32
|
ActiveRecord::Base.descendants.select { |model| model.structure_defined? && model.schema.requires_migration? }.each do |model|
|
33
33
|
model.reset_column_information # db:migrate doesn't do this
|
34
34
|
@table_name = model.table_name
|
35
|
-
@columns = Hash[[:changed, :added, :deleted, :renamed, :transferred].collect { |a| [a,[]] }]
|
35
|
+
@columns = Hash[[:changed, :added, :deleted, :renamed, :transferred].collect { |a| [a,[]] }]
|
36
36
|
|
37
37
|
if model.table_exists?
|
38
38
|
# Structure ActiveRecord::Base's column information so we can compare it directly to the schema
|
39
39
|
db_schema = Hash[*model.columns.collect {|c| [c.name.to_sym, Hash[*[:type, :limit, :default].map { |type| [type, c.send(type)] }.flatten] ] }.flatten]
|
40
40
|
model.schema.columns.to_a.sort { |a,b| a.to_s <=> b.to_s }.each do |field_name, data_type|
|
41
|
-
if data_type.dangerous_migration_from?(db_schema[field_name]) &&
|
41
|
+
if data_type.dangerous_migration_from?(db_schema[field_name]) &&
|
42
42
|
ask_user("#{model}: '#{field_name}': Converting from ActiveRecord type #{db_schema[field_name][:type]} to #{data_type.column[:type]} could cause data loss. Continue?", %W{Yes No}, true) == "No"
|
43
43
|
log "Aborting dangerous action on #{field_name}."
|
44
44
|
elsif (options = data_type.structure_changes_from(db_schema[field_name]))
|
@@ -49,7 +49,7 @@ module Migrant
|
|
49
49
|
end
|
50
50
|
end
|
51
51
|
end
|
52
|
-
|
52
|
+
|
53
53
|
# Removed rows
|
54
54
|
unless model.schema.partial?
|
55
55
|
db_schema.reject { |field_name, options| field_name.to_s == model.primary_key || model.schema.columns.keys.include?(field_name) }.each do |removed_field_name, options|
|
@@ -68,7 +68,7 @@ module Migrant
|
|
68
68
|
end
|
69
69
|
end
|
70
70
|
end
|
71
|
-
end
|
71
|
+
end
|
72
72
|
end
|
73
73
|
destroyed_columns = @columns[:deleted].reject { |field, options| @columns[:transferred].collect(&:first).include?(field) }
|
74
74
|
unless destroyed_columns.blank?
|
@@ -81,7 +81,12 @@ module Migrant
|
|
81
81
|
# For adapters that can report indexes, add as necessary
|
82
82
|
if ActiveRecord::Base.connection.respond_to?(:indexes)
|
83
83
|
current_indexes = ActiveRecord::Base.connection.indexes(model.table_name).collect { |index| (index.columns.length == 1)? index.columns.first.to_sym : index.columns.collect(&:to_sym) }
|
84
|
-
@indexes = model.schema.indexes.uniq.reject { |index| current_indexes.include?(index) }.collect
|
84
|
+
@indexes = model.schema.indexes.uniq.reject { |index| current_indexes.include?(index) }.collect do |field_name|
|
85
|
+
description = (field_name.respond_to?(:join))? field_name.join('_') : field_name.to_s
|
86
|
+
|
87
|
+
[field_name, description]
|
88
|
+
end
|
89
|
+
|
85
90
|
# Don't spam the user with indexes that columns are being created with
|
86
91
|
@new_indexes = @indexes.reject { |index, options| @columns[:changed].detect { |c| c.first == index } || @columns[:added].detect { |c| c.first == index } }
|
87
92
|
end
|
@@ -89,10 +94,10 @@ module Migrant
|
|
89
94
|
next if @columns[:changed].empty? && @columns[:added].empty? && @columns[:renamed].empty? && @columns[:transferred].empty? && @columns[:deleted].empty? && @indexes.empty? # Nothing to do for this table
|
90
95
|
|
91
96
|
# Example: changed_table_added_something_and_modified_something
|
92
|
-
@activity = 'changed_'+model.table_name+[['added', @columns[:added]], ['modified', @columns[:changed]], ['deleted', destroyed_columns],
|
97
|
+
@activity = 'changed_'+model.table_name+[['added', @columns[:added]], ['modified', @columns[:changed]], ['deleted', destroyed_columns],
|
93
98
|
['moved', @columns[:transferred]], ['renamed', @columns[:renamed]], ['indexed', @new_indexes]].reject { |v| v[1].empty? }.collect { |v| "_#{v[0]}_"+v[1].collect(&:last).join('_') }.join('_and')
|
94
99
|
@activity = @activity.split('_')[0..2].join('_')+'_with_multiple_changes' if @activity.length >= 240 # Most filesystems will raise Errno::ENAMETOOLONG otherwise
|
95
|
-
|
100
|
+
|
96
101
|
render('change_migration')
|
97
102
|
else
|
98
103
|
@activity = "create_#{model.table_name}"
|
@@ -101,16 +106,16 @@ module Migrant
|
|
101
106
|
|
102
107
|
render("create_migration")
|
103
108
|
end
|
104
|
-
|
109
|
+
|
105
110
|
filename = "#{migrations_path}/#{next_migration_number}_#{@activity}.rb"
|
106
111
|
File.open(filename, 'w') { |migration| migration.write(@output) }
|
107
112
|
log "Wrote #{filename}..."
|
108
113
|
end
|
109
|
-
|
114
|
+
|
110
115
|
if @possible_irreversible_migrations
|
111
116
|
log "*** One or more move operations were performed, which potentially could cause data loss on db:rollback. \n*** Please review your migrations before committing!", :warning
|
112
117
|
end
|
113
|
-
|
118
|
+
|
114
119
|
true
|
115
120
|
end
|
116
121
|
|
@@ -118,7 +123,7 @@ module Migrant
|
|
118
123
|
def add_column(name, options)
|
119
124
|
@columns[:added] << [name, options, name]
|
120
125
|
end
|
121
|
-
|
126
|
+
|
122
127
|
def change_column(name, new_schema, old_schema)
|
123
128
|
if new_schema[:default] && new_schema[:default].respond_to?(:to_s) && new_schema[:default].to_s.length < 31
|
124
129
|
change_description = "#{name}_defaulted_to_#{new_schema[:default].to_s.underscore}"
|
@@ -128,11 +133,11 @@ module Migrant
|
|
128
133
|
|
129
134
|
@columns[:changed] << [name, new_schema, old_schema, change_description]
|
130
135
|
end
|
131
|
-
|
136
|
+
|
132
137
|
def delete_column(name, current_structure)
|
133
138
|
@columns[:deleted] << [name, current_structure, name]
|
134
139
|
end
|
135
|
-
|
140
|
+
|
136
141
|
def move_column(old_name, new_name, old_schema, new_schema)
|
137
142
|
if new_schema == old_schema
|
138
143
|
@columns[:renamed] << [old_name, new_name, old_name]
|
@@ -143,11 +148,11 @@ module Migrant
|
|
143
148
|
delete_column(old_name, old_schema)
|
144
149
|
end
|
145
150
|
end
|
146
|
-
|
151
|
+
|
147
152
|
def migrations_path
|
148
153
|
Rails.root.join(ActiveRecord::Migrator.migrations_path)
|
149
154
|
end
|
150
|
-
|
155
|
+
|
151
156
|
include Term::ANSIColor
|
152
157
|
def ask_user(message, choices, warning=false)
|
153
158
|
mappings = choices.uniq.inject({}) do |mappings, choice|
|
@@ -158,7 +163,7 @@ module Migrant
|
|
158
163
|
mappings.merge!(choice_string => choice) unless mappings.values.include?(choice)
|
159
164
|
mappings
|
160
165
|
end
|
161
|
-
|
166
|
+
|
162
167
|
begin
|
163
168
|
prompt = "> #{message} [#{mappings.collect { |shortcut, choice| choice.to_s.sub(shortcut, '('+shortcut+')') }.join(' / ')}]: "
|
164
169
|
if warning
|
@@ -171,7 +176,7 @@ module Migrant
|
|
171
176
|
end until (choice = mappings.detect { |shortcut, choice| [shortcut.downcase,choice.to_s.downcase].include?(input.downcase.strip) })
|
172
177
|
choice.last
|
173
178
|
end
|
174
|
-
|
179
|
+
|
175
180
|
def log(message, type=:info)
|
176
181
|
STDOUT.puts(
|
177
182
|
case type
|
data/migrant.gemspec
CHANGED
@@ -6,7 +6,7 @@ Gem::Specification.new do |s|
|
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Pascal Houliston"]
|
9
|
-
s.date =
|
9
|
+
s.date = Date.today
|
10
10
|
s.description = %q{Easier schema management for Rails that complements your domain model.}
|
11
11
|
s.email = %q{101pascal@gmail.com}
|
12
12
|
s.extra_rdoc_files = [
|
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.summary = %q{All the fun of ActiveRecord without writing your migrations, and with a dash of mocking.}
|
23
23
|
|
24
24
|
s.add_development_dependency(%q<thoughtbot-shoulda>, [">= 0"])
|
25
|
-
s.add_development_dependency(%q<minitest>, ["
|
25
|
+
s.add_development_dependency(%q<minitest>, ["~> 4.0"])
|
26
26
|
s.add_development_dependency(%q<ansi>, [">= 0"])
|
27
27
|
s.add_development_dependency(%q<turn>, [">= 0"])
|
28
28
|
s.add_development_dependency(%q<sqlite3>, [">= 0"])
|
@@ -15,6 +15,7 @@ class Business < ActiveRecord::Base
|
|
15
15
|
mobile :string
|
16
16
|
operating_days 0..6
|
17
17
|
date_established :datetime
|
18
|
+
date_registered Date.today - 10.years
|
18
19
|
next_sale (Time.now + 10.days)
|
19
20
|
verified false, :default => false
|
20
21
|
location :type => :string, :limit => 127
|
data/test/test_data_schema.rb
CHANGED
@@ -28,7 +28,8 @@ class TestDataSchema < Test::Unit::TestCase
|
|
28
28
|
|
29
29
|
should "generate a datetime column when given a date or time example" do
|
30
30
|
assert_schema(Business, :date_established, :type => :datetime)
|
31
|
-
assert_schema(Business, :next_sale, :type => :datetime)
|
31
|
+
assert_schema(Business, :next_sale, :type => :datetime)
|
32
|
+
assert_schema(Business, :date_registered, :type => :date)
|
32
33
|
end
|
33
34
|
|
34
35
|
should "generate a smallint column when given a small range" do
|
@@ -11,7 +11,7 @@ class TestMigrationGenerator < Test::Unit::TestCase
|
|
11
11
|
def generate_migrations
|
12
12
|
Profiler.run(:migration_generator) do
|
13
13
|
assert_equal true, Migrant::MigrationGenerator.new.run, "Migration Generator reported an error"
|
14
|
-
end
|
14
|
+
end
|
15
15
|
end
|
16
16
|
|
17
17
|
def run_against_template(template)
|
@@ -39,7 +39,7 @@ class TestMigrationGenerator < Test::Unit::TestCase
|
|
39
39
|
end
|
40
40
|
false
|
41
41
|
end
|
42
|
-
|
42
|
+
|
43
43
|
def delete_last_migration
|
44
44
|
File.delete(Dir.glob(File.join(File.dirname(__FILE__), 'rails_app', 'db' ,'migrate', '*.rb')).last)
|
45
45
|
end
|
@@ -122,7 +122,7 @@ class TestMigrationGenerator < Test::Unit::TestCase
|
|
122
122
|
assert_equal(Dir.glob(File.join(File.dirname(__FILE__), 'rails_app', 'db' ,'migrate', '*.rb')).select { |migration_file| migration_file.include?('new_field_i_made_up') }.length,
|
123
123
|
1,
|
124
124
|
"Migration should have been generated (without a duplicate)")
|
125
|
-
rake_migrate
|
125
|
+
rake_migrate
|
126
126
|
end
|
127
127
|
|
128
128
|
should "recursively generate mocks for every model" do
|
@@ -137,7 +137,7 @@ class TestMigrationGenerator < Test::Unit::TestCase
|
|
137
137
|
test_mockup_hash OpenStruct.new({'a' => 'b'})
|
138
138
|
test_mockup_serialized_example :serialized, :example => OpenStruct.new({'c' => 'd'})
|
139
139
|
end
|
140
|
-
|
140
|
+
|
141
141
|
|
142
142
|
BusinessCategory.belongs_to(:notaclass, :polymorphic => true)
|
143
143
|
generate_migrations
|
@@ -145,47 +145,47 @@ class TestMigrationGenerator < Test::Unit::TestCase
|
|
145
145
|
BusinessCategory.reset_column_information
|
146
146
|
m = BusinessCategory.mock!
|
147
147
|
mock = BusinessCategory.last
|
148
|
-
|
148
|
+
|
149
149
|
assert_not_nil(mock)
|
150
150
|
assert(mock.test_mockup_of_text.is_a?(String))
|
151
151
|
assert(mock.test_mockup_of_string.is_a?(String))
|
152
152
|
assert(mock.test_mockup_of_integer.is_a?(Fixnum))
|
153
153
|
assert(mock.test_mockup_of_float.is_a?(Float))
|
154
|
-
assert(mock.test_mockup_of_currency.is_a?(BigDecimal))
|
155
|
-
assert(mock.test_mockup_of_datetime.is_a?(Time))
|
154
|
+
assert(mock.test_mockup_of_currency.is_a?(BigDecimal))
|
155
|
+
assert(mock.test_mockup_of_datetime.is_a?(Time))
|
156
156
|
assert(DataType::Base.default_mock.is_a?(String))
|
157
157
|
assert(mock.test_mockup_serialized.is_a?(Hash))
|
158
158
|
assert(mock.test_mockup_hash.is_a?(OpenStruct))
|
159
159
|
assert_equal(mock.test_mockup_hash.a, 'b')
|
160
|
-
assert(mock.test_mockup_serialized_example.is_a?(OpenStruct))
|
160
|
+
assert(mock.test_mockup_serialized_example.is_a?(OpenStruct))
|
161
161
|
assert_equal(mock.test_mockup_serialized_example.c, 'd')
|
162
162
|
end
|
163
|
-
|
163
|
+
|
164
164
|
should "not rescursively generate mocks for an inherited model when prohibited by the user" do
|
165
165
|
category_mock = BusinessCategory.mock!({}, false)
|
166
166
|
assert_not_nil(category_mock)
|
167
167
|
end
|
168
|
-
|
168
|
+
|
169
169
|
should "generate example mocks for an inherited model when STI is in effect" do
|
170
170
|
assert_equal(5.00, Customer.mock.average_rating)
|
171
171
|
assert_equal("somebody@somewhere.com", Customer.mock.email)
|
172
172
|
assert(Customer.mock.is_a?(Customer))
|
173
173
|
end
|
174
|
-
|
175
|
-
|
174
|
+
|
175
|
+
|
176
176
|
should "remove columns when requested and confirmed by the user" do
|
177
|
-
Chameleon.structure
|
177
|
+
Chameleon.structure
|
178
178
|
Chameleon.reset_structure!
|
179
179
|
Chameleon.no_structure
|
180
|
-
|
180
|
+
|
181
181
|
STDIN._mock_responses('D', 'y')
|
182
182
|
run_against_template('deleted_incompatible_spot')
|
183
183
|
end
|
184
|
-
|
184
|
+
|
185
185
|
should "not remove columns when the user does not confirm" do
|
186
186
|
Chameleon.reset_structure!
|
187
187
|
Chameleon.no_structure
|
188
|
-
|
188
|
+
|
189
189
|
STDIN._mock_responses('D', 'n')
|
190
190
|
generate_migrations
|
191
191
|
rake_migrate
|
@@ -193,7 +193,7 @@ class TestMigrationGenerator < Test::Unit::TestCase
|
|
193
193
|
spots
|
194
194
|
end
|
195
195
|
end
|
196
|
-
|
196
|
+
|
197
197
|
should "successfully rename a column missing from the schema to a new column specified by the user" do
|
198
198
|
Chameleon.structure do
|
199
199
|
old_spots
|
@@ -207,11 +207,11 @@ class TestMigrationGenerator < Test::Unit::TestCase
|
|
207
207
|
STDIN._mock_responses('M', 'new_spots')
|
208
208
|
run_against_template('renamed_old_spots')
|
209
209
|
end
|
210
|
-
|
210
|
+
|
211
211
|
should "transfer data to an new incompatible column if the operation is safe" do
|
212
212
|
Chameleon.reset_column_information
|
213
213
|
Chameleon.create!(:new_spots => "22")
|
214
|
-
Chameleon.reset_structure!
|
214
|
+
Chameleon.reset_structure!
|
215
215
|
Chameleon.structure do
|
216
216
|
new_longer_spots "100", :as => :text
|
217
217
|
end
|
@@ -220,13 +220,13 @@ class TestMigrationGenerator < Test::Unit::TestCase
|
|
220
220
|
Chameleon.reset_column_information
|
221
221
|
assert_equal(Chameleon.first.new_longer_spots, "22")
|
222
222
|
end
|
223
|
-
|
223
|
+
|
224
224
|
should "remove any column if a user elects to when a column can't be moved due to incompatible types" do
|
225
|
-
Chameleon.reset_structure!
|
225
|
+
Chameleon.reset_structure!
|
226
226
|
Chameleon.structure do
|
227
227
|
incompatible_spot 5
|
228
228
|
end
|
229
|
-
|
229
|
+
|
230
230
|
STDIN._mock_responses('M', 'incompatible_spot', 'N', 'Y')
|
231
231
|
run_against_template('added_incompatible_spot_and_deleted_spots')
|
232
232
|
end
|
@@ -238,6 +238,14 @@ class TestMigrationGenerator < Test::Unit::TestCase
|
|
238
238
|
|
239
239
|
run_against_template('modified_verified')
|
240
240
|
end
|
241
|
+
|
242
|
+
should "update indexes on a model" do
|
243
|
+
Business.structure do
|
244
|
+
name "The Kernel's favourite fried chickens.", :index => true
|
245
|
+
end
|
246
|
+
|
247
|
+
run_against_template('businesses_indexed_name')
|
248
|
+
end
|
241
249
|
end
|
242
250
|
end
|
243
251
|
|
metadata
CHANGED
@@ -1,19 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: migrant
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
5
|
-
|
4
|
+
version: 1.4.3
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Pascal Houliston
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-07-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: thoughtbot-shoulda
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
17
18
|
requirements:
|
18
19
|
- - ! '>='
|
19
20
|
- !ruby/object:Gem::Version
|
@@ -21,6 +22,7 @@ dependencies:
|
|
21
22
|
type: :development
|
22
23
|
prerelease: false
|
23
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
24
26
|
requirements:
|
25
27
|
- - ! '>='
|
26
28
|
- !ruby/object:Gem::Version
|
@@ -28,20 +30,23 @@ dependencies:
|
|
28
30
|
- !ruby/object:Gem::Dependency
|
29
31
|
name: minitest
|
30
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
31
34
|
requirements:
|
32
|
-
- -
|
35
|
+
- - ~>
|
33
36
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
37
|
+
version: '4.0'
|
35
38
|
type: :development
|
36
39
|
prerelease: false
|
37
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
38
42
|
requirements:
|
39
|
-
- -
|
43
|
+
- - ~>
|
40
44
|
- !ruby/object:Gem::Version
|
41
|
-
version:
|
45
|
+
version: '4.0'
|
42
46
|
- !ruby/object:Gem::Dependency
|
43
47
|
name: ansi
|
44
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
45
50
|
requirements:
|
46
51
|
- - ! '>='
|
47
52
|
- !ruby/object:Gem::Version
|
@@ -49,6 +54,7 @@ dependencies:
|
|
49
54
|
type: :development
|
50
55
|
prerelease: false
|
51
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
52
58
|
requirements:
|
53
59
|
- - ! '>='
|
54
60
|
- !ruby/object:Gem::Version
|
@@ -56,6 +62,7 @@ dependencies:
|
|
56
62
|
- !ruby/object:Gem::Dependency
|
57
63
|
name: turn
|
58
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
59
66
|
requirements:
|
60
67
|
- - ! '>='
|
61
68
|
- !ruby/object:Gem::Version
|
@@ -63,6 +70,7 @@ dependencies:
|
|
63
70
|
type: :development
|
64
71
|
prerelease: false
|
65
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
66
74
|
requirements:
|
67
75
|
- - ! '>='
|
68
76
|
- !ruby/object:Gem::Version
|
@@ -70,6 +78,7 @@ dependencies:
|
|
70
78
|
- !ruby/object:Gem::Dependency
|
71
79
|
name: sqlite3
|
72
80
|
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
73
82
|
requirements:
|
74
83
|
- - ! '>='
|
75
84
|
- !ruby/object:Gem::Version
|
@@ -77,6 +86,7 @@ dependencies:
|
|
77
86
|
type: :development
|
78
87
|
prerelease: false
|
79
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
80
90
|
requirements:
|
81
91
|
- - ! '>='
|
82
92
|
- !ruby/object:Gem::Version
|
@@ -84,6 +94,7 @@ dependencies:
|
|
84
94
|
- !ruby/object:Gem::Dependency
|
85
95
|
name: simplecov
|
86
96
|
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
87
98
|
requirements:
|
88
99
|
- - ! '>='
|
89
100
|
- !ruby/object:Gem::Version
|
@@ -91,6 +102,7 @@ dependencies:
|
|
91
102
|
type: :development
|
92
103
|
prerelease: false
|
93
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
94
106
|
requirements:
|
95
107
|
- - ! '>='
|
96
108
|
- !ruby/object:Gem::Version
|
@@ -98,6 +110,7 @@ dependencies:
|
|
98
110
|
- !ruby/object:Gem::Dependency
|
99
111
|
name: terminal-table
|
100
112
|
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
101
114
|
requirements:
|
102
115
|
- - ! '>='
|
103
116
|
- !ruby/object:Gem::Version
|
@@ -105,6 +118,7 @@ dependencies:
|
|
105
118
|
type: :development
|
106
119
|
prerelease: false
|
107
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
108
122
|
requirements:
|
109
123
|
- - ! '>='
|
110
124
|
- !ruby/object:Gem::Version
|
@@ -112,6 +126,7 @@ dependencies:
|
|
112
126
|
- !ruby/object:Gem::Dependency
|
113
127
|
name: rake
|
114
128
|
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
115
130
|
requirements:
|
116
131
|
- - ! '>='
|
117
132
|
- !ruby/object:Gem::Version
|
@@ -119,6 +134,7 @@ dependencies:
|
|
119
134
|
type: :development
|
120
135
|
prerelease: false
|
121
136
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
122
138
|
requirements:
|
123
139
|
- - ! '>='
|
124
140
|
- !ruby/object:Gem::Version
|
@@ -126,6 +142,7 @@ dependencies:
|
|
126
142
|
- !ruby/object:Gem::Dependency
|
127
143
|
name: simplecov
|
128
144
|
requirement: !ruby/object:Gem::Requirement
|
145
|
+
none: false
|
129
146
|
requirements:
|
130
147
|
- - ! '>='
|
131
148
|
- !ruby/object:Gem::Version
|
@@ -133,6 +150,7 @@ dependencies:
|
|
133
150
|
type: :development
|
134
151
|
prerelease: false
|
135
152
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
136
154
|
requirements:
|
137
155
|
- - ! '>='
|
138
156
|
- !ruby/object:Gem::Version
|
@@ -140,6 +158,7 @@ dependencies:
|
|
140
158
|
- !ruby/object:Gem::Dependency
|
141
159
|
name: rails
|
142
160
|
requirement: !ruby/object:Gem::Requirement
|
161
|
+
none: false
|
143
162
|
requirements:
|
144
163
|
- - ! '>='
|
145
164
|
- !ruby/object:Gem::Version
|
@@ -147,6 +166,7 @@ dependencies:
|
|
147
166
|
type: :runtime
|
148
167
|
prerelease: false
|
149
168
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
150
170
|
requirements:
|
151
171
|
- - ! '>='
|
152
172
|
- !ruby/object:Gem::Version
|
@@ -154,6 +174,7 @@ dependencies:
|
|
154
174
|
- !ruby/object:Gem::Dependency
|
155
175
|
name: faker
|
156
176
|
requirement: !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
157
178
|
requirements:
|
158
179
|
- - ! '>='
|
159
180
|
- !ruby/object:Gem::Version
|
@@ -161,6 +182,7 @@ dependencies:
|
|
161
182
|
type: :runtime
|
162
183
|
prerelease: false
|
163
184
|
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
164
186
|
requirements:
|
165
187
|
- - ! '>='
|
166
188
|
- !ruby/object:Gem::Version
|
@@ -168,6 +190,7 @@ dependencies:
|
|
168
190
|
- !ruby/object:Gem::Dependency
|
169
191
|
name: term-ansicolor
|
170
192
|
requirement: !ruby/object:Gem::Requirement
|
193
|
+
none: false
|
171
194
|
requirements:
|
172
195
|
- - ! '>='
|
173
196
|
- !ruby/object:Gem::Version
|
@@ -175,6 +198,7 @@ dependencies:
|
|
175
198
|
type: :runtime
|
176
199
|
prerelease: false
|
177
200
|
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
none: false
|
178
202
|
requirements:
|
179
203
|
- - ! '>='
|
180
204
|
- !ruby/object:Gem::Version
|
@@ -187,227 +211,117 @@ extra_rdoc_files:
|
|
187
211
|
- LICENSE
|
188
212
|
- README.rdoc
|
189
213
|
files:
|
190
|
-
-
|
191
|
-
|
192
|
-
-
|
193
|
-
|
194
|
-
-
|
195
|
-
|
196
|
-
-
|
197
|
-
|
198
|
-
-
|
199
|
-
|
200
|
-
-
|
201
|
-
|
202
|
-
-
|
203
|
-
|
204
|
-
-
|
205
|
-
|
206
|
-
-
|
207
|
-
|
208
|
-
-
|
209
|
-
|
210
|
-
-
|
211
|
-
|
212
|
-
-
|
213
|
-
|
214
|
-
-
|
215
|
-
|
216
|
-
-
|
217
|
-
|
218
|
-
-
|
219
|
-
|
220
|
-
-
|
221
|
-
|
222
|
-
-
|
223
|
-
|
224
|
-
-
|
225
|
-
|
226
|
-
-
|
227
|
-
|
228
|
-
-
|
229
|
-
|
230
|
-
-
|
231
|
-
|
232
|
-
-
|
233
|
-
|
234
|
-
-
|
235
|
-
|
236
|
-
-
|
237
|
-
|
238
|
-
-
|
239
|
-
|
240
|
-
-
|
241
|
-
|
242
|
-
-
|
243
|
-
|
244
|
-
-
|
245
|
-
|
246
|
-
-
|
247
|
-
|
248
|
-
-
|
249
|
-
|
250
|
-
-
|
251
|
-
|
252
|
-
-
|
253
|
-
|
254
|
-
-
|
255
|
-
|
256
|
-
|
257
|
-
-
|
258
|
-
|
259
|
-
|
260
|
-
-
|
261
|
-
|
262
|
-
-
|
263
|
-
|
264
|
-
|
265
|
-
-
|
266
|
-
|
267
|
-
-
|
268
|
-
|
269
|
-
-
|
270
|
-
|
271
|
-
-
|
272
|
-
|
273
|
-
|
274
|
-
-
|
275
|
-
|
276
|
-
-
|
277
|
-
dGVzdC9yYWlsc19hcHAvYXBwL3ZpZXdzL2xheW91dHMvYXBwbGljYXRpb24u
|
278
|
-
aHRtbC5lcmI=
|
279
|
-
- !binary |-
|
280
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnLnJ1
|
281
|
-
- !binary |-
|
282
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2FwcGxpY2F0aW9uLnJi
|
283
|
-
- !binary |-
|
284
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2Jvb3QucmI=
|
285
|
-
- !binary |-
|
286
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2RhdGFiYXNlLnltbA==
|
287
|
-
- !binary |-
|
288
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2Vudmlyb25tZW50LnJi
|
289
|
-
- !binary |-
|
290
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2Vudmlyb25tZW50cy9kZXZlbG9wbWVu
|
291
|
-
dC5yYg==
|
292
|
-
- !binary |-
|
293
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2Vudmlyb25tZW50cy9wcm9kdWN0aW9u
|
294
|
-
LnJi
|
295
|
-
- !binary |-
|
296
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2Vudmlyb25tZW50cy90ZXN0LnJi
|
297
|
-
- !binary |-
|
298
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2luaXRpYWxpemVycy9iYWNrdHJhY2Vf
|
299
|
-
c2lsZW5jZXJzLnJi
|
300
|
-
- !binary |-
|
301
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2luaXRpYWxpemVycy9pbmZsZWN0aW9u
|
302
|
-
cy5yYg==
|
303
|
-
- !binary |-
|
304
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2luaXRpYWxpemVycy9taW1lX3R5cGVz
|
305
|
-
LnJi
|
306
|
-
- !binary |-
|
307
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2luaXRpYWxpemVycy9zZWNyZXRfdG9r
|
308
|
-
ZW4ucmI=
|
309
|
-
- !binary |-
|
310
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2luaXRpYWxpemVycy9zZXNzaW9uX3N0
|
311
|
-
b3JlLnJi
|
312
|
-
- !binary |-
|
313
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL2xvY2FsZXMvZW4ueW1s
|
314
|
-
- !binary |-
|
315
|
-
dGVzdC9yYWlsc19hcHAvY29uZmlnL3JvdXRlcy5yYg==
|
316
|
-
- !binary |-
|
317
|
-
dGVzdC9yYWlsc19hcHAvZGIvc2VlZHMucmI=
|
318
|
-
- !binary |-
|
319
|
-
dGVzdC9yYWlsc19hcHAvbGliL3Rhc2tzLy5naXRrZWVw
|
320
|
-
- !binary |-
|
321
|
-
dGVzdC9yYWlsc19hcHAvcHVibGljLzQwNC5odG1s
|
322
|
-
- !binary |-
|
323
|
-
dGVzdC9yYWlsc19hcHAvcHVibGljLzQyMi5odG1s
|
324
|
-
- !binary |-
|
325
|
-
dGVzdC9yYWlsc19hcHAvcHVibGljLzUwMC5odG1s
|
326
|
-
- !binary |-
|
327
|
-
dGVzdC9yYWlsc19hcHAvc2NyaXB0L3JhaWxz
|
328
|
-
- !binary |-
|
329
|
-
dGVzdC9yYWlsc19hcHAvdGVzdC9wZXJmb3JtYW5jZS9icm93c2luZ190ZXN0
|
330
|
-
LnJi
|
331
|
-
- !binary |-
|
332
|
-
dGVzdC9yYWlsc19hcHAvdGVzdC90ZXN0X2hlbHBlci5yYg==
|
333
|
-
- !binary |-
|
334
|
-
dGVzdC9yYWlsc19hcHAvdmVuZG9yL3BsdWdpbnMvLmdpdGtlZXA=
|
335
|
-
- !binary |-
|
336
|
-
dGVzdC90ZXN0X2RhdGFfc2NoZW1hLnJi
|
337
|
-
- !binary |-
|
338
|
-
dGVzdC90ZXN0X21pZ3JhdGlvbl9nZW5lcmF0b3IucmI=
|
339
|
-
- !binary |-
|
340
|
-
dGVzdC90ZXN0X3ZhbGlkYXRpb25zLnJi
|
341
|
-
- !binary |-
|
342
|
-
dGVzdC90ZXN0X3p6el9wZXJmb3JtYW5jZS5yYg==
|
343
|
-
- !binary |-
|
344
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9hZGRlZF9pbmNvbXBh
|
345
|
-
dGlibGVfc3BvdF9hbmRfZGVsZXRlZF9zcG90cy5yYg==
|
346
|
-
- !binary |-
|
347
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9idXNpbmVzc19pZC5y
|
348
|
-
Yg==
|
349
|
-
- !binary |-
|
350
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9jaGFtZWxlb25zX2Fk
|
351
|
-
ZGVkX25ld19sb25nZXJfc3BvdHNfYW5kX21vdmVkX25ld19zcG90cy5yYg==
|
352
|
-
- !binary |-
|
353
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9jcmVhdGVfYnVzaW5l
|
354
|
-
c3NfY2F0ZWdvcmllcy5yYg==
|
355
|
-
- !binary |-
|
356
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9jcmVhdGVfYnVzaW5l
|
357
|
-
c3Nlcy5yYg==
|
358
|
-
- !binary |-
|
359
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9jcmVhdGVfY2F0ZWdv
|
360
|
-
cmllcy5yYg==
|
361
|
-
- !binary |-
|
362
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9jcmVhdGVfY2hhbWVs
|
363
|
-
ZW9ucy5yYg==
|
364
|
-
- !binary |-
|
365
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9jcmVhdGVfcmV2aWV3
|
366
|
-
cy5yYg==
|
367
|
-
- !binary |-
|
368
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9jcmVhdGVfdXNlcnMu
|
369
|
-
cmI=
|
370
|
-
- !binary |-
|
371
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9jcmVhdGVkX2F0LnJi
|
372
|
-
- !binary |-
|
373
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9kZWxldGVkX2luY29t
|
374
|
-
cGF0aWJsZV9zcG90LnJi
|
375
|
-
- !binary |-
|
376
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9kZWxldGVkX3Nwb3Rz
|
377
|
-
LnJi
|
378
|
-
- !binary |-
|
379
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9lc3RpbWF0ZWRfdmFs
|
380
|
-
dWVfbm90ZXMucmI=
|
381
|
-
- !binary |-
|
382
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9sYW5kbGluZS5yYg==
|
383
|
-
- !binary |-
|
384
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9tb2RpZmllZF92ZXJp
|
385
|
-
ZmllZC5yYg==
|
386
|
-
- !binary |-
|
387
|
-
dGVzdC92ZXJpZmllZF9vdXRwdXQvbWlncmF0aW9ucy9yZW5hbWVkX29sZF9z
|
388
|
-
cG90cy5yYg==
|
214
|
+
- .gitignore
|
215
|
+
- .rvmrc
|
216
|
+
- .travis.yml
|
217
|
+
- Gemfile
|
218
|
+
- LICENSE
|
219
|
+
- README.rdoc
|
220
|
+
- Rakefile
|
221
|
+
- VERSION
|
222
|
+
- changelog.md
|
223
|
+
- lib/dsl/data_type.rb
|
224
|
+
- lib/dsl/data_types/primitives.rb
|
225
|
+
- lib/dsl/data_types/semantic.rb
|
226
|
+
- lib/generators/migrations.rb
|
227
|
+
- lib/generators/model.rb
|
228
|
+
- lib/generators/templates/change_migration.erb
|
229
|
+
- lib/generators/templates/create_migration.erb
|
230
|
+
- lib/generators/templates/create_migration.rb
|
231
|
+
- lib/generators/templates/model.rb
|
232
|
+
- lib/migrant.rb
|
233
|
+
- lib/migrant/migration_generator.rb
|
234
|
+
- lib/migrant/model_extensions.rb
|
235
|
+
- lib/migrant/schema.rb
|
236
|
+
- lib/pickle/migrant.rb
|
237
|
+
- lib/railtie.rb
|
238
|
+
- lib/simple_object.rb
|
239
|
+
- lib/tasks/db.rake
|
240
|
+
- migrant.gemspec
|
241
|
+
- test/additional_models/review.rb
|
242
|
+
- test/helper.rb
|
243
|
+
- test/rails_app/.gitignore
|
244
|
+
- test/rails_app/README
|
245
|
+
- test/rails_app/Rakefile
|
246
|
+
- test/rails_app/app/controllers/application_controller.rb
|
247
|
+
- test/rails_app/app/helpers/application_helper.rb
|
248
|
+
- test/rails_app/app/models/business.rb
|
249
|
+
- test/rails_app/app/models/business_category.rb
|
250
|
+
- test/rails_app/app/models/category.rb
|
251
|
+
- test/rails_app/app/models/chameleon.rb
|
252
|
+
- test/rails_app/app/models/customer.rb
|
253
|
+
- test/rails_app/app/models/non_migrant_model.rb
|
254
|
+
- test/rails_app/app/models/user.rb
|
255
|
+
- test/rails_app/app/views/layouts/application.html.erb
|
256
|
+
- test/rails_app/config.ru
|
257
|
+
- test/rails_app/config/application.rb
|
258
|
+
- test/rails_app/config/boot.rb
|
259
|
+
- test/rails_app/config/database.yml
|
260
|
+
- test/rails_app/config/environment.rb
|
261
|
+
- test/rails_app/config/environments/development.rb
|
262
|
+
- test/rails_app/config/environments/production.rb
|
263
|
+
- test/rails_app/config/environments/test.rb
|
264
|
+
- test/rails_app/config/initializers/backtrace_silencers.rb
|
265
|
+
- test/rails_app/config/initializers/inflections.rb
|
266
|
+
- test/rails_app/config/initializers/mime_types.rb
|
267
|
+
- test/rails_app/config/initializers/secret_token.rb
|
268
|
+
- test/rails_app/config/initializers/session_store.rb
|
269
|
+
- test/rails_app/config/locales/en.yml
|
270
|
+
- test/rails_app/config/routes.rb
|
271
|
+
- test/rails_app/db/seeds.rb
|
272
|
+
- test/rails_app/lib/tasks/.gitkeep
|
273
|
+
- test/rails_app/public/404.html
|
274
|
+
- test/rails_app/public/422.html
|
275
|
+
- test/rails_app/public/500.html
|
276
|
+
- test/rails_app/script/rails
|
277
|
+
- test/rails_app/test/performance/browsing_test.rb
|
278
|
+
- test/rails_app/test/test_helper.rb
|
279
|
+
- test/rails_app/vendor/plugins/.gitkeep
|
280
|
+
- test/test_data_schema.rb
|
281
|
+
- test/test_migration_generator.rb
|
282
|
+
- test/test_validations.rb
|
283
|
+
- test/test_zzz_performance.rb
|
284
|
+
- test/verified_output/migrations/added_incompatible_spot_and_deleted_spots.rb
|
285
|
+
- test/verified_output/migrations/business_id.rb
|
286
|
+
- test/verified_output/migrations/businesses_indexed_name.rb
|
287
|
+
- test/verified_output/migrations/chameleons_added_new_longer_spots_and_moved_new_spots.rb
|
288
|
+
- test/verified_output/migrations/create_business_categories.rb
|
289
|
+
- test/verified_output/migrations/create_businesses.rb
|
290
|
+
- test/verified_output/migrations/create_categories.rb
|
291
|
+
- test/verified_output/migrations/create_chameleons.rb
|
292
|
+
- test/verified_output/migrations/create_reviews.rb
|
293
|
+
- test/verified_output/migrations/create_users.rb
|
294
|
+
- test/verified_output/migrations/created_at.rb
|
295
|
+
- test/verified_output/migrations/deleted_incompatible_spot.rb
|
296
|
+
- test/verified_output/migrations/deleted_spots.rb
|
297
|
+
- test/verified_output/migrations/estimated_value_notes.rb
|
298
|
+
- test/verified_output/migrations/landline.rb
|
299
|
+
- test/verified_output/migrations/modified_verified.rb
|
300
|
+
- test/verified_output/migrations/renamed_old_spots.rb
|
389
301
|
homepage: http://github.com/pascalh1011/migrant
|
390
302
|
licenses: []
|
391
|
-
metadata: {}
|
392
303
|
post_install_message:
|
393
304
|
rdoc_options: []
|
394
305
|
require_paths:
|
395
306
|
- lib
|
396
307
|
required_ruby_version: !ruby/object:Gem::Requirement
|
308
|
+
none: false
|
397
309
|
requirements:
|
398
310
|
- - ! '>='
|
399
311
|
- !ruby/object:Gem::Version
|
400
312
|
version: '0'
|
401
313
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
314
|
+
none: false
|
402
315
|
requirements:
|
403
316
|
- - ! '>='
|
404
317
|
- !ruby/object:Gem::Version
|
405
318
|
version: '0'
|
406
319
|
requirements: []
|
407
320
|
rubyforge_project:
|
408
|
-
rubygems_version:
|
321
|
+
rubygems_version: 1.8.23
|
409
322
|
signing_key:
|
410
|
-
specification_version:
|
323
|
+
specification_version: 3
|
411
324
|
summary: All the fun of ActiveRecord without writing your migrations, and with a dash
|
412
325
|
of mocking.
|
413
326
|
test_files: []
|
327
|
+
has_rdoc:
|
checksums.yaml
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
---
|
2
|
-
!binary "U0hBMQ==":
|
3
|
-
metadata.gz: !binary |-
|
4
|
-
NTQ5NTI0NDgxOGRmNGU5YTczNWRkNDIxMjFiY2FmM2ViZWM5ZDNjOA==
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
OWViYzNmYzRmN2EzYzAwOGIxYzkwNTNiNTUyOGJjMzVlMDU2NGY0YQ==
|
7
|
-
!binary "U0hBNTEy":
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
YTJjMzZhYmY4YTBmNjk5YTAwZjhkYzQ1NDlmZTAyOTIyZGFlNDkzN2U3YmY5
|
10
|
-
YWQwNDk2NWViYzUzNjZhYmU4MDZkYjY3ZTJkMWRlMTc1MTc1Yjc3NjIyZWJk
|
11
|
-
ZjNlODFlMTMzODZmOGMxM2ViYWRlNGY3MjUwY2FjMTk4M2ZiODg=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
ZjUwM2I4MGYxM2M1OWFlNjk0MTUwY2RiYTM1NDZlNDc1ZjA3NDg5ODk5MzU5
|
14
|
-
OTFiNjE3YTNhMmRhZDk4ZTg2N2RjMTFlZDIzYWViYzAxOTU0YmI5YjBhZjYx
|
15
|
-
MTBjNTA3NDExNDlkZjE0NmQxNTIxNzk2MTMyZDhiMjM2YjhmZTc=
|
checksums.yaml.gz.asc
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
-----BEGIN PGP SIGNATURE-----
|
2
|
-
Version: GnuPG v1.4.13 (Darwin)
|
3
|
-
|
4
|
-
iQEcBAABAgAGBQJRRHSEAAoJEDz+ymTWCmMDY/wIAKOP/Wdhj+WRlsbP118pFOmM
|
5
|
-
Xkr6h4l9GHQwGVtwvCQFjtkqv7TnLIZtEFJhOrfnkm2XYK3KG7R/qLkZrFYqioVV
|
6
|
-
O+BUGkUb+BYzm4E/VbdSOyyw0EEyhnIY5xjhWfpYoA0Fi/lm9wuhLrB1O+awYa+u
|
7
|
-
HfOZHnwRR4K0ufsJbC95De/C213A+Vy0POTWozWkxE4+NjS119LtJ17IZ+95ptpX
|
8
|
-
5Ndoo3weUy43L/blc4mLHtYw07dazA9HlwoCsdh+G12NV6KWdTerhljEO3/8/6JT
|
9
|
-
HXDhfWKyB0NKCMVxZZrkFchZQNwE3xiUUid0am1ZHawYZKlRk0Bcda1li3DpBF8=
|
10
|
-
=MYxJ
|
11
|
-
-----END PGP SIGNATURE-----
|
data.tar.gz.asc
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
-----BEGIN PGP SIGNATURE-----
|
2
|
-
Version: GnuPG v1.4.13 (Darwin)
|
3
|
-
|
4
|
-
iQEcBAABAgAGBQJRRHSCAAoJEDz+ymTWCmMDEjMH/2rEe/Wohm7eLuUgJ5Vr2rTb
|
5
|
-
r9gAMbIiSYdwOw0IvbyDGhyEEte4IKWkJLDg8r8JkJ4AxVNkEorFc6NMts1PUcbq
|
6
|
-
TPJmgjytcKMc61vwvDQv26nuIYGNqUpCQwXwzC6kBTD9SkHqNUqfi6CrBuif15ng
|
7
|
-
xxbYHgzplkqeZ+pLhwRrV9xsGY+sxhBp+n4zHmgpVtRXK0bg6qTEa2doBJXtlSNF
|
8
|
-
RXGSn+IXEeJcUX2hgwA2Ur6JhbCdU6dQ4Htm+Z27INUJEOAY+ISzt9Dd5rofCPNE
|
9
|
-
sFoDUx8uzpOKZBqZesTQEsY1nZQw+4zaPRlM+EChQHUXHxyZXx5yaVL2IMWMzBM=
|
10
|
-
=QCZ1
|
11
|
-
-----END PGP SIGNATURE-----
|
metadata.gz.asc
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
-----BEGIN PGP SIGNATURE-----
|
2
|
-
Version: GnuPG v1.4.13 (Darwin)
|
3
|
-
|
4
|
-
iQEcBAABAgAGBQJRRHR+AAoJEDz+ymTWCmMD7UsH/j/0+BIpkipFNCBaxXqGDTwe
|
5
|
-
UNefilOJ6zJzjETLnGUE0GKR82Q+kp83HwVGr+B3/rdpyg7p5kz3QqT+U8OZ/9Lq
|
6
|
-
8WPcBXRHouGydhFlFdRe3mevUwiEfYkJ865pgUA5R1DFVJRlQShbgD15I+HgyaNx
|
7
|
-
gv2qGeOCslVHo/L2KlvZHw6FJfNXuwhVPMPlDIN60WthCZcMnRG9whztvWCj1b1m
|
8
|
-
XaW5pBLNiAYn2XTom436/S1B31OtcGh5OStRq3VUSxk6r0tTD7iOd9CHU4FnTR+v
|
9
|
-
Vll6SXD95hbRJdqXBrmGb6TleWgdRlNaEWbbeCMyEq2nJqxeMLcH0wd5NXON5LE=
|
10
|
-
=yJe4
|
11
|
-
-----END PGP SIGNATURE-----
|