ghost_adapter 0.1.2 → 0.1.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b4891b0bd885cf5afcedef2b98f14bffb64c5391871189530cc9075091ea1ead
4
- data.tar.gz: 0fc0fd7ab33fbde0ea6a62238e26ee52444dacc961bc4624834401e60053a6dc
3
+ metadata.gz: 1e41455fa006b4b041b93b335e52648d1a73fc70414833e9da5e8aa2d08a7f33
4
+ data.tar.gz: 83bb7a22b33489522b4877f7bb09d3e8011527cb30a6410f402d6124e8673483
5
5
  SHA512:
6
- metadata.gz: 8a7d0685cdb9b491df138c6a731cfed2e3b9f1e278ad51a860f2ba6cbf2ca7582509815e5629e76836fa09d0ec5d069426d83f693bbc01c9cb4025241cbf0cb3
7
- data.tar.gz: 5e2a07d6a66f2e66570f7c14b4764fad6d52b18653d8be9f2af1e970fd6b984ebf7d0fb30fcfc30ee116ee3873689a3896cee71078184d3984cc71bb18016bd1
6
+ metadata.gz: 9a44d227afa21a6b94303c73419b6d56ebc5971d681ce7cc8b6384b7e802556e9e782467aa1c6695bc4461dc411560f02040bea4ba1ebf713ad098f58a670369
7
+ data.tar.gz: 5a8a939e4cc7ea44d135273c32c921ca4f79d35aac568c1160d32daae0b41d587180968772f13047a4fbb1ca93edbba68372fad89e46ff96b4db9d0df0852b33
data/.gitignore CHANGED
@@ -1,3 +1,5 @@
1
+ .rspec_status
2
+ .DS_Store
1
3
  /.bundle/
2
4
  /.yardoc
3
5
  /_yardoc/
data/.rubocop.yml CHANGED
@@ -9,7 +9,7 @@ Style/RescueModifier:
9
9
 
10
10
  Metrics/BlockLength:
11
11
  Exclude:
12
- - test/**/*_test.rb
12
+ - spec/**/*_spec.rb
13
13
 
14
14
  Metrics/MethodLength:
15
15
  IgnoredMethods:
data/.travis.yml CHANGED
@@ -20,6 +20,6 @@ jobs:
20
20
  script:
21
21
  - bundle exec rake rubocop
22
22
  - stage: Tests
23
- name: Run minitest
23
+ name: Run specs
24
24
  script:
25
- - bundle exec rake test
25
+ - bundle exec rake spec
data/CHANGELOG.md CHANGED
@@ -1,4 +1,7 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 0.1.3
4
+ - Fix bug [#26](https://github.com/WeTransfer/ghost_adapter/issues/26) causing environment configuration to be overwritten by some other configuration methods.
5
+
3
6
  ## 0.1.2
4
7
  - Fix bug [#28](https://github.com/WeTransfer/ghost_adapter/issues/28) that resulted in add_index and remove_index calls to not run through `gh-ost`
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ghost_adapter (0.1.2)
4
+ ghost_adapter (0.1.3)
5
5
  activerecord (>= 5)
6
+ mysql2 (>= 0.4.0, < 0.6.0)
6
7
 
7
8
  GEM
8
9
  remote: https://rubygems.org/
@@ -22,9 +23,11 @@ GEM
22
23
  bump (0.10.0)
23
24
  byebug (11.1.3)
24
25
  concurrent-ruby (1.1.8)
26
+ diff-lcs (1.4.4)
25
27
  i18n (1.8.9)
26
28
  concurrent-ruby (~> 1.0)
27
29
  minitest (5.14.3)
30
+ mysql2 (0.5.2)
28
31
  parallel (1.20.1)
29
32
  parser (3.0.0.0)
30
33
  ast (~> 2.4.1)
@@ -32,6 +35,19 @@ GEM
32
35
  rake (13.0.3)
33
36
  regexp_parser (2.0.3)
34
37
  rexml (3.2.4)
38
+ rspec (3.10.0)
39
+ rspec-core (~> 3.10.0)
40
+ rspec-expectations (~> 3.10.0)
41
+ rspec-mocks (~> 3.10.0)
42
+ rspec-core (3.10.1)
43
+ rspec-support (~> 3.10.0)
44
+ rspec-expectations (3.10.1)
45
+ diff-lcs (>= 1.2.0, < 2.0)
46
+ rspec-support (~> 3.10.0)
47
+ rspec-mocks (3.10.2)
48
+ diff-lcs (>= 1.2.0, < 2.0)
49
+ rspec-support (~> 3.10.0)
50
+ rspec-support (3.10.2)
35
51
  rubocop (1.8.1)
36
52
  parallel (~> 1.10)
37
53
  parser (>= 3.0.0.0)
@@ -58,8 +74,8 @@ DEPENDENCIES
58
74
  bundler (~> 2)
59
75
  byebug (~> 11.1)
60
76
  ghost_adapter!
61
- minitest (~> 5.14)
62
77
  rake (~> 13.0)
78
+ rspec (~> 3)
63
79
  rubocop (~> 1)
64
80
 
65
81
  BUNDLED WITH
data/Rakefile CHANGED
@@ -1,14 +1,8 @@
1
1
  require 'bundler/gem_tasks'
2
- require 'rake/testtask'
3
-
4
- Rake::TestTask.new(:test) do |t|
5
- t.libs << 'test'
6
- t.libs << 'lib'
7
- t.test_files = FileList['test/**/*_test.rb']
8
- end
9
-
2
+ require 'rspec/core/rake_task'
10
3
  require 'rubocop/rake_task'
11
4
 
12
5
  RuboCop::RakeTask.new
6
+ RSpec::Core::RakeTask.new(:spec)
13
7
 
14
- task default: %i[test rubocop]
8
+ task default: %i[spec rubocop]
@@ -23,11 +23,12 @@ Gem::Specification.new do |spec|
23
23
  spec.require_paths = ['lib']
24
24
 
25
25
  spec.add_dependency 'activerecord', '>= 5'
26
+ spec.add_dependency 'mysql2', '>= 0.4.0', '< 0.6.0'
26
27
 
27
28
  spec.add_development_dependency 'bump', '~> 0'
28
29
  spec.add_development_dependency 'bundler', '~> 2'
29
30
  spec.add_development_dependency 'byebug', '~> 11.1'
30
- spec.add_development_dependency 'minitest', '~> 5.14'
31
31
  spec.add_development_dependency 'rake', '~> 13.0'
32
+ spec.add_development_dependency 'rspec', '~> 3'
32
33
  spec.add_development_dependency 'rubocop', '~> 1'
33
34
  end
@@ -1,8 +1,6 @@
1
1
  require 'active_record/connection_adapters/mysql2_adapter'
2
2
  require 'ghost_adapter/migrator'
3
3
  require 'ghost_adapter/version_checker'
4
-
5
- gem 'mysql2', '>= 0.4.4', '< 0.6.0'
6
4
  require 'mysql2'
7
5
 
8
6
  module ActiveRecord
data/lib/ghost_adapter.rb CHANGED
@@ -1,3 +1,8 @@
1
+ require 'active_record'
2
+ require 'active_support/all'
3
+
4
+ require 'active_record/connection_adapters/mysql2_ghost_adapter'
5
+
1
6
  require 'ghost_adapter/config'
2
7
 
3
8
  require 'ghost_adapter/railtie' if defined? ::Rails::Railtie
@@ -78,32 +78,35 @@ module GhostAdapter
78
78
  user
79
79
  verbose].freeze
80
80
  Config = Struct.new(*CONFIG_KEYS, keyword_init: true) do
81
- def initialize(options = {})
82
- env_config = EnvParser.new(ENV).config
83
- config_options = options.merge(env_config)
84
- super(config_options)
85
- end
86
-
87
81
  def merge!(other_config)
88
82
  other_config.compact.each { |k, v| self[k] = v }
89
83
  self
90
84
  end
91
85
 
86
+ def with_env
87
+ env_config = EnvParser.new(ENV).config
88
+ compact.merge(env_config)
89
+ end
90
+
92
91
  def compact
93
92
  to_h.compact
94
93
  end
95
94
 
96
95
  def as_args
97
- compact.map do |key, value|
98
- next unless value # Skip both false and null values
96
+ with_env.map { |key, value| arg(key, value) }.compact
97
+ end
98
+
99
+ private
100
+
101
+ def arg(key, value)
102
+ return unless value
99
103
 
100
- hyphenated_key = key.to_s.gsub('_', '-')
101
- if value == true
102
- "--#{hyphenated_key}"
103
- else
104
- "--#{hyphenated_key}=#{value}"
105
- end
106
- end.compact
104
+ hyphenated_key = key.to_s.gsub('_', '-')
105
+ if value == true
106
+ "--#{hyphenated_key}"
107
+ else
108
+ "--#{hyphenated_key}=#{value}"
109
+ end
107
110
  end
108
111
  end
109
112
  end
@@ -7,6 +7,9 @@ module GhostAdapter
7
7
  next unless ghost_key?(key)
8
8
 
9
9
  config_key = convert_env_key(key)
10
+
11
+ next unless GhostAdapter::CONFIG_KEYS.include?(config_key)
12
+
10
13
  config_value = convert_env_value(value)
11
14
 
12
15
  [config_key, config_value]
@@ -20,7 +23,7 @@ module GhostAdapter
20
23
  end
21
24
 
22
25
  def convert_env_key(key)
23
- key.gsub('GHOST_', '').downcase
26
+ key.gsub('GHOST_', '').downcase.to_sym
24
27
  end
25
28
 
26
29
  def convert_env_value(value)
@@ -1,3 +1,3 @@
1
1
  module GhostAdapter
2
- VERSION = '0.1.2'.freeze
2
+ VERSION = '0.1.3'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ghost_adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Austin C Roos
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-17 00:00:00.000000000 Z
11
+ date: 2021-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -24,6 +24,26 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '5'
27
+ - !ruby/object:Gem::Dependency
28
+ name: mysql2
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.4.0
34
+ - - "<"
35
+ - !ruby/object:Gem::Version
36
+ version: 0.6.0
37
+ type: :runtime
38
+ prerelease: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 0.4.0
44
+ - - "<"
45
+ - !ruby/object:Gem::Version
46
+ version: 0.6.0
27
47
  - !ruby/object:Gem::Dependency
28
48
  name: bump
29
49
  requirement: !ruby/object:Gem::Requirement
@@ -67,33 +87,33 @@ dependencies:
67
87
  - !ruby/object:Gem::Version
68
88
  version: '11.1'
69
89
  - !ruby/object:Gem::Dependency
70
- name: minitest
90
+ name: rake
71
91
  requirement: !ruby/object:Gem::Requirement
72
92
  requirements:
73
93
  - - "~>"
74
94
  - !ruby/object:Gem::Version
75
- version: '5.14'
95
+ version: '13.0'
76
96
  type: :development
77
97
  prerelease: false
78
98
  version_requirements: !ruby/object:Gem::Requirement
79
99
  requirements:
80
100
  - - "~>"
81
101
  - !ruby/object:Gem::Version
82
- version: '5.14'
102
+ version: '13.0'
83
103
  - !ruby/object:Gem::Dependency
84
- name: rake
104
+ name: rspec
85
105
  requirement: !ruby/object:Gem::Requirement
86
106
  requirements:
87
107
  - - "~>"
88
108
  - !ruby/object:Gem::Version
89
- version: '13.0'
109
+ version: '3'
90
110
  type: :development
91
111
  prerelease: false
92
112
  version_requirements: !ruby/object:Gem::Requirement
93
113
  requirements:
94
114
  - - "~>"
95
115
  - !ruby/object:Gem::Version
96
- version: '13.0'
116
+ version: '3'
97
117
  - !ruby/object:Gem::Dependency
98
118
  name: rubocop
99
119
  requirement: !ruby/object:Gem::Requirement