ridgepole 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f7227f0b998d573e477d6bae7f1dcae854b8d2b9
4
- data.tar.gz: ffdbc4c7ff6d93e4584650ba63e884437d09151c
3
+ metadata.gz: 36d0e8ae5a1edb544c859d94f04d1fe55c7e5f91
4
+ data.tar.gz: 38726492ccfcc8c5612698e55b82af65a3355852
5
5
  SHA512:
6
- metadata.gz: 55da0ba85c500b0d6a2b644eaea0c3a14045472d319d6c098e91b9b3e0c89dfeb11c8d92fba242e89e7bf035580286200e101061149ec190b010d0539d48fcde
7
- data.tar.gz: 8108b878e1a0fc63be83b125f0318445ace93d521d0319778178f4bcf2c1241ff734ac2aeab5beeadf4ca0fcce2465e08af934dce6e8387bee4df1fb5c615b0a
6
+ metadata.gz: ec2885b06f1c5903a3fc2db1527948f8c4ac971cbae02ee7efd8c0a705b7723114ddb0b0bd66df15d7f7007d7e960af2b87e693261bf907aff405debcb60c4b7
7
+ data.tar.gz: 7d30b1d675fb3065d180c4d3376e59735bfe8eddd4c1c9daab6b50c73c03ffa1f274317e0d7dfbac59217ab6ceb220b5d59ad2718f3e95f48cecc1ee314af3e9
data/bin/ridgepole CHANGED
@@ -38,6 +38,7 @@ ARGV.options do |opt|
38
38
  opt.on('-o', '--output FILE') {|v| output_file = v }
39
39
  opt.on('-t', '--tables TABLES', Array) {|v| options[:tables] = v }
40
40
  opt.on('', '--disable-mysql-unsigned') { options[:disable_mysql_unsigned] = true }
41
+ opt.on('' , '--verbose') { Ridgepole::Logger.verbose = true }
41
42
  opt.on('' , '--debug') { options[:debug] = true }
42
43
  opt.parse!
43
44
 
@@ -115,6 +116,7 @@ begin
115
116
  if options[:dry_run]
116
117
  puts delta.script if delta.differ?
117
118
  else
119
+ logger.verbose_info('# Update schema')
118
120
  delta.migrate
119
121
  end
120
122
 
data/lib/ridgepole.rb CHANGED
@@ -3,6 +3,7 @@ require 'singleton'
3
3
  require 'stringio'
4
4
 
5
5
  require 'active_record'
6
+ require 'active_support'
6
7
 
7
8
  module Ridgepole; end
8
9
  require 'ridgepole/client'
@@ -11,5 +12,7 @@ require 'ridgepole/diff'
11
12
  require 'ridgepole/dsl_parser'
12
13
  require 'ridgepole/dumper'
13
14
  require 'ridgepole/logger'
15
+ require 'ridgepole/migration_ext'
16
+ require 'ridgepole/schema_dumper_ext'
14
17
  require 'ridgepole/string_ext'
15
18
  require 'ridgepole/version'
@@ -13,12 +13,19 @@ class Ridgepole::Client
13
13
  end
14
14
 
15
15
  def dump(&block)
16
+ logger = Ridgepole::Logger.instance
17
+ logger.verbose_info('# Load tables')
16
18
  @dumper.dump(&block)
17
19
  end
18
20
 
19
21
  def diff(dsl, opts = {})
22
+ logger = Ridgepole::Logger.instance
23
+
24
+ logger.verbose_info('# Parse DSL')
20
25
  expected_definition = @parser.parse(dsl, opts)
26
+ logger.verbose_info('# Load tables')
21
27
  current_definition = @parser.parse(@dumper.dump)
28
+ logger.verbose_info('# Compare definitions')
22
29
  @diff.diff(current_definition, expected_definition)
23
30
  end
24
31
  end
@@ -1,5 +1,6 @@
1
1
  class Ridgepole::Logger < ::Logger
2
2
  include Singleton
3
+ cattr_accessor :verbose
3
4
 
4
5
  def initialize
5
6
  super($stdout)
@@ -11,6 +12,10 @@ class Ridgepole::Logger < ::Logger
11
12
  self.level = Logger::INFO
12
13
  end
13
14
 
15
+ def verbose_info(msg)
16
+ info(msg) if verbose
17
+ end
18
+
14
19
  def set_debug(value)
15
20
  self.level = value ? Logger::DEBUG : Logger::INFO
16
21
  end
@@ -0,0 +1,9 @@
1
+ require 'active_record/migration'
2
+
3
+ class ActiveRecord::Migration
4
+ def write_with_logging(text = '')
5
+ logger = Ridgepole::Logger.instance
6
+ logger.info(text)
7
+ end
8
+ alias_method_chain :write, :logging
9
+ end
@@ -0,0 +1,10 @@
1
+ require 'active_record/schema_dumper'
2
+
3
+ class ActiveRecord::SchemaDumper
4
+ def table_with_logging(table, stream)
5
+ logger = Ridgepole::Logger.instance
6
+ logger.verbose_info("# #{table}")
7
+ table_without_logging(table, stream)
8
+ end
9
+ alias_method_chain :table, :logging
10
+ end
@@ -1,3 +1,3 @@
1
1
  module Ridgepole
2
- VERSION = '0.1.5'
2
+ VERSION = '0.1.6'
3
3
  end
data/ridgepole.gemspec CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_dependency 'activerecord'
21
+ spec.add_dependency 'activerecord', '= 4.1.1'
22
22
  spec.add_dependency 'activerecord-mysql-unsigned'
23
23
  spec.add_development_dependency 'bundler'
24
24
  spec.add_development_dependency 'rake'
data/spec/spec_helper.rb CHANGED
@@ -3,6 +3,7 @@ require 'ridgepole'
3
3
  require 'string_ext'
4
4
 
5
5
  ActiveRecord::Migration.verbose = false
6
+ Ridgepole::Logger.instance.level = ::Logger::ERROR
6
7
 
7
8
  RSpec.configure do |config|
8
9
  config.before(:each) do
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ridgepole
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genki Sugawara
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-26 00:00:00.000000000 Z
11
+ date: 2014-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 4.1.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 4.1.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activerecord-mysql-unsigned
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -117,6 +117,8 @@ files:
117
117
  - lib/ridgepole/dsl_parser.rb
118
118
  - lib/ridgepole/dumper.rb
119
119
  - lib/ridgepole/logger.rb
120
+ - lib/ridgepole/migration_ext.rb
121
+ - lib/ridgepole/schema_dumper_ext.rb
120
122
  - lib/ridgepole/string_ext.rb
121
123
  - lib/ridgepole/version.rb
122
124
  - ridgepole.gemspec