ehbrs_ruby_utils 0.27.1 → 0.29.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c871abaf7dc4060d3d4165e5e0ac29e083ff688c87972b008578ad7c6ee3b51c
4
- data.tar.gz: 56a62fcdb9ac75d7e5fed15c145dd14b36b207628499108781337b870001147a
3
+ metadata.gz: 4d3d030552c8f65af3c5c12d12466e7c0b79b17aaa1d15e2b6b34401178a4db6
4
+ data.tar.gz: '05393346d1434c2ddfe1fbfdd0287cdbc324fbded63eaf69db3f910d27ae6397'
5
5
  SHA512:
6
- metadata.gz: 238cdc34f19c2b8c45ef4280ddac58f0f10ac6354df28c6d3fadf6d52999f4cfd7c4464c36e8b2c3353dcb11dae5bbb56f29d4fc9c110cea960d2d259952cc9c
7
- data.tar.gz: 0d6a2de37a8b40a4005b6dd6cd9363f4a7f730bf4e474307e15939ce5d902ab7ccfe1bce6e7f4f04d9021f7201783e7d58ad10c51adc17a85c33b9aca282ddca
6
+ metadata.gz: 71849968b06015398fddacfa93e9751c2088426c1a09cb9f83ec67e49e657b11488e3d9b776e8326547ff19f5b18285070ad63817fe2ea382016b2c5ad75bba0
7
+ data.tar.gz: e70b99ec32cffb0ab62f43fe7695bb8dc58795bcdaa385a66494025f5dcdf4445a8f86808fa43e9677526fd30d24291a90acdde806898563e55240c5403e69af
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module EhbrsRubyUtils
6
+ module Bga
7
+ class Game
8
+ class Image
9
+ common_constructor :game, :suffix
10
+
11
+ IMAGE_URL_PREFIX = 'https://x.boardgamearena.net/data/gamemedia/'
12
+
13
+ # @return [String]
14
+ def fs_object_id
15
+ [game.code, suffix].map(&:parameterize)
16
+ end
17
+
18
+ # @param suffix [String]
19
+ # @return [Pathname]
20
+ def local_path
21
+ download_to_cache unless fs_cache.stored?
22
+ fs_cache.content_path.to_pathname
23
+ end
24
+
25
+ # @return [Addressable::URI]
26
+ def url
27
+ "#{IMAGE_URL_PREFIX}#{game.code}#{suffix}".to_uri
28
+ end
29
+
30
+ private
31
+
32
+ # @return [void]
33
+ def download_to_cache
34
+ fs_cache.send(:assert_directory_on_path)
35
+ ::EacEnvs::Http::Request.new.url(url).response.write_body(fs_cache.content_path)
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module EhbrsRubyUtils
6
+ module Bga
7
+ class Game
8
+ common_constructor :code
9
+
10
+ # @param suffix [String]
11
+ # @return [EhbrsRubyUtils::Bga::Game::Image]
12
+ def image(suffix)
13
+ ::EhbrsRubyUtils::Bga::Game::Image.new(self, suffix)
14
+ end
15
+
16
+ {
17
+ publisher: '/publisher/0.png',
18
+ banner_medium: '/banner/default_500.jpg',
19
+ banner_large: '/banner/default.jpg',
20
+ box_small: '/box/en_75.png',
21
+ box_medium: '/box/en_180.png',
22
+ box_large: '/box/en_280.png',
23
+ title_medium: '/title/en_500.png',
24
+ title_large: '/title/en_2000.png'
25
+ }.each do |k, suffix|
26
+ define_method "#{k}_image" do
27
+ image(suffix)
28
+ end
29
+ end
30
+
31
+ # @param nth [Integer]
32
+ # @return [Addressable::URI]
33
+ def display_image(nth)
34
+ image("/display/#{nth}.jpg")
35
+ end
36
+
37
+ require_sub __FILE__
38
+ end
39
+ end
40
+ end
@@ -7,8 +7,10 @@ module EhbrsRubyUtils
7
7
  module Bga
8
8
  module Parsers
9
9
  class Table < ::Aranha::Parsers::Html::Item
10
+ GAME_IMAGE_URL_PARSER = %r{/gamemedia/([^/]+)/box/}.to_parser { |m| m[1] }
10
11
  ITEM_XPATH = '/'
11
12
 
13
+ field :game_code, :string, '//meta[@property="og:image"]/@content'
12
14
  field :game_name, :string, './/*[@id = "table_name"]/text()'
13
15
  field :creation_time, :string, './/*[@id = "creationtime"]/text()'
14
16
  field :estimated_duration, :string, './/*[@id = "estimated_duration"]/text()'
@@ -25,8 +27,9 @@ module EhbrsRubyUtils
25
27
  %i[options players].each do |key|
26
28
  r[key] = self.class.const_get(key.to_s.camelize).from_node(r.fetch(key)).data
27
29
  end
28
- r[:creation_time] = process_creation_time(r[:creation_time])
29
- r[:game_conceded] = process_game_conceded(r[:game_conceded])
30
+ %i[creation_time game_code game_conceded].each do |key|
31
+ r[key] = send("process_#{key}", r.fetch(key))
32
+ end
30
33
  r
31
34
  end
32
35
 
@@ -36,6 +39,12 @@ module EhbrsRubyUtils
36
39
  creation_time.gsub('Criado:', '').strip
37
40
  end
38
41
 
42
+ # @param node [String]
43
+ # @return [String]
44
+ def process_game_code(image_url)
45
+ GAME_IMAGE_URL_PARSER.parse!(image_url)
46
+ end
47
+
39
48
  # @param node [Nokogiri::XML::Element]
40
49
  # @return [Boolean]
41
50
  def process_game_conceded(node)
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'ehbrs_ruby_utils/bga/game'
3
4
  require 'ehbrs_ruby_utils/bga/parsers/table'
4
5
  require 'ehbrs_ruby_utils/bga/parsers/table/options'
5
6
  require 'ehbrs_ruby_utils/bga/urls'
@@ -33,6 +34,11 @@ module EhbrsRubyUtils
33
34
 
34
35
  private
35
36
 
37
+ # @return [EhbrsRubyUtils::Bga::Game]
38
+ def game_uncached
39
+ ::EhbrsRubyUtils::Bga::Game.new(game_code)
40
+ end
41
+
36
42
  SET_ITEMS.each do |item|
37
43
  define_method "#{item}_uncached" do
38
44
  data.fetch(item).map do |item_data|
@@ -21,6 +21,11 @@ module EhbrsRubyUtils
21
21
  }.freeze
22
22
  SECTION_SEPARATOR = "\n\n"
23
23
 
24
+ # @return [Pathname]
25
+ def image_local_path
26
+ table.game.box_large_image.local_path
27
+ end
28
+
24
29
  def to_s
25
30
  [root_items_to_s, players_to_s, options_to_s].map(&:strip).join(SECTION_SEPARATOR)
26
31
  end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module EhbrsRubyUtils
6
+ module Bga
7
+ require_sub __FILE__
8
+ end
9
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'ehbrs_ruby_utils/bga/session'
4
+ require 'ehbrs_ruby_utils/executables'
5
+ require 'ehbrs_ruby_utils/mudslide/message'
6
+ require 'eac_ruby_utils/core_ext'
7
+
8
+ module EhbrsRubyUtils
9
+ module Gjt1
10
+ class Manager
11
+ include ::Singleton
12
+ acts_as_abstract :bga_usernam, :bga_password, :whatsapp_recipient
13
+
14
+ # @param table [EhbrsRubyUtils::Bga::Table]
15
+ # @return [void]
16
+ def bga_table_notify(table)
17
+ formatter = ::EhbrsRubyUtils::Bga::TableWhatsappFormatter.new(table)
18
+ whatsapp_send(formatter.to_s, formatter.image_local_path)
19
+ end
20
+
21
+ def on_bga_logged_session(&block)
22
+ bga_session = new_bga_session
23
+ begin
24
+ bga_session.on_logged { block.call(bga_session) }
25
+ ensure
26
+ bga_session.close
27
+ bga_session = nil
28
+ end
29
+ end
30
+
31
+ # @return [EhbrsRubyUtils::Bga::Session] Cria uma nova sessão BGA.
32
+ def new_bga_session
33
+ ::EhbrsRubyUtils::Bga::Session.new(bga_username, bga_password)
34
+ end
35
+
36
+ # @param message [String]
37
+ # @param image_path [Pathname]
38
+ # @return [void]
39
+ def whatsapp_send(message, image_path = nil)
40
+ ::EhbrsRubyUtils::Mudslide::Message.new.text(message).image_path(image_path)
41
+ .recipient(whatsapp_recipient).deliver
42
+ end
43
+
44
+ private
45
+
46
+ def mudslide_run(*args)
47
+ ::EhbrsRubyUtils::Executables.mudslide.command(*args).system!
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module EhbrsRubyUtils
6
+ module Gjt1
7
+ require_sub __FILE__
8
+ end
9
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'ehbrs_ruby_utils/executables'
5
+
6
+ module EhbrsRubyUtils
7
+ module Mudslide
8
+ class Message
9
+ acts_as_immutable
10
+ immutable_accessor :image_path, :recipient, :text
11
+
12
+ def deliver
13
+ raise 'No recipient set' if recipient.blank?
14
+
15
+ if image_path.present?
16
+ deliver_image
17
+ elsif text.present?
18
+ deliver_text
19
+ else
20
+ deliver
21
+ end
22
+ end
23
+
24
+ private
25
+
26
+ # @return [void]
27
+ def deliver_image
28
+ args = ['send-image']
29
+ text.if_present { |_v| args += ['--caption', text] }
30
+ mudslide_run(*args, recipient, image_path)
31
+ end
32
+
33
+ # @return [void]
34
+ def deliver_text
35
+ mudslide_run('send', recipient, text)
36
+ end
37
+
38
+ # @return [void]
39
+ def mudslide_run(*args)
40
+ ::EhbrsRubyUtils::Executables.mudslide.command(*args).system!
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module EhbrsRubyUtils
6
+ module Mudslide
7
+ require_sub __FILE__
8
+ end
9
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EhbrsRubyUtils
4
- VERSION = '0.27.1'
4
+ VERSION = '0.29.0'
5
5
  end
@@ -1,4 +1,5 @@
1
1
  ---
2
+ :game_code: puertorico
2
3
  :game_name: Puerto Rico
3
4
  :creation_time: 24/09/2022 às 22:41
4
5
  :estimated_duration: 2h31
@@ -1,4 +1,5 @@
1
1
  ---
2
+ :game_code: thecrew
2
3
  :game_name: A Tripulação (The Crew)
3
4
  :creation_time: 15/10/2022 às 17:49
4
5
  :estimated_duration: 3.6 dias
@@ -1,4 +1,5 @@
1
1
  ---
2
+ :game_code: puertorico
2
3
  :game_name: Puerto Rico
3
4
  :creation_time: 14/03/2023 às 08:36
4
5
  :estimated_duration: 35 dias
@@ -1,4 +1,5 @@
1
1
  ---
2
+ :game_code: puertorico
2
3
  :game_name: Puerto Rico
3
4
  :creation_time: 16/03/2023 às 22:13
4
5
  :estimated_duration: 35 dias
@@ -1,4 +1,5 @@
1
1
  ---
2
+ :game_code: puertorico
2
3
  :game_name: Puerto Rico
3
4
  :creation_time: 18/04/2023 às 16:25
4
5
  :estimated_duration: 24 dias
@@ -1,4 +1,5 @@
1
1
  ---
2
+ :game_code: quoridor
2
3
  :game_name: Quoridor
3
4
  :creation_time: 03/05/2023 às 23:40
4
5
  :estimated_duration: 5 dias
@@ -1,4 +1,5 @@
1
1
  ---
2
+ :game_code: koikoi
2
3
  :game_name: Koi-koi
3
4
  :creation_time: 04/05/2023 às 11:13
4
5
  :estimated_duration: 5 dias
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ehbrs_ruby_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.27.1
4
+ version: 0.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduardo H. Bogoni
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-10 00:00:00.000000000 Z
11
+ date: 2023-06-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aranha
@@ -113,6 +113,9 @@ dependencies:
113
113
  - - "~>"
114
114
  - !ruby/object:Gem::Version
115
115
  version: '0.9'
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: 0.9.1
116
119
  type: :runtime
117
120
  prerelease: false
118
121
  version_requirements: !ruby/object:Gem::Requirement
@@ -120,6 +123,9 @@ dependencies:
120
123
  - - "~>"
121
124
  - !ruby/object:Gem::Version
122
125
  version: '0.9'
126
+ - - ">="
127
+ - !ruby/object:Gem::Version
128
+ version: 0.9.1
123
129
  - !ruby/object:Gem::Dependency
124
130
  name: eac_ruby_utils
125
131
  requirement: !ruby/object:Gem::Requirement
@@ -231,6 +237,9 @@ files:
231
237
  - ".rspec"
232
238
  - ".rubocop.yml"
233
239
  - lib/ehbrs_ruby_utils.rb
240
+ - lib/ehbrs_ruby_utils/bga.rb
241
+ - lib/ehbrs_ruby_utils/bga/game.rb
242
+ - lib/ehbrs_ruby_utils/bga/game/image.rb
234
243
  - lib/ehbrs_ruby_utils/bga/parsers/game_stats.rb
235
244
  - lib/ehbrs_ruby_utils/bga/parsers/game_stats/players.rb
236
245
  - lib/ehbrs_ruby_utils/bga/parsers/table.rb
@@ -264,6 +273,10 @@ files:
264
273
  - lib/ehbrs_ruby_utils/fs/selected.rb
265
274
  - lib/ehbrs_ruby_utils/fs/selected/build.rb
266
275
  - lib/ehbrs_ruby_utils/fs/selected/build_file.rb
276
+ - lib/ehbrs_ruby_utils/gjt1.rb
277
+ - lib/ehbrs_ruby_utils/gjt1/manager.rb
278
+ - lib/ehbrs_ruby_utils/mudslide.rb
279
+ - lib/ehbrs_ruby_utils/mudslide/message.rb
267
280
  - lib/ehbrs_ruby_utils/music.rb
268
281
  - lib/ehbrs_ruby_utils/music/lyrics_book.rb
269
282
  - lib/ehbrs_ruby_utils/music/lyrics_book/album.rb
@@ -393,50 +406,50 @@ signing_key:
393
406
  specification_version: 4
394
407
  summary: Utilities for EHB/RS's Ruby projects.
395
408
  test_files:
396
- - spec/rubocop_check_spec.rb
409
+ - spec/spec_helper.rb
410
+ - spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec.rb
411
+ - spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_attachment.target.yaml
412
+ - spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_subtitle.target.yaml
413
+ - spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_attachment.source.yaml
414
+ - spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_video.source.yaml
415
+ - spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_subtitle.source.yaml
416
+ - spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_video.target.yaml
417
+ - spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_audio.target.yaml
418
+ - spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_audio.source.yaml
419
+ - spec/lib/ehbrs_ruby_utils/videos/resolution_spec.rb
420
+ - spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec.rb
421
+ - spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/title_spec.rb
422
+ - spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec_files/counterpart_s01e01.target.yaml
423
+ - spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec_files/wire-season-1-page-1.target.yaml
424
+ - spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec_files/counterpart_s01e01.source.html
425
+ - spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec_files/wire-season-1-page-1.source.html
426
+ - spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/title_spec_files/countepart.source.html
427
+ - spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/title_spec_files/countepart.target.yaml
428
+ - spec/lib/ehbrs_ruby_utils/videos/stream_spec.rb
397
429
  - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_308782287.target.yaml
398
- - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_356513708.target.yaml
399
- - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_302873643.target.yaml
400
430
  - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_368448439.target.yaml
401
- - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_368448439.source.html
402
- - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_357408039.source.html
403
431
  - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_356513708.source.html
432
+ - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_357408039.source.html
433
+ - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_356513708.target.yaml
434
+ - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_373747455.target.yaml
435
+ - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_302873643.target.yaml
404
436
  - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_373747455.source.html
405
- - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_373602409.source.html
406
- - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_373602409.target.yaml
407
437
  - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_302873643.source.html
408
- - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_357408039.target.yaml
438
+ - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_373602409.target.yaml
409
439
  - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_308782287.source.html
410
- - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_373747455.target.yaml
411
- - spec/lib/ehbrs_ruby_utils/bga/parsers/game_stats_spec_files/2.target.yaml
412
- - spec/lib/ehbrs_ruby_utils/bga/parsers/game_stats_spec_files/2.source.html
440
+ - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_368448439.source.html
441
+ - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_373602409.source.html
442
+ - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec_files/table_357408039.target.yaml
413
443
  - spec/lib/ehbrs_ruby_utils/bga/parsers/game_stats_spec_files/1.source.html
444
+ - spec/lib/ehbrs_ruby_utils/bga/parsers/game_stats_spec_files/2.target.yaml
414
445
  - spec/lib/ehbrs_ruby_utils/bga/parsers/game_stats_spec_files/1.target.yaml
446
+ - spec/lib/ehbrs_ruby_utils/bga/parsers/game_stats_spec_files/2.source.html
415
447
  - spec/lib/ehbrs_ruby_utils/bga/parsers/game_stats_spec.rb
416
448
  - spec/lib/ehbrs_ruby_utils/bga/parsers/table_spec.rb
417
- - spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec.rb
418
- - spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/minimum.target.yaml
419
- - spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/ehbrs_music1.source.yaml
420
449
  - spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/minimum.source.yaml
450
+ - spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/minimum.target.yaml
421
451
  - spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/ehbrs_music1.target.yaml
422
- - spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/title_spec_files/countepart.target.yaml
423
- - spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/title_spec_files/countepart.source.html
424
- - spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/title_spec.rb
425
- - spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec.rb
426
- - spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec_files/counterpart_s01e01.source.html
427
- - spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec_files/wire-season-1-page-1.target.yaml
428
- - spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec_files/wire-season-1-page-1.source.html
429
- - spec/lib/ehbrs_ruby_utils/videos/opensubtitles/parsers/episode_spec_files/counterpart_s01e01.target.yaml
430
- - spec/lib/ehbrs_ruby_utils/videos/stream_spec.rb
431
- - spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_audio.target.yaml
432
- - spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_video.target.yaml
433
- - spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_attachment.target.yaml
434
- - spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_subtitle.target.yaml
435
- - spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_audio.source.yaml
436
- - spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_attachment.source.yaml
437
- - spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_subtitle.source.yaml
438
- - spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_video.source.yaml
439
- - spec/lib/ehbrs_ruby_utils/videos/resolution_spec.rb
440
- - spec/spec_helper.rb
452
+ - spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/ehbrs_music1.source.yaml
453
+ - spec/rubocop_check_spec.rb
441
454
  - ".rubocop.yml"
442
455
  - ".rspec"