ehbrs-tools 0.43.1 → 0.44.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +170 -151
  3. data/exe/ehbrs +1 -1
  4. data/lib/ehbrs/tools/application.rb +7 -5
  5. data/lib/ehbrs/tools/core_ext.rb +0 -2
  6. data/lib/ehbrs/tools/executables.rb +0 -16
  7. data/lib/ehbrs/tools/google/translate/session.rb +61 -0
  8. data/lib/ehbrs/tools/instance.rb +0 -3
  9. data/lib/ehbrs/tools/observers/base.rb +63 -0
  10. data/lib/ehbrs/tools/observers/with_persistence.rb +33 -0
  11. data/lib/ehbrs/tools/runner/booking/accommodations.rb +0 -3
  12. data/lib/ehbrs/tools/runner/booking.rb +0 -2
  13. data/lib/ehbrs/tools/runner/cooking_book/build.rb +0 -4
  14. data/lib/ehbrs/tools/runner/cooking_book.rb +0 -3
  15. data/lib/ehbrs/tools/runner/finances/bb_browser.rb +0 -3
  16. data/lib/ehbrs/tools/runner/finances.rb +0 -2
  17. data/lib/ehbrs/tools/runner/fs/selected.rb +0 -5
  18. data/lib/ehbrs/tools/runner/fs/used_space.rb +1 -5
  19. data/lib/ehbrs/tools/runner/fs.rb +0 -2
  20. data/lib/ehbrs/tools/runner/google/translate.rb +1 -5
  21. data/lib/ehbrs/tools/runner/google.rb +0 -2
  22. data/lib/ehbrs/tools/runner/music/lyrics.rb +0 -4
  23. data/lib/ehbrs/tools/runner/music/lyrics_book.rb +0 -5
  24. data/lib/ehbrs/tools/runner/music/selected.rb +0 -3
  25. data/lib/ehbrs/tools/runner/music/sort/dump.rb +0 -4
  26. data/lib/ehbrs/tools/runner/music/sort/load.rb +0 -2
  27. data/lib/ehbrs/tools/runner/music/sort/shuffle.rb +0 -3
  28. data/lib/ehbrs/tools/runner/music/sort.rb +0 -3
  29. data/lib/ehbrs/tools/runner/music/spread.rb +0 -4
  30. data/lib/ehbrs/tools/runner/music.rb +0 -2
  31. data/lib/ehbrs/tools/runner/telegram/send_message.rb +1 -4
  32. data/lib/ehbrs/tools/runner/telegram.rb +0 -3
  33. data/lib/ehbrs/tools/runner/vg/patch.rb +2 -7
  34. data/lib/ehbrs/tools/runner/vg/ps2/rename.rb +0 -3
  35. data/lib/ehbrs/tools/runner/vg/ps2.rb +0 -2
  36. data/lib/ehbrs/tools/runner/vg/wii.rb +0 -5
  37. data/lib/ehbrs/tools/runner/vg.rb +0 -2
  38. data/lib/ehbrs/tools/runner/videos/extract.rb +0 -3
  39. data/lib/ehbrs/tools/runner/videos/languages/file_runner.rb +1 -4
  40. data/lib/ehbrs/tools/runner/videos/languages/labelized.rb +0 -2
  41. data/lib/ehbrs/tools/runner/videos/languages/language.rb +0 -3
  42. data/lib/ehbrs/tools/runner/videos/languages/track.rb +0 -3
  43. data/lib/ehbrs/tools/runner/videos/languages.rb +0 -5
  44. data/lib/ehbrs/tools/runner/videos/opensubtitles.rb +0 -3
  45. data/lib/ehbrs/tools/runner/videos/probe.rb +0 -4
  46. data/lib/ehbrs/tools/runner/videos/series/rename.rb +0 -5
  47. data/lib/ehbrs/tools/runner/videos/series.rb +0 -2
  48. data/lib/ehbrs/tools/runner/videos/subtitles/sanitize.rb +0 -3
  49. data/lib/ehbrs/tools/runner/videos/subtitles.rb +0 -2
  50. data/lib/ehbrs/tools/runner/videos/unsupported.rb +0 -5
  51. data/lib/ehbrs/tools/runner/videos.rb +0 -2
  52. data/lib/ehbrs/tools/runner/web_utils/finances/bills/consume.rb +0 -4
  53. data/lib/ehbrs/tools/runner/web_utils/finances/bills.rb +0 -2
  54. data/lib/ehbrs/tools/runner/web_utils/finances.rb +0 -2
  55. data/lib/ehbrs/tools/runner/web_utils/videos/download.rb +0 -3
  56. data/lib/ehbrs/tools/runner/web_utils/videos/upload.rb +0 -5
  57. data/lib/ehbrs/tools/runner/web_utils/videos.rb +0 -2
  58. data/lib/ehbrs/tools/runner/web_utils.rb +0 -3
  59. data/lib/ehbrs/tools/runner.rb +1 -7
  60. data/lib/ehbrs/tools/self/observers/used_space.rb +22 -0
  61. data/lib/ehbrs/tools/self/observers/with_persistence.rb +37 -0
  62. data/lib/ehbrs/tools/telegram/message_sending.rb +30 -0
  63. data/lib/ehbrs/tools/user_dirs.rb +33 -0
  64. data/lib/ehbrs/tools/version.rb +1 -1
  65. data/lib/ehbrs/tools.rb +7 -2
  66. metadata +47 -54
  67. data/lib/ehbrs/google/translate/session.rb +0 -61
  68. data/lib/ehbrs/google/translate.rb +0 -11
  69. data/lib/ehbrs/google.rb +0 -9
  70. data/lib/ehbrs/music.rb +0 -9
  71. data/lib/ehbrs/observers/base.rb +0 -63
  72. data/lib/ehbrs/observers/with_persistence.rb +0 -34
  73. data/lib/ehbrs/observers.rb +0 -11
  74. data/lib/ehbrs/self/observers/used_space.rb +0 -22
  75. data/lib/ehbrs/self/observers/with_persistence.rb +0 -38
  76. data/lib/ehbrs/self.rb +0 -9
  77. data/lib/ehbrs/telegram/message_sending.rb +0 -31
  78. data/lib/ehbrs/telegram.rb +0 -9
  79. data/lib/ehbrs/tools/vg/patches/applier_factory.rb +0 -43
  80. data/lib/ehbrs/tools/vg/patches/base_applier.rb +0 -37
  81. data/lib/ehbrs/tools/vg/patches/ips_applier.rb +0 -23
  82. data/lib/ehbrs/tools/vg/patches/temp_files.rb +0 -40
  83. data/lib/ehbrs/tools/vg/patches/vcdiff_applier.rb +0 -23
  84. data/lib/ehbrs/tools/vg/patches.rb +0 -13
  85. data/lib/ehbrs/tools/vg.rb +0 -11
  86. data/lib/ehbrs/user_dirs.rb +0 -34
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Ehbrs
4
+ module Tools
5
+ module Observers
6
+ class WithPersistence < ::Ehbrs::Tools::Observers::Base
7
+ attr_reader :path
8
+
9
+ def initialize(path, options = {})
10
+ super(options)
11
+ @path = path.to_pathname
12
+ load
13
+ end
14
+
15
+ def check(value, date = ::Time.required_zone.now)
16
+ save if super
17
+ end
18
+
19
+ def load
20
+ save unless path.exist?
21
+ data = ::YAML.load_file(path.to_path)
22
+ @records = data.fetch(:records).map(&:to_struct)
23
+ @last_check_time = data.fetch(:last_check_time)
24
+ end
25
+
26
+ def save
27
+ path.parent.mkpath
28
+ path.write({ records: records.map(&:to_h), last_check_time: last_check_time }.to_yaml)
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_base0/core_ext'
4
- require 'ehbrs_ruby_utils/booking/processors/list'
5
-
6
3
  module Ehbrs
7
4
  module Tools
8
5
  class Runner
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/core_ext'
4
-
5
3
  module Ehbrs
6
4
  module Tools
7
5
  class Runner
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/core_ext'
4
- require 'ehbrs_ruby_utils/cooking_book/build'
5
- require 'os'
6
-
7
3
  module Ehbrs
8
4
  module Tools
9
5
  class Runner
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/core_ext'
4
- require 'ehbrs_ruby_utils/cooking_book/project'
5
-
6
3
  module Ehbrs
7
4
  module Tools
8
5
  class Runner
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ehbrs/tools/core_ext'
4
- require 'ehbrs_ruby_utils/finances/bb_browser/docker_image'
5
-
6
3
  module Ehbrs
7
4
  module Tools
8
5
  class Runner
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/core_ext'
4
-
5
3
  module Ehbrs
6
4
  module Tools
7
5
  class Runner
@@ -1,10 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/envs'
4
-
5
- require 'ehbrs/tools/core_ext'
6
- require 'ehbrs_ruby_utils/fs/selected'
7
-
8
3
  module Ehbrs
9
4
  module Tools
10
5
  class Runner
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/core_ext'
4
- require 'ehbrs/self/observers/used_space'
5
- require 'filesize'
6
-
7
3
  module Ehbrs
8
4
  module Tools
9
5
  class Runner
@@ -79,7 +75,7 @@ module Ehbrs
79
75
  end
80
76
 
81
77
  def observer_uncached
82
- ::Ehbrs::Self::Observers::UsedSpace.new(path)
78
+ ::Ehbrs::Tools::Self::Observers::UsedSpace.new(path)
83
79
  end
84
80
 
85
81
  def changing_label(bool)
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/core_ext'
4
-
5
3
  module Ehbrs
6
4
  module Tools
7
5
  class Runner
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/default_runner'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'ehbrs/google/translate/session'
6
-
7
3
  module Ehbrs
8
4
  module Tools
9
5
  class Runner
@@ -50,7 +46,7 @@ module Ehbrs
50
46
  end
51
47
 
52
48
  def session_uncached
53
- ::Ehbrs::Google::Translate::Session.new
49
+ ::Ehbrs::Tools::Google::Translate::Session.new
54
50
  end
55
51
 
56
52
  def validate
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/core_ext'
4
-
5
3
  module Ehbrs
6
4
  module Tools
7
5
  class Runner
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ehbrs/tools/core_ext'
4
- require 'ehbrs_ruby_utils/videos/file'
5
- require 'ultimate_lyrics/provider'
6
-
7
3
  module Ehbrs
8
4
  module Tools
9
5
  class Runner
@@ -1,10 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ehbrs/tools/core_ext'
4
- require 'ehbrs_ruby_utils/music/lyrics_book'
5
- require 'ehbrs_ruby_utils/videos/file'
6
- require 'ultimate_lyrics/provider'
7
-
8
3
  module Ehbrs
9
4
  module Tools
10
5
  class Runner
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ehbrs_ruby_utils/music/ous/album'
4
- require 'ehbrs/tools/runner/fs/selected'
5
-
6
3
  module Ehbrs
7
4
  module Tools
8
5
  class Runner
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ehbrs_ruby_utils/core_ext'
4
- require 'ehbrs_ruby_utils/music/sort/files/base'
5
- require 'ehbrs_ruby_utils/music/sort/files/factory'
6
-
7
3
  module Ehbrs
8
4
  module Tools
9
5
  class Runner
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_base0/core_ext'
4
-
5
3
  module Ehbrs
6
4
  module Tools
7
5
  class Runner
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ehbrs_ruby_utils/core_ext'
4
- require 'ehbrs_ruby_utils/music/sort/files/factory'
5
-
6
3
  module Ehbrs
7
4
  module Tools
8
5
  class Runner
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_base0/core_ext'
4
- require 'ehbrs_ruby_utils/music/sort/files/scanner'
5
-
6
3
  module Ehbrs
7
4
  module Tools
8
5
  class Runner
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ehbrs_ruby_utils/music/ous/album'
4
- require 'ehbrs_ruby_utils/circular_list_spreader'
5
- require 'ehbrs/tools/runner/fs/selected'
6
-
7
3
  module Ehbrs
8
4
  module Tools
9
5
  class Runner
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/core_ext'
4
-
5
3
  module Ehbrs
6
4
  module Tools
7
5
  class Runner
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/core_ext'
4
- require 'ehbrs/telegram/message_sending'
5
-
6
3
  module Ehbrs
7
4
  module Tools
8
5
  class Runner
@@ -20,7 +17,7 @@ module Ehbrs
20
17
 
21
18
  def message_sending_uncached
22
19
  parsed.recipients_ids
23
- .inject(::Ehbrs::Telegram::MessageSending.new) { |a, e| a.recipient_id(e) }
20
+ .inject(::Ehbrs::Tools::Telegram::MessageSending.new) { |a, e| a.recipient_id(e) }
24
21
  .bot_token(runner_context.call(:bot_token))
25
22
  .message(parsed.message)
26
23
  end
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/core_ext'
4
- require 'ehbrs/tools/instance'
5
-
6
3
  module Ehbrs
7
4
  module Tools
8
5
  class Runner
@@ -1,10 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/core_ext'
4
- require 'eac_ruby_utils/fs/temp'
5
- require 'ehbrs/tools/vg/patches/applier_factory'
6
- require 'ehbrs/tools/vg/patches/temp_files'
7
-
8
3
  module Ehbrs
9
4
  module Tools
10
5
  class Runner
@@ -30,13 +25,13 @@ module Ehbrs
30
25
  def on_temp_files
31
26
  ::EacRubyUtils::Fs::Temp.on_file do |input|
32
27
  ::EacRubyUtils::Fs::Temp.on_file do |output|
33
- yield ::Ehbrs::Tools::Vg::Patches::TempFiles.new(source_file, input, output)
28
+ yield ::EhbrsRubyUtils::Vg::Patchers::TempFiles.new(source_file, input, output)
34
29
  end
35
30
  end
36
31
  end
37
32
 
38
33
  def run_patch(source_path, ips_path, output_path)
39
- ::Ehbrs::Tools::Vg::Patches::ApplierFactory.new(ips_path)
34
+ ::EhbrsRubyUtils::Vg::Patchers::ApplierFactory.new(ips_path)
40
35
  .apply(source_path, output_path)
41
36
  end
42
37
 
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ehbrs_ruby_utils/vg/ps2/iso_file'
4
- require 'eac_ruby_base0/core_ext'
5
-
6
3
  module Ehbrs
7
4
  module Tools
8
5
  class Runner
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_base0/core_ext'
4
-
5
3
  module Ehbrs
6
4
  module Tools
7
5
  class Runner
@@ -1,10 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/core_ext'
4
- require 'eac_fs/traversable'
5
- require 'ehbrs_ruby_utils/vg/wii/file_move'
6
- require 'ehbrs_ruby_utils/vg/wii/game_file'
7
-
8
3
  module Ehbrs
9
4
  module Tools
10
5
  class Runner
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/core_ext'
4
-
5
3
  module Ehbrs
6
4
  module Tools
7
5
  class Runner
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/core_ext'
4
- require 'ehbrs_ruby_utils/videos2/extract/package'
5
-
6
3
  module Ehbrs
7
4
  module Tools
8
5
  class Runner
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
4
- require 'ehbrs_ruby_utils/executables'
5
-
6
3
  module Ehbrs
7
4
  module Tools
8
5
  class Runner
@@ -83,7 +80,7 @@ module Ehbrs
83
80
  %w[-map 0] + tracks.flat_map(&:delete_ffmpeg_args) + %w[-c copy]
84
81
  end
85
82
 
86
- def extract_check
83
+ def extract_check # rubocop:disable Naming/PredicateMethod
87
84
  return false unless runner.extract?
88
85
 
89
86
  unless included_tracks.any?
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
4
-
5
3
  module Ehbrs
6
4
  module Tools
7
5
  class Runner
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
4
- require 'ehbrs/tools/runner/videos/languages/labelized'
5
-
6
3
  module Ehbrs
7
4
  module Tools
8
5
  class Runner
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/core_ext'
4
- require 'ehbrs/tools/runner/videos/languages/labelized'
5
-
6
3
  module Ehbrs
7
4
  module Tools
8
5
  class Runner
@@ -1,10 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_base0/core_ext'
4
- require 'ehbrs/tools/executables'
5
- require 'ehbrs_ruby_utils/videos/file'
6
- require 'ehbrs_ruby_utils/videos/convert_job'
7
-
8
3
  module Ehbrs
9
4
  module Tools
10
5
  class Runner
@@ -1,9 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
- require 'eac_ruby_base0/core_ext'
5
- require 'ehbrs_ruby_utils/videos/opensubtitles/processors/subtitles_provider'
6
-
7
4
  module Ehbrs
8
5
  module Tools
9
6
  class Runner
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ehbrs_ruby_utils/videos/file'
4
- require 'eac_ruby_base0/core_ext'
5
- require 'eac_ruby_utils/yaml'
6
-
7
3
  module Ehbrs
8
4
  module Tools
9
5
  class Runner
@@ -1,10 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/core_ext'
4
- require 'ehbrs_ruby_utils/videos/series/rename/file'
5
- require 'ehbrs_ruby_utils/videos/series/rename/file/options'
6
- require 'ehbrs_ruby_utils/videos/series/rename/results_builder'
7
-
8
3
  module Ehbrs
9
4
  module Tools
10
5
  class Runner
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/core_ext'
4
-
5
3
  module Ehbrs
6
4
  module Tools
7
5
  class Runner
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_base0/core_ext'
4
- require 'ehbrs_ruby_utils/videos/subtitles/sanitize'
5
-
6
3
  module Ehbrs
7
4
  module Tools
8
5
  class Runner
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_base0/core_ext'
4
-
5
3
  module Ehbrs
6
4
  module Tools
7
5
  class Runner
@@ -1,10 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/core_ext'
4
- require 'ehbrs_ruby_utils/videos2/unsupported/check_set'
5
- require 'ehbrs_ruby_utils/videos2/unsupported/search'
6
- require 'ehbrs_ruby_utils/videos2/unsupported/profiles'
7
-
8
3
  module Ehbrs
9
4
  module Tools
10
5
  class Runner
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/core_ext'
4
-
5
3
  module Ehbrs
6
4
  module Tools
7
5
  class Runner
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_base0/core_ext'
4
- require 'json'
5
- require 'yaml'
6
-
7
3
  module Ehbrs
8
4
  module Tools
9
5
  class Runner
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_base0/core_ext'
4
-
5
3
  module Ehbrs
6
4
  module Tools
7
5
  class Runner
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_base0/core_ext'
4
-
5
3
  module Ehbrs
6
4
  module Tools
7
5
  class Runner
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_base0/core_ext'
4
- require 'ehbrs_ruby_utils/web_utils/videos/file'
5
-
6
3
  module Ehbrs
7
4
  module Tools
8
5
  class Runner
@@ -1,10 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/core_ext'
4
- require 'ehbrs_ruby_utils/web_utils/videos/files_list'
5
- require 'json'
6
- require 'yaml'
7
-
8
3
  module Ehbrs
9
4
  module Tools
10
5
  class Runner
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/core_ext'
4
-
5
3
  module Ehbrs
6
4
  module Tools
7
5
  class Runner
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/core_ext'
4
- require 'ehbrs_ruby_utils/web_utils/instance'
5
-
6
3
  module Ehbrs
7
4
  module Tools
8
5
  class Runner
@@ -1,9 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'avm/tools/runner'
4
- require 'eac_ruby_base0/runner'
5
- require 'ehbrs/tools/application'
6
-
7
3
  module Ehbrs
8
4
  module Tools
9
5
  class Runner
@@ -14,9 +10,7 @@ module Ehbrs
14
10
  desc 'Tools for EHB/RS.'
15
11
  end
16
12
 
17
- def application
18
- ::Ehbrs::Tools.application
19
- end
13
+ delegate :application, to: :'::Ehbrs::Tools'
20
14
 
21
15
  def extra_available_subcommands
22
16
  {
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Ehbrs
4
+ module Tools
5
+ module Self
6
+ module Observers
7
+ class UsedSpace < ::Ehbrs::Tools::Self::Observers::WithPersistence
8
+ def path
9
+ label
10
+ end
11
+
12
+ def calculate_value
13
+ env = ::EacRubyUtils::Envs.local
14
+ env.command('du', '-sb', path.to_s).pipe(
15
+ env.command('cut', '-f', '-1')
16
+ ).execute!.strip.to_i
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Ehbrs
4
+ module Tools
5
+ module Self
6
+ module Observers
7
+ class WithPersistence
8
+ enable_simple_cache
9
+ common_constructor :label
10
+
11
+ def check_current_value
12
+ observer.check(current_value)
13
+ end
14
+
15
+ def changing_value?
16
+ observer.changing_value?(current_value)
17
+ end
18
+
19
+ private
20
+
21
+ def current_value_uncached
22
+ calculate_value
23
+ end
24
+
25
+ def observer_uncached
26
+ ::Ehbrs::Tools::Observers::WithPersistence.new(persistence_path, blank_value: :raise)
27
+ end
28
+
29
+ def persistence_path_uncached
30
+ ::Ehbrs::Tools::UserDirs.data.child('observers', label.to_s.parameterize)
31
+ .content_path.to_pathname
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end