class Wordmove::Generators::WordpressDBConfig

Public Class Methods

config() click to toggle source
# File lib/wordmove/generators/movefile_adapter.rb, line 47
def self.config
  new.config
end

Public Instance Methods

config() click to toggle source
# File lib/wordmove/generators/movefile_adapter.rb, line 74
def config
  wp_definitions.each_with_object(defaults) do |(key, definition), result|
    wp_config.match(wp_definition_regex(definition)) do |match|
      result[key] = match[:value]
    end
  end
end
defaults() click to toggle source
# File lib/wordmove/generators/movefile_adapter.rb, line 70
def defaults
  DefaultDBConfig.config.clone
end
wp_config() click to toggle source
# File lib/wordmove/generators/movefile_adapter.rb, line 51
def wp_config
  @wp_config ||= File.read(
    WordpressDirectory.default_path_for(:wp_config)
  ).encode('utf-8', invalid: :replace)
end
wp_definition_regex(definition) click to toggle source
# File lib/wordmove/generators/movefile_adapter.rb, line 66
def wp_definition_regex(definition)
  /['"]#{definition}['"],\s*["'](?<value>.*)['"]/
end
wp_definitions() click to toggle source
# File lib/wordmove/generators/movefile_adapter.rb, line 57
def wp_definitions
  {
    name: 'DB_NAME',
    user: 'DB_USER',
    password: 'DB_PASSWORD',
    host: 'DB_HOST'
  }
end