mongoid_rails_migrations 0.0.4 → 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.
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
1
  .bundle
2
2
  .DS_Store
3
- .rvmrc
3
+ .rvmrc
4
+ log/
@@ -1,12 +1,13 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Mongoid #:nodoc
4
- class Config #:nodoc
4
+ class Config
5
5
  # Specify whether or not to use timestamps for migration versions
6
- attr_accessor :timestamped_migrations
7
-
8
- def reset
9
- @timestamped_migrations = true
6
+ cattr_accessor :timestamped_migrations
7
+ @@timestamped_migrations ||= true # default true
8
+
9
+ def self.reset
10
+ @@timestamped_migrations = true
10
11
  end
11
12
  end
12
13
  end
@@ -1,8 +1,7 @@
1
1
  namespace :db do
2
-
3
2
  desc 'Drops all the collections for the database for the current Rails.env'
4
3
  task :drop => :environment do
5
- Mongoid.master.collections.each{|col| col.drop unless col.name == 'system.users' }
4
+ Mongoid.master.collections.each {|col| col.drop_indexes && col.drop unless ['system.indexes', 'system.users'].include?(col.name) }
6
5
  end
7
6
 
8
7
  desc 'Load the seed data from db/seeds.rb'
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.platform = Gem::Platform::RUBY
3
3
  s.name = 'mongoid_rails_migrations'
4
- s.version = '0.0.4'
4
+ s.version = '0.0.5'
5
5
  s.summary = 'Data migrations for Mongoid in Active Record style, minus column input.'
6
6
  s.description = 'Sometimes you just need to migrate data.'
7
7
 
data/test/helper.rb CHANGED
@@ -2,4 +2,32 @@ $:.unshift(File.dirname(__FILE__)) unless
2
2
  $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
3
 
4
4
  require 'config'
5
- require 'test/unit'
5
+ require 'test/unit'
6
+
7
+ require 'rake'
8
+ require 'rake/testtask'
9
+ require 'rake/rdoctask'
10
+
11
+ # leave out active_record, in favor of a monogo adapter
12
+ %w(
13
+ action_controller
14
+ action_mailer
15
+ active_resource
16
+ rails/test_unit
17
+ mongoid
18
+ ).each do |framework|
19
+ begin
20
+ require "#{framework}/railtie"
21
+ rescue LoadError
22
+ end
23
+ end
24
+
25
+ module TestMongoidRailsMigrations
26
+ class Application < Rails::Application; end
27
+ end
28
+
29
+ # TestMongoidRailsMigrations::Application.initialize!
30
+ Rails::Application.load_tasks
31
+
32
+ # test overrides (dummy path); Rails is really looking for the app environment.rb
33
+ Rails.configuration.paths.config.environment = 'test/config.rb'
@@ -15,10 +15,14 @@ module Mongoid
15
15
 
16
16
  def setup
17
17
  Mongoid::Migration.verbose = true
18
+ # same as db:drop command in lib/mongoid_rails_migrations/mongoid_ext/railties/database.rake
19
+ Mongoid.master.collections.each {|col| col.drop_indexes && col.drop unless ['system.indexes', 'system.users'].include?(col.name) }
18
20
  end
19
21
 
20
- def teardown
21
- Mongoid.master.collections.reject { |c| c.name == 'system.indexes' }.each(&:drop)
22
+ def teardown; end
23
+
24
+ def test_drop_works
25
+ assert_equal 0, Mongoid::Migrator.current_version, "db:drop should take us down to version 0"
22
26
  end
23
27
 
24
28
  def test_finds_migrations
@@ -32,7 +36,7 @@ module Mongoid
32
36
  end
33
37
 
34
38
  def test_migrator
35
- assert SurveySchema.first.nil?
39
+ assert SurveySchema.first.nil?, "All SurveySchemas should be clear before migration run"
36
40
 
37
41
  Mongoid::Migrator.up(MIGRATIONS_ROOT + "/valid")
38
42
 
@@ -116,12 +120,21 @@ module Mongoid
116
120
  Mongoid::Migrator.migrate(MIGRATIONS_ROOT + "/valid", 500)
117
121
  end
118
122
  end
119
-
123
+
124
+ def test_default_state_of_timestamped_migrations
125
+ assert Mongoid.config.timestamped_migrations, "Mongoid.config.timestamped_migrations should default to true"
126
+ end
127
+
128
+ def test_timestamped_migrations_generates_non_sequential_next_number
129
+ next_number = Mongoid::Generators::Base.next_migration_number(MIGRATIONS_ROOT + "/valid")
130
+ assert_not_equal "20100513063903", next_number
131
+ end
132
+
120
133
  def test_turning_off_timestamped_migrations
121
134
  Mongoid.config.timestamped_migrations = false
122
135
  next_number = Mongoid::Generators::Base.next_migration_number(MIGRATIONS_ROOT + "/valid")
123
136
  assert_equal "20100513063903", next_number
124
137
  end
125
-
138
+
126
139
  end
127
140
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid_rails_migrations
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 21
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 4
10
- version: 0.0.4
9
+ - 5
10
+ version: 0.0.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Alan Da Costa
@@ -42,7 +42,7 @@ dependencies:
42
42
  requirements:
43
43
  - - ">="
44
44
  - !ruby/object:Gem::Version
45
- hash: -2012828558
45
+ hash: 1253177454
46
46
  segments:
47
47
  - 2
48
48
  - 0
@@ -59,7 +59,7 @@ dependencies:
59
59
  requirements:
60
60
  - - ">="
61
61
  - !ruby/object:Gem::Version
62
- hash: 275995622
62
+ hash: -1108848090
63
63
  segments:
64
64
  - 3
65
65
  - 0
@@ -76,7 +76,7 @@ dependencies:
76
76
  requirements:
77
77
  - - ">="
78
78
  - !ruby/object:Gem::Version
79
- hash: 275995622
79
+ hash: -1108848090
80
80
  segments:
81
81
  - 3
82
82
  - 0
@@ -93,7 +93,7 @@ dependencies:
93
93
  requirements:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
- hash: 275995622
96
+ hash: -1108848090
97
97
  segments:
98
98
  - 3
99
99
  - 0