narou 3.2.0.1 → 3.2.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of narou might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d24be9e7bb0e62c46c10ca9704be3f4d5b7c0469
4
- data.tar.gz: 40f0bb5a18473deb40a1d02a47f987aefe94e6e1
3
+ metadata.gz: e27119e7e16f1e68e69659d0f8e7fadc48107055
4
+ data.tar.gz: 0b6183afdc1633fb9fe7fce7cff5e77cd01efcf5
5
5
  SHA512:
6
- metadata.gz: be4299a08bfca131acfbc5b04451514528391578362c43a98eed8f7281ecc048091d10374b98d2bd73b67b08bd3a9f3d5302a3391f2e4901aaa988fc50cc772e
7
- data.tar.gz: d4cb2fabc08c3dad6b37ed2d9e31edca5470d0c6aa82d5b1328f6e226f180919e57596daaeda396c3fa3f2c0eae8118babc4b8f0a2367237ae8f287d5874d696
6
+ metadata.gz: c68ff14a614734fc5eac4ddc789185e5149cb89895840486e51a09c782948f846a2bfed83a284c0e8483dd7c7a0651033e55995c63998a77d7d26c6c53af8564
7
+ data.tar.gz: c29f4e691eaa04361c692989867e7de20b1b1c45120fc0da2c8212131ca75328fce84af10d5848306002c43c6e014c71d77e19ce64a29ac151203728600d9bd6
data/ChangeLog.md CHANGED
@@ -1,6 +1,20 @@
1
- 更新履歴 - ChangeLog
1
+ 更新履歴 - ChangeLog
2
2
  ====================
3
3
 
4
+ 3.2.1: 2018/05/20
5
+ ------------------
6
+ #### 追加機能
7
+ - download コマンドに --mail (-m) オプションを追加しました。ダウンロード完了後
8
+ にメールで送信します
9
+
10
+ #### WEB UI 関連
11
+ - ヘルプページに「Narou.rbでダウンロード&メール」というブックマークレットを
12
+ 追加しました
13
+
14
+ #### 修正内容
15
+ - device が未設定時にクラッシュしていた
16
+
17
+
4
18
  3.2.0: 2018/05/16
5
19
  ------------------
6
20
  #### 追加機能
data/README.md CHANGED
@@ -33,6 +33,20 @@ Narou.rb ― 「小説家になろう」「小説を読もう!」ダウンロ
33
33
  更新履歴 - ChangeLog
34
34
  --------------------
35
35
 
36
+ 3.2.1: 2018/05/20
37
+ ------------------
38
+ #### 追加機能
39
+ - download コマンドに --mail (-m) オプションを追加しました。ダウンロード完了後
40
+ にメールで送信します
41
+
42
+ #### WEB UI 関連
43
+ - ヘルプページに「Narou.rbでダウンロード&メール」というブックマークレットを
44
+ 追加しました
45
+
46
+ #### 修正内容
47
+ - device が未設定時にクラッシュしていた
48
+
49
+
36
50
  3.2.0: 2018/05/16
37
51
  ------------------
38
52
  #### 追加機能
data/circle.yml CHANGED
@@ -1,3 +1,3 @@
1
1
  machine:
2
2
  ruby:
3
- version: 2.2.3
3
+ version: 2.5.1
@@ -330,7 +330,7 @@ module Command
330
330
  if @device && @device.physical_support? &&
331
331
  @device.connecting? && File.extname(ebook_file) == @device.ebook_file_ext
332
332
  if @argument_target_type == :novel
333
- if Send.execute!([@device.name, @target]) > 0
333
+ if Send.execute!(@device.name, @target) > 0
334
334
  @@sending_error_list << ebook_file
335
335
  end
336
336
  else
data/lib/command/csv.rb CHANGED
@@ -97,7 +97,7 @@ module Command
97
97
  table = csv.read
98
98
  table[:url].each do |url|
99
99
  next unless url
100
- Download.execute!([url])
100
+ Download.execute!(url)
101
101
  Helper.print_horizontal_rule
102
102
  end
103
103
  rescue CSV::MalformedCSVError => e
@@ -21,6 +21,7 @@ module Command
21
21
  ・ダウンロード終了後に変換処理を行います。ダウンロードのみする場合は-nオプションを指定して下さい。
22
22
  ・すでにダウンロード済みの小説の場合は何もしません。
23
23
  ・--remove オプションをつけてダウンロードすると、ダウンロード(とその後の変換、送信)が終わったあと削除します。データベースのインデックスを外すだけなので、変換した書籍データは残ったままになります。ファイルを全て消す場合は手動で削除する必要があります。
24
+ ・--mail オプションをつけてダウンロードすると、ダウンロード後にメールで送信します。
24
25
  ・NコードもURLも指定しなかった場合、対話モード移行します。
25
26
 
26
27
  Examples:
@@ -45,6 +46,9 @@ module Command
45
46
  @opt.on("-r", "--remove", "ダウンロードが終了したあと削除する") {
46
47
  @options["remove"] = true
47
48
  }
49
+ @opt.on("-m", "--mail", "ダウンロードが終了したあとメールで送信する") {
50
+ @options["mail"] = true
51
+ }
48
52
  end
49
53
 
50
54
  def valid_target?(target)
@@ -135,7 +139,7 @@ module Command
135
139
  next
136
140
  end
137
141
  unless @options["no-convert"]
138
- convert_status = Convert.execute!([download_target])
142
+ convert_status = Convert.execute!(download_target)
139
143
  if convert_status > 0
140
144
  # 変換に失敗したか、中断された
141
145
  data = Downloader.get_data_by_target(download_target) # 新規はDL後に取得しないとデータが存在しない
@@ -144,11 +148,14 @@ module Command
144
148
  raise Interrupt if convert_status == Narou::EXIT_INTERRUPT
145
149
  end
146
150
  end
151
+ if @options["mail"]
152
+ Mail.execute!(download_target)
153
+ end
147
154
  if @options["freeze"]
148
- Freeze.execute!([download_target])
155
+ Freeze.execute!(download_target)
149
156
  elsif @options["remove"]
150
157
  # --freeze オプションが指定された場合は --remove オプションは無視する
151
- Remove.execute!([download_target, "-y"])
158
+ Remove.execute!(download_target, "-y")
152
159
  end
153
160
  end
154
161
  exit mistook_count if mistook_count > 0
@@ -41,7 +41,7 @@ module Command
41
41
  end
42
42
 
43
43
  def output_freeze_list
44
- List.execute!(%w(--filter frozen))
44
+ List.execute!("--filter", "frozen")
45
45
  end
46
46
 
47
47
  def execute(argv)
data/lib/command/tag.rb CHANGED
@@ -153,7 +153,7 @@ module Command
153
153
  end
154
154
 
155
155
  def search_novel_by_tag(argv)
156
- List.execute!(["--tag", argv.join(" ")])
156
+ List.execute!("--tag", argv.join(" "))
157
157
  end
158
158
 
159
159
  def change_colors
@@ -400,7 +400,7 @@ module Command
400
400
  def mail_hotentry
401
401
  hotentry_manager = HotentryManager.new
402
402
  return unless hotentry_manager.auto_mail?
403
- Mail.execute!(["hotentry"])
403
+ Mail.execute!("hotentry")
404
404
  end
405
405
 
406
406
  def self.hotentry_dirname
data/lib/commandbase.rb CHANGED
@@ -103,7 +103,8 @@ module Command
103
103
  # コマンドを実行するが、アプリケーションは終了させない
104
104
  # (SystemExit を補足し、終了コードを返り値とする)
105
105
  #
106
- def execute!(argv)
106
+ def execute!(*argv)
107
+ argv.flatten!
107
108
  execute(argv)
108
109
  rescue SystemExit => e
109
110
  e.status
@@ -111,8 +112,8 @@ module Command
111
112
  0
112
113
  end
113
114
 
114
- def self.execute!(argv)
115
- self.new.execute!(argv)
115
+ def self.execute!(*argv)
116
+ self.new.execute!(*argv)
116
117
  end
117
118
 
118
119
  def self.oneline_help
data/lib/commandline.rb CHANGED
@@ -11,7 +11,7 @@ require_relative "inventory"
11
11
  module CommandLine
12
12
  module_function
13
13
 
14
- def run(argv)
14
+ def run(*argv)
15
15
  argv.flatten!
16
16
  if Helper.os_windows?
17
17
  argv.map! do |arg|
@@ -53,8 +53,8 @@ module CommandLine
53
53
  #
54
54
  # exit を捕捉して終了コードを返す
55
55
  #
56
- def run!(argv)
57
- run(argv)
56
+ def run!(*argv)
57
+ run(*argv)
58
58
  rescue SystemExit => e
59
59
  e.status
60
60
  else
data/lib/downloader.rb CHANGED
@@ -423,7 +423,7 @@ class Downloader
423
423
  if tags.include?("end")
424
424
  update_database if update_subtitles.size == 0
425
425
  $stdout.silence do
426
- Command::Tag.execute!([@id, "--delete", "end"])
426
+ Command::Tag.execute!(@id, "--delete", "end")
427
427
  end
428
428
  @stream.puts "<cyan>#{id_and_title.escape} は連載を再開したようです</cyan>".termcolor
429
429
  return_status = :ok
@@ -493,10 +493,10 @@ class Downloader
493
493
  when "2"
494
494
  return true
495
495
  when "3"
496
- Command::Freeze.execute!([latest_toc["toc_url"]])
496
+ Command::Freeze.execute!(latest_toc["toc_url"])
497
497
  return true
498
498
  when "4"
499
- Command::Backup.execute!([latest_toc["toc_url"]])
499
+ Command::Backup.execute!(latest_toc["toc_url"])
500
500
  when "5"
501
501
  if Narou.web?
502
502
  message = "あらすじ\n#{latest_toc["story"]}\n"
@@ -509,7 +509,7 @@ class Downloader
509
509
  when "7"
510
510
  Helper.open_directory(Downloader.get_novel_data_dir_by_target(latest_toc["toc_url"]))
511
511
  when "8"
512
- Command::Convert.execute!([latest_toc["toc_url"]])
512
+ Command::Convert.execute!(latest_toc["toc_url"])
513
513
  end
514
514
  unless Narou.web?
515
515
  message = "" # 長いので二度は表示しない
@@ -788,7 +788,7 @@ class Downloader
788
788
  $stdout.silence do
789
789
  Command::Tag.execute!(%W(#{@id} --add 404 --color white --no-overwrite-color))
790
790
  end
791
- Command::Freeze.execute!([@id, "--on"])
791
+ Command::Freeze.execute!(@id, "--on")
792
792
  end
793
793
  else
794
794
  @stream.error "何らかの理由により目次が取得できませんでした(#{e.message})"
@@ -27,12 +27,12 @@ class NovelConverter
27
27
 
28
28
  def self.extensions_of_converted_files(device)
29
29
  exts = [".txt"]
30
- if device && device.kobo?
30
+ if device&.kobo?
31
31
  exts.push(device.ebook_file_ext)
32
32
  else
33
- exts.push(".epub", device.ebook_file_ext)
33
+ exts.push(".epub", device&.ebook_file_ext)
34
34
  end
35
- exts
35
+ exts.compact
36
36
  end
37
37
 
38
38
  #
data/lib/version.rb CHANGED
@@ -4,5 +4,5 @@
4
4
  #
5
5
 
6
6
  module Narou
7
- VERSION = "3.2.0.1"
7
+ VERSION = "3.2.1"
8
8
  end
data/lib/web/appserver.rb CHANGED
@@ -492,7 +492,7 @@ class Narou::AppServer < Sinatra::Base
492
492
  post "/api/convert" do
493
493
  ids = select_valid_novel_ids(params["ids"]) or pass
494
494
  Narou::Worker.push do
495
- CommandLine.run!(["convert", "--no-open", ids])
495
+ CommandLine.run!("convert", "--no-open", ids)
496
496
  end
497
497
  end
498
498
 
@@ -502,7 +502,7 @@ class Narou::AppServer < Sinatra::Base
502
502
  targets = targets.kind_of?(Array) ? targets : targets.split
503
503
  pass if targets.size == 0
504
504
  Narou::Worker.push do
505
- CommandLine.run!(["download"] + targets)
505
+ CommandLine.run!("download", targets)
506
506
  @@push_server.send_all(:"table.reload")
507
507
  end
508
508
  end
@@ -510,7 +510,7 @@ class Narou::AppServer < Sinatra::Base
510
510
  post "/api/download_force" do
511
511
  ids = select_valid_novel_ids(params["ids"]) or pass
512
512
  Narou::Worker.push do
513
- CommandLine.run!(["download", "--force", ids])
513
+ CommandLine.run!("download", "--force", ids)
514
514
  @@push_server.send_all(:"table.reload")
515
515
  end
516
516
  end
@@ -518,7 +518,7 @@ class Narou::AppServer < Sinatra::Base
518
518
  post "/api/mail" do
519
519
  ids = select_valid_novel_ids(params["ids"]) || []
520
520
  Narou::Worker.push do
521
- CommandLine.run!(["mail", ids])
521
+ CommandLine.run!("mail", ids)
522
522
  end
523
523
  end
524
524
 
@@ -535,7 +535,7 @@ class Narou::AppServer < Sinatra::Base
535
535
  @@push_server.send_all(:"table.reload")
536
536
  end
537
537
  end
538
- cmd.execute!([ids, opt_arguments].flatten)
538
+ cmd.execute!(ids, opt_arguments)
539
539
  @@push_server.send_all(:"table.reload")
540
540
  end
541
541
  end
@@ -565,14 +565,14 @@ class Narou::AppServer < Sinatra::Base
565
565
  post "/api/send" do
566
566
  ids = select_valid_novel_ids(params["ids"]) || []
567
567
  Narou::Worker.push do
568
- CommandLine.run!(["send", ids])
568
+ CommandLine.run!("send", ids)
569
569
  end
570
570
  end
571
571
 
572
572
  post "/api/freeze" do
573
573
  ids = select_valid_novel_ids(params["ids"]) or pass
574
574
  Narou::Worker.push do
575
- CommandLine.run!(["freeze", ids])
575
+ CommandLine.run!("freeze", ids)
576
576
  @@push_server.send_all(:"table.reload")
577
577
  end
578
578
  end
@@ -580,7 +580,7 @@ class Narou::AppServer < Sinatra::Base
580
580
  post "/api/freeze_on" do
581
581
  ids = select_valid_novel_ids(params["ids"]) or pass
582
582
  Narou::Worker.push do
583
- CommandLine.run!(["freeze", "--on", ids])
583
+ CommandLine.run!("freeze", "--on", ids)
584
584
  @@push_server.send_all(:"table.reload")
585
585
  end
586
586
  end
@@ -588,7 +588,7 @@ class Narou::AppServer < Sinatra::Base
588
588
  post "/api/freeze_off" do
589
589
  ids = select_valid_novel_ids(params["ids"]) or pass
590
590
  Narou::Worker.push do
591
- CommandLine.run!(["freeze", "--off", ids])
591
+ CommandLine.run!("freeze", "--off", ids)
592
592
  @@push_server.send_all(:"table.reload")
593
593
  end
594
594
  end
@@ -600,7 +600,7 @@ class Narou::AppServer < Sinatra::Base
600
600
  opt_arguments << "--with-file"
601
601
  end
602
602
  Narou::Worker.push do
603
- CommandLine.run!(["remove", "--yes", ids, opt_arguments])
603
+ CommandLine.run!("remove", "--yes", ids, opt_arguments)
604
604
  @@push_server.send_all(:"table.reload")
605
605
  end
606
606
  end
@@ -608,7 +608,7 @@ class Narou::AppServer < Sinatra::Base
608
608
  post "/api/remove_with_file" do
609
609
  ids = select_valid_novel_ids(params["ids"]) or pass
610
610
  Narou::Worker.push do
611
- CommandLine.run!(["remove", "--yes", "--with-file", ids])
611
+ CommandLine.run!("remove", "--yes", "--with-file", ids)
612
612
  @@push_server.send_all(:"table.reload")
613
613
  end
614
614
  end
@@ -620,7 +620,7 @@ class Narou::AppServer < Sinatra::Base
620
620
  # diff コマンドは1度に一つのIDしか受け取らないので
621
621
  ids.each do |id|
622
622
  # セキュリティ的にWEB UIでは独自の差分表示のみ使う
623
- CommandLine.run!(["diff", "--no-tool", id, "--number", number])
623
+ CommandLine.run!("diff", "--no-tool", id, "--number", number)
624
624
  Helper.print_horizontal_rule
625
625
  end
626
626
  end
@@ -637,26 +637,26 @@ class Narou::AppServer < Sinatra::Base
637
637
  target = params["target"] or pass
638
638
  id = Downloader.get_id_by_target(target) or pass
639
639
  Narou::Worker.push do
640
- CommandLine.run!(%W(diff --clean #{id}))
640
+ CommandLine.run!("diff", "--clean", id)
641
641
  end
642
642
  end
643
643
 
644
644
  post "/api/inspect" do
645
645
  ids = select_valid_novel_ids(params["ids"]) or pass
646
646
  Narou::Worker.push do
647
- CommandLine.run!(["inspect", ids])
647
+ CommandLine.run!("inspect", ids)
648
648
  end
649
649
  end
650
650
 
651
651
  post "/api/folder" do
652
652
  ids = select_valid_novel_ids(params["ids"]) or pass
653
- CommandLine.run!(["folder", ids])
653
+ CommandLine.run!("folder", ids)
654
654
  end
655
655
 
656
656
  post "/api/backup" do
657
657
  ids = select_valid_novel_ids(params["ids"]) or pass
658
658
  Narou::Worker.push do
659
- CommandLine.run!(["backup", ids])
659
+ CommandLine.run!("backup", ids)
660
660
  end
661
661
  end
662
662
 
@@ -708,12 +708,12 @@ class Narou::AppServer < Sinatra::Base
708
708
  case state.to_i
709
709
  when 0
710
710
  # タグを削除
711
- CommandLine.run!(["tag", "--delete", tags.join(" "), ids])
711
+ CommandLine.run!("tag", "--delete", tags.join(" "), ids)
712
712
  when 1
713
713
  # 現状を維持(何もしない)
714
714
  when 2
715
715
  # タグを追加
716
- CommandLine.run!(["tag", "--add", tags.join(" "), ids])
716
+ CommandLine.run!("tag", "--add", tags.join(" "), ids)
717
717
  end
718
718
  end
719
719
  end
@@ -738,7 +738,7 @@ class Narou::AppServer < Sinatra::Base
738
738
  @@push_server.send_all(:"tag.updateCanvas")
739
739
  if is_update_modified
740
740
  puts "<yellow>#{Narou::MODIFIED_TAG} タグの付いた小説を更新します</yellow>".termcolor
741
- CommandLine.run!(["update", "tag:#{Narou::MODIFIED_TAG}"])
741
+ CommandLine.run!("update", "tag:#{Narou::MODIFIED_TAG}")
742
742
  @@push_server.send_all(:"table.reload")
743
743
  @@push_server.send_all(:"tag.updateCanvas")
744
744
  end
@@ -748,7 +748,7 @@ class Narou::AppServer < Sinatra::Base
748
748
  post "/api/setting_burn" do
749
749
  ids = select_valid_novel_ids(params["ids"]) or pass
750
750
  Narou::Worker.push do
751
- CommandLine.run!(["setting", "--burn", ids])
751
+ CommandLine.run!("setting", "--burn", ids)
752
752
  end
753
753
  end
754
754
 
@@ -781,7 +781,7 @@ class Narou::AppServer < Sinatra::Base
781
781
  # ダウンロード登録すると同時にグレーのボタン画像を返す
782
782
  get "/api/download4ssl" do
783
783
  Narou::Worker.push do
784
- CommandLine.run!(%W(download #{params["target"]}))
784
+ CommandLine.run!("download", params["target"])
785
785
  @@push_server.send_all(:"table.reload")
786
786
  end
787
787
  redirect "/resources/images/dl_button1.gif"
@@ -868,6 +868,7 @@ class Narou::AppServer < Sinatra::Base
868
868
  BOOKMARKLET_MODE = %w(download insert_button)
869
869
 
870
870
  get "/js/widget.js" do
871
+ @params = params
871
872
  if BOOKMARKLET_MODE.include?(params["mode"])
872
873
  content_type :js
873
874
  erb :"bookmarklet/#{params['mode']}.js"
@@ -892,8 +893,9 @@ class Narou::AppServer < Sinatra::Base
892
893
 
893
894
  get "/widget/download" do
894
895
  target = params["target"] or error("targetを指定して下さい")
896
+ mail = query_to_boolean(params["mail"]) ? "--mail" : nil
895
897
  Narou::Worker.push do
896
- CommandLine.run!(["download", target])
898
+ CommandLine.run!("download", target, mail)
897
899
  @@push_server.send_all(:"table.reload")
898
900
  end
899
901
  haml :"widget/download", layout: nil
@@ -32,8 +32,8 @@
32
32
  var url, div, iframe, btn_close;
33
33
 
34
34
  url = '<%= "#{request.scheme}://#{env["SERVER_NAME"]}:#{env["SERVER_PORT"]}" %>' +
35
- "/widget/download?from=" + location.hostname + "&target=" +
36
- encodeURIComponent(location.href) + "&t=" + Date.now();
35
+ "/widget/download?from=" + location.hostname + "&mail=<%= @params['mail'].empty? ? '' : '1' %>" +
36
+ "&target=" + encodeURIComponent(location.href) + "&t=" + Date.now();
37
37
 
38
38
  // IE の場合、iframe は親のドキュメントモードが汚染して動かない可能性があるので対処
39
39
  var docmode = document.documentMode || 10;
@@ -9,8 +9,8 @@
9
9
 
10
10
  var bookmarklet = function(d,l,e,u,o,s,m,ssl) {
11
11
  org='#{request.scheme}://#{env["SERVER_NAME"]}:#{env["SERVER_PORT"]}/';
12
- u=org+'js/widget.js?mode=%MODE%&_='+Date.now();
13
- u2=org+'widget/download?from='+l.hostname+'&target='+encodeURIComponent(l.href)+'&_='+Date.now();
12
+ u=org+'js/widget.js?mode=%MODE%%OPTIONS%&_='+Date.now();
13
+ u2=org+'widget/download?from='+l.hostname+'%OPTIONS%&target='+encodeURIComponent(l.href)+'&_='+Date.now();
14
14
  ssl=l.protocol.match(/^https/);
15
15
  if('%MODE%'==='download'&&ssl){
16
16
  window.open(u2,'dl_window','width=400,height=300,menubar=no,toolbar=no,scrollbars=no,resizable=yes');
@@ -44,13 +44,15 @@
44
44
  d.body.appendChild(e)
45
45
  };
46
46
 
47
- function createBookmarkletStrings(proc, mode) {
47
+ function createBookmarkletStrings(proc, mode, options) {
48
48
  var proc_string = proc.toString();
49
- if (mode) proc_string = proc_string.replace(/%MODE%/g, mode);
49
+ proc_string = proc_string.replace(/%MODE%/g, mode);
50
+ proc_string = proc_string.replace(/%OPTIONS%/g, options || "");
50
51
  return ("javascript:(" + proc_string + ")(document,location)").replace(/ {2,}|\n/g, "");
51
52
  }
52
53
 
53
54
  $("#bookmarklet-download").attr("href", createBookmarkletStrings(bookmarklet, "download"));
55
+ $("#bookmarklet-download-and-mail").attr("href", createBookmarkletStrings(bookmarklet, "download", '&mail=1'));
54
56
  $("#bookmarklet-insert-button").attr(
55
57
  "href",
56
58
  createBookmarkletStrings(insertButtonBookmarklet)
@@ -90,8 +92,15 @@
90
92
  %p
91
93
  %span.glyphicon.glyphicon-bookmark
92
94
  %big
93
- %a#bookmarklet-download(onclick="return false")
95
+ %a#bookmarklet-download{ onclick: "return false" }
94
96
  %u Narou.rbでダウンロード
97
+ %p
98
+ %span.glyphicon.glyphicon-bookmark
99
+ %big
100
+ %a#bookmarklet-download-and-mail{ onclick: "return false" }
101
+ %u Narou.rbでダウンロード&メール
102
+ %span.text-muted
103
+ ※ダウンロード完了後にメールで送信します
95
104
 
96
105
  %h3 ページ内の小説へのリンクにダウンロードボタンを付ける
97
106
  %div
@@ -101,7 +110,7 @@
101
110
  %p
102
111
  %span.glyphicon.glyphicon-bookmark
103
112
  %big
104
- %a#bookmarklet-insert-button(onclick="return false")
113
+ %a#bookmarklet-insert-button{ onclick: "return false" }
105
114
  %u DLボタン設置(Narou.rb)
106
115
  %span.text-danger ver 2.0
107
116
  %ul
data/narou.gemspec CHANGED
@@ -32,6 +32,20 @@ Gem::Specification.new do |gem|
32
32
  install_message = <<-EOS
33
33
  #{"*" * 60}
34
34
 
35
+ 3.2.1: 2018/05/20
36
+ ------------------
37
+ #### 追加機能
38
+ - download コマンドに --mail (-m) オプションを追加しました。ダウンロード完了後
39
+ にメールで送信します
40
+
41
+ #### WEB UI 関連
42
+ - ヘルプページに「Narou.rbでダウンロード&メール」というブックマークレットを
43
+ 追加しました
44
+
45
+ #### 修正内容
46
+ - device が未設定時にクラッシュしていた
47
+
48
+
35
49
  3.2.0: 2018/05/16
36
50
  ------------------
37
51
  #### 追加機能
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: narou
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0.1
4
+ version: 3.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - whiteleaf7
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-05-16 00:00:00.000000000 Z
11
+ date: 2018-05-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: termcolorlight
@@ -514,6 +514,20 @@ metadata: {}
514
514
  post_install_message: |
515
515
  ************************************************************
516
516
 
517
+ 3.2.1: 2018/05/20
518
+ ------------------
519
+ #### 追加機能
520
+ - download コマンドに --mail (-m) オプションを追加しました。ダウンロード完了後
521
+ にメールで送信します
522
+
523
+ #### WEB UI 関連
524
+ - ヘルプページに「Narou.rbでダウンロード&メール」というブックマークレットを
525
+ 追加しました
526
+
527
+ #### 修正内容
528
+ - device が未設定時にクラッシュしていた
529
+
530
+
517
531
  3.2.0: 2018/05/16
518
532
  ------------------
519
533
  #### 追加機能