locomotive-mongoid_migration 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.rdoc +43 -0
  3. data/Rakefile +37 -0
  4. data/lib/generators/mongoid_migration/USAGE +8 -0
  5. data/lib/generators/mongoid_migration/migration.rb +11 -0
  6. data/lib/generators/mongoid_migration/mongoid_migration_generator.rb +14 -0
  7. data/lib/generators/mongoid_migration/templates/mongoid_migration.rb +9 -0
  8. data/lib/mongoid_migration.rb +2 -0
  9. data/lib/mongoid_migration/migration.rb +373 -0
  10. data/lib/mongoid_migration/railtie.rb +10 -0
  11. data/lib/mongoid_migration/version.rb +3 -0
  12. data/lib/tasks/mongoid_migration_tasks.rake +94 -0
  13. data/test/dummy/Rakefile +7 -0
  14. data/test/dummy/app/assets/javascripts/application.js +7 -0
  15. data/test/dummy/app/assets/stylesheets/application.css +7 -0
  16. data/test/dummy/app/controllers/application_controller.rb +3 -0
  17. data/test/dummy/app/helpers/application_helper.rb +2 -0
  18. data/test/dummy/app/models/product.rb +5 -0
  19. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  20. data/test/dummy/config.ru +4 -0
  21. data/test/dummy/config/application.rb +51 -0
  22. data/test/dummy/config/boot.rb +10 -0
  23. data/test/dummy/config/environment.rb +5 -0
  24. data/test/dummy/config/environments/development.rb +30 -0
  25. data/test/dummy/config/environments/production.rb +60 -0
  26. data/test/dummy/config/environments/test.rb +39 -0
  27. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  28. data/test/dummy/config/initializers/inflections.rb +10 -0
  29. data/test/dummy/config/initializers/mime_types.rb +5 -0
  30. data/test/dummy/config/initializers/secret_token.rb +7 -0
  31. data/test/dummy/config/initializers/session_store.rb +8 -0
  32. data/test/dummy/config/initializers/wrap_parameters.rb +10 -0
  33. data/test/dummy/config/locales/en.yml +5 -0
  34. data/test/dummy/config/mongoid.yml +20 -0
  35. data/test/dummy/config/routes.rb +58 -0
  36. data/test/dummy/lib/generators/mongoid_migration/USAGE +8 -0
  37. data/test/dummy/lib/generators/mongoid_migration/migration.rb +11 -0
  38. data/test/dummy/lib/generators/mongoid_migration/mongoid_migration_generator.rb +14 -0
  39. data/test/dummy/lib/generators/mongoid_migration/templates/mongoid_migration.rb +9 -0
  40. data/test/dummy/log/development.log +30 -0
  41. data/test/dummy/log/test.log +5 -0
  42. data/test/dummy/mongodb/migrate/20111114234935_yo.rb +9 -0
  43. data/test/dummy/mongodb/migrate/20111116172729_foo.rb +9 -0
  44. data/test/dummy/public/404.html +26 -0
  45. data/test/dummy/public/422.html +26 -0
  46. data/test/dummy/public/500.html +26 -0
  47. data/test/dummy/public/favicon.ico +0 -0
  48. data/test/dummy/script/rails +6 -0
  49. data/test/mongoid_migration_test.rb +7 -0
  50. data/test/test_helper.rb +10 -0
  51. metadata +187 -0
@@ -0,0 +1,20 @@
1
+ development:
2
+ host: localhost
3
+ database: dummy_development
4
+
5
+ test:
6
+ host: localhost
7
+ database: dummy_test
8
+
9
+ # set these environment variables on your prod server
10
+ production:
11
+ host: <%= ENV['MONGOID_HOST'] %>
12
+ port: <%= ENV['MONGOID_PORT'] %>
13
+ username: <%= ENV['MONGOID_USERNAME'] %>
14
+ password: <%= ENV['MONGOID_PASSWORD'] %>
15
+ database: <%= ENV['MONGOID_DATABASE'] %>
16
+ # slaves:
17
+ # - host: slave1.local
18
+ # port: 27018
19
+ # - host: slave2.local
20
+ # port: 27019
@@ -0,0 +1,58 @@
1
+ Dummy::Application.routes.draw do
2
+ # The priority is based upon order of creation:
3
+ # first created -> highest priority.
4
+
5
+ # Sample of regular route:
6
+ # match 'products/:id' => 'catalog#view'
7
+ # Keep in mind you can assign values other than :controller and :action
8
+
9
+ # Sample of named route:
10
+ # match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase
11
+ # This route can be invoked with purchase_url(:id => product.id)
12
+
13
+ # Sample resource route (maps HTTP verbs to controller actions automatically):
14
+ # resources :products
15
+
16
+ # Sample resource route with options:
17
+ # resources :products do
18
+ # member do
19
+ # get 'short'
20
+ # post 'toggle'
21
+ # end
22
+ #
23
+ # collection do
24
+ # get 'sold'
25
+ # end
26
+ # end
27
+
28
+ # Sample resource route with sub-resources:
29
+ # resources :products do
30
+ # resources :comments, :sales
31
+ # resource :seller
32
+ # end
33
+
34
+ # Sample resource route with more complex sub-resources
35
+ # resources :products do
36
+ # resources :comments
37
+ # resources :sales do
38
+ # get 'recent', :on => :collection
39
+ # end
40
+ # end
41
+
42
+ # Sample resource route within a namespace:
43
+ # namespace :admin do
44
+ # # Directs /admin/products/* to Admin::ProductsController
45
+ # # (app/controllers/admin/products_controller.rb)
46
+ # resources :products
47
+ # end
48
+
49
+ # You can have the root of your site routed with "root"
50
+ # just remember to delete public/index.html.
51
+ # root :to => 'welcome#index'
52
+
53
+ # See how all your routes lay out with "rake routes"
54
+
55
+ # This is a legacy wild controller route that's not recommended for RESTful applications.
56
+ # Note: This route will make all actions in every controller accessible via GET requests.
57
+ # match ':controller(/:action(/:id(.:format)))'
58
+ end
@@ -0,0 +1,8 @@
1
+ Description:
2
+ Mongoid migration generator generates 'migration' files for mongoid.
3
+
4
+ Example:
5
+ rails generate mongoid_migration Thing
6
+
7
+ This will create migration file:
8
+ mongodb/migrate/20111114234935_thing.rb
@@ -0,0 +1,11 @@
1
+ module MongoidMigration
2
+ module Generators
3
+ module Migration
4
+ # Implement the required interface for Rails::Generators::Migration.
5
+ def next_migration_number(dirname) #:nodoc:
6
+ next_migration_number = current_migration_number(dirname) + 1
7
+ [Time.now.utc.strftime("%Y%m%d%H%M%S"), "%.14d" % next_migration_number].max
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,14 @@
1
+ require 'generators/mongoid_migration/migration'
2
+
3
+ class MongoidMigrationGenerator < Rails::Generators::NamedBase
4
+
5
+ include Rails::Generators::Migration
6
+ extend MongoidMigration::Generators::Migration
7
+
8
+ source_root File.expand_path("../templates", __FILE__)
9
+
10
+ def create_migration_file
11
+ migration_template "mongoid_migration.rb", "mongodb/migrate/#{file_name}.rb"
12
+ end
13
+
14
+ end
@@ -0,0 +1,9 @@
1
+ class <%= migration_class_name %> < MongoidMigration::Migration
2
+ def self.up
3
+
4
+ end
5
+
6
+ def self.down
7
+
8
+ end
9
+ end
@@ -0,0 +1,30 @@
1
+ MongoDB logging. Please note that logging negatively impacts performance and should be disabled for high-performance production apps.
2
+ MONGODB admin['$cmd'].find({:ismaster=>1})
3
+ MONGODB admin['$cmd'].find({:ismaster=>1})
4
+ MONGODB dummy_development['system.namespaces'].find({})
5
+ MONGODB dummy_development['$cmd'].find({:create=>"mongoid_migration_migrations"})
6
+ MONGODB dummy_development['mongoid_migration_migrations'].find({})
7
+ Migrating to Yo (20111114234935)
8
+ MONGODB dummy_development['system.namespaces'].find({})
9
+ MONGODB dummy_development['$cmd'].find({:create=>"products"})
10
+ MONGODB dummy_development['products'].insert([{"_id"=>BSON::ObjectId('5109171bc82cd13666000001'), "name"=>"yo"}])
11
+ MONGODB dummy_development['$cmd'].find({"count"=>"mongoid_migration_migrations", "query"=>{:version=>"20111114234935"}, "fields"=>nil})
12
+ MONGODB dummy_development['mongoid_migration_migrations'].insert([{"_id"=>BSON::ObjectId('5109171bc82cd13666000002'), "_type"=>"MongoidMigration::Migration", "version"=>"20111114234935", "updated_at"=>2013-01-30 12:50:35 UTC, "created_at"=>2013-01-30 12:50:35 UTC}])
13
+ Migrating to Foo (20111116172729)
14
+ MONGODB dummy_development['products'].insert([{"_id"=>BSON::ObjectId('5109171bc82cd13666000003'), "name"=>"foo"}])
15
+ MONGODB dummy_development['$cmd'].find({"count"=>"mongoid_migration_migrations", "query"=>{:version=>"20111116172729"}, "fields"=>nil})
16
+ MONGODB dummy_development['mongoid_migration_migrations'].insert([{"_id"=>BSON::ObjectId('5109171bc82cd13666000004'), "_type"=>"MongoidMigration::Migration", "version"=>"20111116172729", "updated_at"=>2013-01-30 12:50:35 UTC, "created_at"=>2013-01-30 12:50:35 UTC}])
17
+ MongoDB logging. Please note that logging negatively impacts performance and should be disabled for high-performance production apps.
18
+ MONGODB admin['$cmd'].find({:ismaster=>1})
19
+ MONGODB admin['$cmd'].find({:ismaster=>1})
20
+ MONGODB dummy_development['system.namespaces'].find({})
21
+ MONGODB dummy_development['mongoid_migration_migrations'].find({})
22
+ Migrating to Yo (20111114234935)
23
+ Migrating to Foo (20111116172729)
24
+ MongoDB logging. Please note that logging negatively impacts performance and should be disabled for high-performance production apps.
25
+ MONGODB admin['$cmd'].find({:ismaster=>1})
26
+ MONGODB admin['$cmd'].find({:ismaster=>1})
27
+ MONGODB dummy_development['system.namespaces'].find({})
28
+ MONGODB dummy_development['mongoid_migration_migrations'].find({})
29
+ Migrating to Yo (20111114234935)
30
+ Migrating to Foo (20111116172729)
@@ -0,0 +1,5 @@
1
+ MongoDB logging. Please note that logging negatively impacts performance and should be disabled for high-performance production apps.
2
+ MONGODB admin['$cmd'].find({:ismaster=>1})
3
+ MONGODB admin['$cmd'].find({:ismaster=>1})
4
+ MONGODB [DEBUG] Logging level is currently :debug which could negatively impact client-side performance. You should set your logging level no lower than :info in production.
5
+ MONGODB (0.6ms) admin['$cmd'].find({:ismaster=>1}).limit(-1)
@@ -0,0 +1,9 @@
1
+ class Yo < MongoidMigration::Migration
2
+ def self.up
3
+ Product.create name: 'yo'
4
+ end
5
+
6
+ def self.down
7
+ Product.where(name: 'yo').delete
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ class Foo < MongoidMigration::Migration
2
+ def self.up
3
+ Product.create name: 'foo'
4
+ end
5
+
6
+ def self.down
7
+ Product.where(name: 'foo').delete
8
+ end
9
+ end
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/404.html -->
21
+ <div class="dialog">
22
+ <h1>The page you were looking for doesn't exist.</h1>
23
+ <p>You may have mistyped the address or the page may have moved.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/422.html -->
21
+ <div class="dialog">
22
+ <h1>The change you wanted was rejected.</h1>
23
+ <p>Maybe you tried to change something you didn't have access to.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/500.html -->
21
+ <div class="dialog">
22
+ <h1>We're sorry, but something went wrong.</h1>
23
+ <p>We've been notified about this issue and we'll take a look at it shortly.</p>
24
+ </div>
25
+ </body>
26
+ </html>
File without changes
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
5
+ require File.expand_path('../../config/boot', __FILE__)
6
+ require 'rails/commands'
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class MongoidMigrationTest < ActiveSupport::TestCase
4
+ test "truth" do
5
+ assert_kind_of Module, MongoidMigration
6
+ end
7
+ end
@@ -0,0 +1,10 @@
1
+ # Configure Rails Environment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
+ require "rails/test_help"
6
+
7
+ Rails.backtrace_cleaner.remove_silencers!
8
+
9
+ # Load support files
10
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
metadata ADDED
@@ -0,0 +1,187 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: locomotive-mongoid_migration
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.5
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Mark Ronai
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-02-04 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '3.2'
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '3.2'
30
+ - !ruby/object:Gem::Dependency
31
+ name: mongoid
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: '2.4'
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '2.4'
46
+ - !ruby/object:Gem::Dependency
47
+ name: bson_ext
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ description: ActiveRecord::Migration ported to Mongoid
63
+ email:
64
+ - computadude@me.com
65
+ executables: []
66
+ extensions: []
67
+ extra_rdoc_files: []
68
+ files:
69
+ - lib/generators/mongoid_migration/migration.rb
70
+ - lib/generators/mongoid_migration/mongoid_migration_generator.rb
71
+ - lib/generators/mongoid_migration/templates/mongoid_migration.rb
72
+ - lib/generators/mongoid_migration/USAGE
73
+ - lib/mongoid_migration/migration.rb
74
+ - lib/mongoid_migration/railtie.rb
75
+ - lib/mongoid_migration/version.rb
76
+ - lib/mongoid_migration.rb
77
+ - lib/tasks/mongoid_migration_tasks.rake
78
+ - MIT-LICENSE
79
+ - Rakefile
80
+ - README.rdoc
81
+ - test/dummy/app/assets/javascripts/application.js
82
+ - test/dummy/app/assets/stylesheets/application.css
83
+ - test/dummy/app/controllers/application_controller.rb
84
+ - test/dummy/app/helpers/application_helper.rb
85
+ - test/dummy/app/models/product.rb
86
+ - test/dummy/app/views/layouts/application.html.erb
87
+ - test/dummy/config/application.rb
88
+ - test/dummy/config/boot.rb
89
+ - test/dummy/config/environment.rb
90
+ - test/dummy/config/environments/development.rb
91
+ - test/dummy/config/environments/production.rb
92
+ - test/dummy/config/environments/test.rb
93
+ - test/dummy/config/initializers/backtrace_silencers.rb
94
+ - test/dummy/config/initializers/inflections.rb
95
+ - test/dummy/config/initializers/mime_types.rb
96
+ - test/dummy/config/initializers/secret_token.rb
97
+ - test/dummy/config/initializers/session_store.rb
98
+ - test/dummy/config/initializers/wrap_parameters.rb
99
+ - test/dummy/config/locales/en.yml
100
+ - test/dummy/config/mongoid.yml
101
+ - test/dummy/config/routes.rb
102
+ - test/dummy/config.ru
103
+ - test/dummy/lib/generators/mongoid_migration/migration.rb
104
+ - test/dummy/lib/generators/mongoid_migration/mongoid_migration_generator.rb
105
+ - test/dummy/lib/generators/mongoid_migration/templates/mongoid_migration.rb
106
+ - test/dummy/lib/generators/mongoid_migration/USAGE
107
+ - test/dummy/log/development.log
108
+ - test/dummy/log/test.log
109
+ - test/dummy/mongodb/migrate/20111114234935_yo.rb
110
+ - test/dummy/mongodb/migrate/20111116172729_foo.rb
111
+ - test/dummy/public/404.html
112
+ - test/dummy/public/422.html
113
+ - test/dummy/public/500.html
114
+ - test/dummy/public/favicon.ico
115
+ - test/dummy/Rakefile
116
+ - test/dummy/script/rails
117
+ - test/mongoid_migration_test.rb
118
+ - test/test_helper.rb
119
+ homepage: ''
120
+ licenses: []
121
+ post_install_message:
122
+ rdoc_options: []
123
+ require_paths:
124
+ - lib
125
+ required_ruby_version: !ruby/object:Gem::Requirement
126
+ none: false
127
+ requirements:
128
+ - - ! '>='
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ segments:
132
+ - 0
133
+ hash: -286982387382693556
134
+ required_rubygems_version: !ruby/object:Gem::Requirement
135
+ none: false
136
+ requirements:
137
+ - - ! '>='
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ segments:
141
+ - 0
142
+ hash: -286982387382693556
143
+ requirements: []
144
+ rubyforge_project:
145
+ rubygems_version: 1.8.24
146
+ signing_key:
147
+ specification_version: 3
148
+ summary: ActiveRecord::Migration ported to Mongoid
149
+ test_files:
150
+ - test/dummy/app/assets/javascripts/application.js
151
+ - test/dummy/app/assets/stylesheets/application.css
152
+ - test/dummy/app/controllers/application_controller.rb
153
+ - test/dummy/app/helpers/application_helper.rb
154
+ - test/dummy/app/models/product.rb
155
+ - test/dummy/app/views/layouts/application.html.erb
156
+ - test/dummy/config/application.rb
157
+ - test/dummy/config/boot.rb
158
+ - test/dummy/config/environment.rb
159
+ - test/dummy/config/environments/development.rb
160
+ - test/dummy/config/environments/production.rb
161
+ - test/dummy/config/environments/test.rb
162
+ - test/dummy/config/initializers/backtrace_silencers.rb
163
+ - test/dummy/config/initializers/inflections.rb
164
+ - test/dummy/config/initializers/mime_types.rb
165
+ - test/dummy/config/initializers/secret_token.rb
166
+ - test/dummy/config/initializers/session_store.rb
167
+ - test/dummy/config/initializers/wrap_parameters.rb
168
+ - test/dummy/config/locales/en.yml
169
+ - test/dummy/config/mongoid.yml
170
+ - test/dummy/config/routes.rb
171
+ - test/dummy/config.ru
172
+ - test/dummy/lib/generators/mongoid_migration/migration.rb
173
+ - test/dummy/lib/generators/mongoid_migration/mongoid_migration_generator.rb
174
+ - test/dummy/lib/generators/mongoid_migration/templates/mongoid_migration.rb
175
+ - test/dummy/lib/generators/mongoid_migration/USAGE
176
+ - test/dummy/log/development.log
177
+ - test/dummy/log/test.log
178
+ - test/dummy/mongodb/migrate/20111114234935_yo.rb
179
+ - test/dummy/mongodb/migrate/20111116172729_foo.rb
180
+ - test/dummy/public/404.html
181
+ - test/dummy/public/422.html
182
+ - test/dummy/public/500.html
183
+ - test/dummy/public/favicon.ico
184
+ - test/dummy/Rakefile
185
+ - test/dummy/script/rails
186
+ - test/mongoid_migration_test.rb
187
+ - test/test_helper.rb