Class: Command::Inspect

Inherits:
CommandBase show all
Defined in:
lib/command/inspect.rb

Instance Attribute Summary

Attributes inherited from CommandBase

#stream_io

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from CommandBase

#disable_logging, #display_help!, execute!, #execute!, #force_change_settings_function, help, #hook_call, #load_local_settings, #tagname_to_ids

Constructor Details

#initializeInspect

Returns a new instance of Inspect.



19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/command/inspect.rb', line 19

def initialize
  super("[<target> ...]")
  @opt.separator <<-EOS

  ・引数を指定しなかった場合は直前に変換した小説の状態調査状況ログを表示します。
  ・小説を指定した場合はその小説のログを表示します。
  ・narou setting convert.inspect=true とすれば変換時に常に表示されるようになります。

  Examples:
narou inspect     # 直前の変換時のログを表示
narou inspect 6   # ログを表示したい小説を指定する
  EOS
end

Class Method Details

.oneline_helpObject



15
16
17
# File 'lib/command/inspect.rb', line 15

def self.oneline_help
  "小説状態の調査状況ログを表示します"
end

Instance Method Details

#display_log(data) ⇒ Object



55
56
57
58
59
# File 'lib/command/inspect.rb', line 55

def display_log(data)
  puts "(#{data["title"]} の小説状態調査状況ログ)"
  novel_setting = NovelSetting.load(data["id"], false, false)
  puts Inspector.read_messages(novel_setting) || "調査ログがまだ無いようです"
end

#execute(argv) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/command/inspect.rb', line 33

def execute(argv)
  super
  if argv.empty?
    latest_id = Inventory.load("latest_convert")["id"]
    if latest_id
      data = Downloader.get_data_by_target(latest_id)
      display_log(data)
    end
    return
  end
  tagname_to_ids(argv)
  argv.each_with_index do |target, i|
    Helper.print_horizontal_rule if i > 0
    data = Downloader.get_data_by_target(target)
    unless data
      error "#{target} は存在しません"
      next
    end
    display_log(data)
  end
end