Class: Twitter2MixiVoice::Options

Inherits:
Hash
  • Object
show all
Defined in:
lib/options.rb

Overview

This class provides command line option.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params, version = nil) ⇒ Options

Returns a new instance of Options.



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# File 'lib/options.rb', line 22

def initialize(params, version = nil)
  
  super()
  
  
  @opts = OptionParser.new do |o|
    
    o.on("-t", "--twitter_id TWITTER_ID", "login twitter id") do |id|
      self[:twitter_id] = id
    end
    
    o.on("-T", "--twitter_password TWITTER_PASSWORD", "login twitter passowrd") do |password|
      self[:twitter_password] = password
    end

    o.on("-m", "--mixi_email MIXI_EMAIL", "login mixi email") do |email|
      self[:mixi_email] = email
    end

    o.on("-M", "--mixi_password MIXI_PASSWORD", "login mixi password") do |password|
      self[:mixi_password] = password
    end

    o.on("-h", "--help", "#{File.basename($0, ".*")} help") do |help|
      self[:show_help] = help
    end

    o.on_tail("-v", "--version", "#{File.basename($0, ".*")} version") do
      self[:show_version] = "#{File.basename($0, ".*")}: #{version}"
    end

  end


  begin
    @opts.parse!(params)
  rescue OptionParser::InvalidOption => e
    self[:invalid_argument] = e.message
  rescue OptionParser::InvalidArgument => e
    self[:invalid_argument] = e.message
  rescue OptionParser::MissingArgument => e
    self[:invalid_argument] = e.message
  rescue OptionParser::NeedlessArgument => e
    self[:invalid_argument] = e.message
  rescue OptionParser::ParseError => e
    self[:invalid_argument] = e.message
  rescue Exception => e
    self[:invalid_argument] = e.message
  end
  
  
  # check authorized parameter.
  if self[:show_version].nil? && self[:show_help].nil?
    self[:invalid_argument] = "invalid argument" if self[:twitter_id].nil? || self[:twitter_password].nil? || self[:mixi_email].nil? || self[:mixi_password].nil?
  end
  
end

Instance Attribute Details

#optsObject (readonly)

Returns the value of attribute opts.



19
20
21
# File 'lib/options.rb', line 19

def opts
  @opts
end