Method: Wikian::Subcommand#initialize

Defined in:
lib/wikian/subcommand.rb

#initialize(args) ⇒ Subcommand

Returns a new instance of Subcommand.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/wikian/subcommand.rb', line 11

def initialize(args)
  @args = args

  if args.have?(%w(-t --template))
    puts "Creating template #{Wikian::CONFIG_FILE}"
    make_template
    exit
  end

  @debug = (args & %w(-d --debug)).length > 0 ? true : false

  @config =
    if File.exist?(Wikian::CONFIG_FILE)
      YAML.load(File.open(Wikian::CONFIG_FILE))
    else
      YAML.load(template)
    end

  # some params like 'titles' can contain multiple entries joined by '|'. More info in Wikipedia API docs
  @params = Hash[config['api'].keys.zip(config['api'].values.map{|arr| arr.join("|")})]
rescue InitializeError => e
  puts "#{e.class} try passing the '-t' option to generate #{Wikian::CONFIG_FILE} in #{__FILE__}"
  exit
end