standalone_migrations 2.1.4 → 2.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZDU2ZDcxNmU0ZTY2MTdmOWRlNWQ4YzQ3YWU3N2I5Y2ZmN2QzMGQyOQ==
4
+ YWM3OTBhMzM0MDNhYmM1M2ZkZDIzNzQ1YjdjNGU2ZjgzNjQ1Y2M1Zg==
5
5
  data.tar.gz: !binary |-
6
- M2EyNmZlMzk4YTA0Mzc2ZDMzY2VlZGZiNjZiM2I0YWE2ZTRiNDFiOQ==
6
+ ZDQwZTMwZjA0NGE3ODg2NWExN2MxZjYyZWZhODY1YTk0NzM3YzcwZQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ODM0MzhkOTllMmVhNDJjOWI4ODQ5ZjEwYmIzMjViOWZhM2MzMzJiY2U4MTY1
10
- M2M4N2ZhMzdlOTBkZDMxZDk1YWFkYmRkMjc5ODUzOWU5OTFhZWZkOTBkZmRl
11
- ODRmNDk2MzBiMjViMzFkNjBkOTQxN2EyZTQzNzhjNWI3NWNkOTA=
9
+ NDY0YTU2MmI4MDcwMzNkMGUwYTg3YTQwNWUzZGFiZGM4Y2Y5ZDY0NDhmNjM5
10
+ MjQ1N2M2MWY4NGU4MWZlMzY0NDNlNmNmOGY5ZjQxMWQ1MzY1NTllZWI3MDMz
11
+ MDE2Y2NiNjg0ZDFkOGM2NTIwYjNiNzk3MGVlNmViMGUyODEzNDM=
12
12
  data.tar.gz: !binary |-
13
- OGQyOTI4M2IxMWE2NWYwNzhjYWUzNjFmYjVkNjg5ZGQ2NzFlMDA5NTZmOTZj
14
- NDE1YzY0NmNkNGYzNzgyYWZlMjE2NWE4ODE5YWRhZTAxMDNiNGE0NjEzMjEw
15
- N2E5N2QyYzY2ZGMzYzc3OThkNTVjNTM4YWMyZWQ4OWIzMWFhZWY=
13
+ MDgzOTMzODhlY2NiMDlkZWE4YzU5YTY4Y2Y3NzU1NDM4ZjE3ZDljM2FmYzJj
14
+ NjhlODFjNzY4NjQ0NjhiYmE0M2UxNGFlMmUxYmY5Y2FiYWYxZDJmZmE2Nzcy
15
+ YmY1YWEwNTdhNDdjNmM1OWE3OWFhNjcxMWMzZWRjM2Y4ZTYxMDk=
data/.travis.yml CHANGED
@@ -2,5 +2,4 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.3
4
4
  - 1.9.2
5
- - 1.8.7
6
- script: bundle exec rake specs:all
5
+ script: bundle exec rake specs:travis
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
 
3
3
  gem 'rake', '~> 10.0'
4
4
  gem 'activerecord', ENV['AR'] || '~> 3.2'
data/Gemfile.lock CHANGED
@@ -1,5 +1,5 @@
1
1
  GEM
2
- remote: http://rubygems.org/
2
+ remote: https://rubygems.org/
3
3
  specs:
4
4
  actionpack (3.2.13)
5
5
  activemodel (= 3.2.13)
data/README.markdown CHANGED
@@ -107,6 +107,18 @@ config:
107
107
  These are the configurable options available. You can omit any of
108
108
  the keys and Standalone Migrations will assume the default values.
109
109
 
110
+ ### on_loaded callbacks
111
+
112
+ If you would like to use an external library such as [foreigner](https://github.com/matthuhiggins/foreigner) with standalone migrations, you can add the following to your `Rakefile`:
113
+
114
+ ```ruby
115
+ require 'foreigner'
116
+
117
+ StandaloneMigrations.on_load do
118
+ Foreigner.load
119
+ end
120
+ ```
121
+
110
122
  ###Multiple database support
111
123
 
112
124
  ####Structure
@@ -248,5 +260,6 @@ Contributors
248
260
  - [Koen Punt](http://www.koen.pt/)
249
261
  - [Parker Moore](http://www.parkermoore.de/)
250
262
  - [Marcell Jusztin](http://www.morcmarc.com)
263
+ - [Eric Hayes](http://ejhay.es)
251
264
 
252
265
  This work is originally based on [Lincoln Stoll's blog post](http://lstoll.net/2008/04/stand-alone-activerecord-migrations/) and [David Welton's post](http://journal.dedasys.com/2007/01/28/using-migrations-outside-of-rails).
data/Rakefile CHANGED
@@ -19,6 +19,12 @@ namespace :specs do
19
19
  t.pattern = "spec/standalone_migrations/**/*_spec.rb"
20
20
  end
21
21
 
22
+ desc "run all specs for travis"
23
+ RSpec::Core::RakeTask.new "travis" do |t|
24
+ t.pattern = "spec/**/*_spec.rb"
25
+ t.rspec_opts = "--tag ~@travis_error"
26
+ end
27
+
22
28
  desc "run all specs including those which uses database"
23
29
  task :all => [:default, :nodb]
24
30
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.1.4
1
+ 2.1.5
@@ -7,6 +7,7 @@ require "active_record"
7
7
 
8
8
  require "standalone_migrations/configurator"
9
9
  require "standalone_migrations/generator"
10
+ require "standalone_migrations/callbacks"
10
11
 
11
12
  railtie_app_path = "#{lib_path}/standalone_migrations/minimal_railtie_config"
12
13
  APP_PATH = File.expand_path(railtie_app_path, __FILE__)
@@ -0,0 +1,13 @@
1
+ module StandaloneMigrations
2
+ @@callbacks ||= []
3
+
4
+ def self.on_loaded(&block)
5
+ @@callbacks << block
6
+ end
7
+
8
+ def self.run_on_load_callbacks
9
+ @@callbacks.each do |callback|
10
+ callback.call
11
+ end
12
+ end
13
+ end
@@ -78,9 +78,9 @@ module StandaloneMigrations
78
78
  config = YAML.load( ERB.new(IO.read(configuration_file)).result )
79
79
  {
80
80
  :config => config["config"] ? config["config"]["database"] : defaults[:config],
81
- :migrate_dir => config["db"] ? config["db"]["migrate"] : defaults[:migrate_dir],
82
- :seeds => config["db"] ? config["db"]["seeds"] : defaults[:seeds],
83
- :schema => config["db"] ? config["db"]["schema"] : defaults[:schema]
81
+ :migrate_dir => (config["db"] || {})["migrate"] || defaults[:migrate_dir],
82
+ :seeds => (config["db"] || {})["seeds"] || defaults[:seeds],
83
+ :schema => (config["db"] || {})["schema"] || defaults[:schema]
84
84
  }
85
85
  end
86
86
 
@@ -3,5 +3,6 @@ namespace :standalone do
3
3
  task :connection do
4
4
  configurator = StandaloneMigrations::Configurator.new
5
5
  ActiveRecord::Base.establish_connection configurator.config_for(Rails.env)
6
+ StandaloneMigrations.run_on_load_callbacks
6
7
  end
7
8
  end
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,4 @@
1
1
  $: << File.join(File.expand_path('../', __FILE__), 'lib')
2
2
 
3
- require 'standalone_migrations/configurator'
3
+ require 'rake'
4
+ require 'standalone_migrations'
@@ -0,0 +1,48 @@
1
+ require 'spec_helper'
2
+
3
+ module StandaloneMigrations
4
+
5
+ describe "Callbacks" do
6
+
7
+ describe ".on_loaded" do
8
+
9
+ it "responds to on_loaded" do
10
+ StandaloneMigrations.should respond_to :on_loaded
11
+ end
12
+
13
+ it "responds to run_on_load_callbacks" do
14
+ StandaloneMigrations.should respond_to :run_on_load_callbacks
15
+ end
16
+
17
+ it "can pass a block do on_loaded" do
18
+ callback_was_called = false
19
+
20
+ StandaloneMigrations.on_loaded do
21
+ callback_was_called = true
22
+ end
23
+
24
+ # invoke the callbacks
25
+ StandaloneMigrations.run_on_load_callbacks
26
+
27
+ callback_was_called.should be_true
28
+ end
29
+
30
+ it "can pass multiple blocks to on_loaded" do
31
+ callback_count = 0
32
+
33
+ for i in 1..4
34
+ StandaloneMigrations.on_loaded do
35
+ callback_count += 1
36
+ end
37
+ end
38
+
39
+ StandaloneMigrations.run_on_load_callbacks
40
+
41
+ callback_count.should == 4
42
+ end
43
+
44
+ end
45
+
46
+ end
47
+
48
+ end
@@ -216,6 +216,9 @@ module StandaloneMigrations
216
216
  {
217
217
  "config" => {
218
218
  "database" => "file/config/database.yml"
219
+ },
220
+ "db" => {
221
+ "seeds" => "file/db/seeds.rb"
219
222
  }
220
223
  }
221
224
  end
@@ -228,6 +231,10 @@ module StandaloneMigrations
228
231
  configurator.config.should == yaml_hash["config"]["database"]
229
232
  end
230
233
 
234
+ it "use custom config value from partial configuration" do
235
+ configurator.seeds.should == yaml_hash["db"]["seeds"]
236
+ end
237
+
231
238
  end
232
239
 
233
240
  it "use custom config from file" do
@@ -1,3 +1,5 @@
1
+ require 'spec_helper'
2
+
1
3
  describe 'Standalone migrations' do
2
4
 
3
5
  def write(file, content)
@@ -81,7 +83,7 @@ end
81
83
  write_rakefile
82
84
  write 'db/config.yml', <<-TXT
83
85
  development:
84
- adapter: <%= "sqlite3" %>
86
+ adapter: sqlite3
85
87
  database: db/development.sql
86
88
  test:
87
89
  adapter: sqlite3
@@ -107,6 +109,25 @@ test:
107
109
  end
108
110
  end
109
111
 
112
+ describe 'callbacks' do
113
+ it 'runs the callbacks' do
114
+ StandaloneMigrations::Tasks.should_receive(:configure)
115
+
116
+ connection_established = false
117
+ ActiveRecord::Base.should_receive(:establish_connection) do
118
+ connection_established = true
119
+ end
120
+ StandaloneMigrations.should_receive(:run_on_load_callbacks) do
121
+ connection_established.should be_true
122
+ end
123
+
124
+ Dir.chdir(File.join(File.dirname(__FILE__), "tmp")) do
125
+ load "Rakefile"
126
+ Rake::Task['standalone:connection'].invoke
127
+ end
128
+ end
129
+ end
130
+
110
131
  describe 'db:new_migration' do
111
132
  it "fails if i do not add a name" do
112
133
  lambda{ run("rake db:new_migration") }.should raise_error(/name=/)
@@ -296,15 +317,15 @@ test:
296
317
  end
297
318
 
298
319
  describe 'db:migrate when environment is specified' do
299
- it "runs when using the DB environment variable" do
320
+ it "runs when using the DB environment variable", :travis_error => true do
300
321
  make_migration('yyy')
301
- run('rake db:migrate DB=test')
302
- run('rake db:version DB=test').should_not =~ /version: 0/
322
+ run('rake db:migrate RAILS_ENV=test')
323
+ run('rake db:version RAILS_ENV=test').should_not =~ /version: 0/
303
324
  run('rake db:version').should =~ /version: 0/
304
325
  end
305
326
 
306
- it "should error on an invalid database" do
307
- lambda{ run("rake db:create DB=nonexistent")}.should raise_error(/rake aborted/)
327
+ it "should error on an invalid database", :travis_error => true do
328
+ lambda{ run("rake db:create RAILS_ENV=nonexistent")}.should raise_error(/rake aborted/)
308
329
  end
309
330
  end
310
331
  end
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: standalone_migrations 2.1.4 ruby lib
5
+ # stub: standalone_migrations 2.1.5 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "standalone_migrations"
9
- s.version = "2.1.4"
9
+ s.version = "2.1.5"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Todd Huss", "Michael Grosser"]
14
- s.date = "2014-04-12"
14
+ s.date = "2014-08-26"
15
15
  s.email = "thuss@gabrito.com"
16
16
  s.extra_rdoc_files = [
17
17
  "LICENSE",
@@ -30,6 +30,7 @@ Gem::Specification.new do |s|
30
30
  "example/db/config.yml",
31
31
  "example/db/migrate/20120930053225_create_table_awesome_migration.rb",
32
32
  "lib/standalone_migrations.rb",
33
+ "lib/standalone_migrations/callbacks.rb",
33
34
  "lib/standalone_migrations/configurator.rb",
34
35
  "lib/standalone_migrations/generator.rb",
35
36
  "lib/standalone_migrations/minimal_railtie_config.rb",
@@ -39,6 +40,7 @@ Gem::Specification.new do |s|
39
40
  "lib/standalone_migrations/tasks/environment.rake",
40
41
  "lib/tasks/standalone_migrations.rb",
41
42
  "spec/spec_helper.rb",
43
+ "spec/standalone_migrations/callbacks_spec.rb",
42
44
  "spec/standalone_migrations/configurator_spec.rb",
43
45
  "spec/standalone_migrations_spec.rb",
44
46
  "standalone_migrations.gemspec",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: standalone_migrations
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.4
4
+ version: 2.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Todd Huss
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-04-12 00:00:00.000000000 Z
12
+ date: 2014-08-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -73,6 +73,7 @@ files:
73
73
  - example/db/config.yml
74
74
  - example/db/migrate/20120930053225_create_table_awesome_migration.rb
75
75
  - lib/standalone_migrations.rb
76
+ - lib/standalone_migrations/callbacks.rb
76
77
  - lib/standalone_migrations/configurator.rb
77
78
  - lib/standalone_migrations/generator.rb
78
79
  - lib/standalone_migrations/minimal_railtie_config.rb
@@ -82,6 +83,7 @@ files:
82
83
  - lib/standalone_migrations/tasks/environment.rake
83
84
  - lib/tasks/standalone_migrations.rb
84
85
  - spec/spec_helper.rb
86
+ - spec/standalone_migrations/callbacks_spec.rb
85
87
  - spec/standalone_migrations/configurator_spec.rb
86
88
  - spec/standalone_migrations_spec.rb
87
89
  - standalone_migrations.gemspec