Method: Wordmove::Movefile#environment

Defined in:
lib/wordmove/movefile.rb

#environment(cli_options = {}) ⇒ Object



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/wordmove/movefile.rb', line 45

def environment(cli_options = {})
  options = fetch(false)
  available_enviroments = extract_available_envs(options)
  options.merge!(cli_options).deep_symbolize_keys!

  if options[:environment] != 'local'
    if available_enviroments.size > 1 && options[:environment].nil?
      raise(
        UndefinedEnvironment,
        "You need to specify an environment with --environment parameter"
      )
    end

    if options[:environment].present?
      unless available_enviroments.include?(options[:environment].to_sym)
        raise UndefinedEnvironment, "No environment found for \"#{options[:environment]}\". "\
                                    "Available Environments: #{available_enviroments.join(' ')}"
      end
    end
  end

  (options[:environment] || available_enviroments.first).to_sym
end