ehbrs_ruby_utils 0.17.3 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e33992f6ff34c43794a34bf8e7d9947aeb9a8987c407374128136b5d84a8ce41
4
- data.tar.gz: 052645d454f893b434f3d9a46b6881483f96a5a9cb5f32fc56634a8119e9f049
3
+ metadata.gz: 5acf6fe93e603883c1a2e9f816ffadcbd8d4a38bd20ccf813735e844f7b2e348
4
+ data.tar.gz: f497605aacb3b71e4e0b45faaac5bd3f9ead04fda51e6ffef3593ef88cfe09d7
5
5
  SHA512:
6
- metadata.gz: 53cae13cd044d18a702e2a1a58ccf95191e19fb8688ae6e28624fc12e73e165818d0067b1064c8a29b5a4b23d471e134c858e29b1151375f7d95ea4a6598aa61
7
- data.tar.gz: 9e6ab67552a88c0b201c6657f9cb3fe9387663a1d68654ca9b611baa8b8217cd1a67567c39602ce9ec83bbc2a6f9c700b004a147e64ce0d49858906b7f2a7a5f
6
+ metadata.gz: b4acafae07d720b20b8102e2757c39dee8a8ee629c68e05110440324a77850e147ac2a8954a0644c6b85a96cdb5b90db306f417b09be6b9c538a496387b6ad1a
7
+ data.tar.gz: b4b6437fb9ad509308540a7913d6021c378f1e5450d66a65871ae4f5356adc6222db771840b666d672c75bb18e7212673ef00a79e94da70c65a4fd2ecbbbf931
@@ -3,7 +3,7 @@
3
3
  require 'eac_ruby_utils/core_ext'
4
4
 
5
5
  module EhbrsRubyUtils
6
- class SpreaderT1
6
+ class CircularListSpreader
7
7
  module BaseLevel
8
8
  extend ::Comparable
9
9
 
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_ruby_utils/core_ext'
4
- require 'ehbrs_ruby_utils/spreader_t1/base_level'
5
- require 'ehbrs_ruby_utils/spreader_t1/item_level'
4
+ require 'ehbrs_ruby_utils/circular_list_spreader/base_level'
5
+ require 'ehbrs_ruby_utils/circular_list_spreader/item_level'
6
6
 
7
7
  module EhbrsRubyUtils
8
- class SpreaderT1
8
+ class CircularListSpreader
9
9
  class GroupLevel
10
- include ::EhbrsRubyUtils::SpreaderT1::BaseLevel
10
+ include ::EhbrsRubyUtils::CircularListSpreader::BaseLevel
11
11
  enable_simple_cache
12
12
 
13
13
  common_constructor :label
@@ -56,7 +56,7 @@ module EhbrsRubyUtils
56
56
  def push_item_level(current, item)
57
57
  raise "Key \"#{current}\" already used" if children[current].present?
58
58
 
59
- children[current] = ::EhbrsRubyUtils::SpreaderT1::ItemLevel.new(item)
59
+ children[current] = ::EhbrsRubyUtils::CircularListSpreader::ItemLevel.new(item)
60
60
  end
61
61
  end
62
62
  end
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'eac_ruby_utils/core_ext'
4
- require 'ehbrs_ruby_utils/spreader_t1/base_level'
4
+ require 'ehbrs_ruby_utils/circular_list_spreader/base_level'
5
5
 
6
6
  module EhbrsRubyUtils
7
- class SpreaderT1
7
+ class CircularListSpreader
8
8
  class ItemLevel
9
- include ::EhbrsRubyUtils::SpreaderT1::BaseLevel
9
+ include ::EhbrsRubyUtils::CircularListSpreader::BaseLevel
10
10
 
11
11
  common_constructor :item do
12
12
  self.removed = false
@@ -20,7 +20,7 @@ module EhbrsRubyUtils
20
20
  raise 'Item already removed' if removed?
21
21
 
22
22
  self.removed = true
23
- item
23
+ self
24
24
  end
25
25
 
26
26
  def remaining_i
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module EhbrsRubyUtils
6
+ class CircularListSpreader
7
+ class List
8
+ class ItemPairSpreadness
9
+ enable_method_class
10
+ enable_simple_cache
11
+ common_constructor :list, :left_index, :right_index do
12
+ raise "Right is not greater than left (Left: #{left_index}, Right: #{right_index}" unless
13
+ left_index < right_index
14
+ end
15
+
16
+ # @return [Integer]
17
+ def distance
18
+ to_right_distance * to_left_distance
19
+ end
20
+
21
+ # @return [Array]
22
+ def left_path
23
+ list.items.fetch(left_index).item.to_circular_list_spreader_path
24
+ end
25
+
26
+ # @return [Array]
27
+ def right_path
28
+ item_on_index_path(right_index)
29
+ end
30
+
31
+ # @return [Integer]
32
+ def to_left_distance
33
+ right_index - left_index
34
+ end
35
+
36
+ # @return [Integer]
37
+ def to_right_distance
38
+ list.count - right_index + left_index
39
+ end
40
+
41
+ # @return [Integer]
42
+ def result
43
+ similarity * distance
44
+ end
45
+
46
+ private
47
+
48
+ # @return [Integer]
49
+ def difference_uncached
50
+ lpath = item_on_index_path(left_index).reverse
51
+ rpath = item_on_index_path(right_index).reverse
52
+ r = lpath.count - 1
53
+ while r >= 0
54
+ return r + 1 if lpath.fetch(r) != rpath.fetch(r)
55
+
56
+ r -= 1
57
+ end
58
+
59
+ 0
60
+ end
61
+
62
+ def similarity_uncached
63
+ item_on_index_path(left_index).count - 1 - difference
64
+ end
65
+
66
+ def item_on_index_path(index)
67
+ list.items.fetch(index).item.to_circular_list_spreader_path
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module EhbrsRubyUtils
6
+ class CircularListSpreader
7
+ class List
8
+ require_sub __FILE__, require_dependency: true
9
+
10
+ class << self
11
+ def empty
12
+ new([], 0)
13
+ end
14
+ end
15
+
16
+ enable_simple_cache
17
+ common_constructor :items, :inserted_at
18
+ compare_by :spreadness, :inserted_at
19
+ delegate :count, to: :items
20
+
21
+ def insert(position, item_level)
22
+ dup_items = items.dup
23
+ dup_items.insert(position, item_level)
24
+ self.class.new(dup_items, position)
25
+ end
26
+
27
+ def items_pair_enumerator
28
+ ::Enumerator.new do |enum|
29
+ (count - 1).times do |li|
30
+ ((li + 1)..(count - 1)).each do |ri|
31
+ enum.yield(li, ri)
32
+ end
33
+ end
34
+ end
35
+ end
36
+
37
+ def to_s
38
+ items.map { |i| i.item.to_s }.join(', ')
39
+ end
40
+
41
+ private
42
+
43
+ # @return [Integer]
44
+ def spreadness_uncached
45
+ items_pair_enumerator.inject(0) { |a, e| a + item_pair_spreadness(*e) }
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module EhbrsRubyUtils
6
+ class CircularListSpreader
7
+ require_sub __FILE__
8
+ common_constructor :items
9
+
10
+ # @return [EhbrsRubyUtils::SpreaderT1::GroupLevel]
11
+ def build_root
12
+ r = ::EhbrsRubyUtils::CircularListSpreader::GroupLevel.new('ROOT')
13
+ items.each { |item| r.push(item.to_circular_list_spreader_path, item) }
14
+ r
15
+ end
16
+
17
+ # @return [Array]
18
+ def result
19
+ base_list = ::EhbrsRubyUtils::CircularListSpreader::List.empty
20
+ build_root.pop_all.each do |item|
21
+ base_list = lists_with_item(base_list, item).max
22
+ end
23
+ base_list.items.map(&:item)
24
+ end
25
+
26
+ def lists_with_item(base_list, item)
27
+ (base_list.count + 1).times.map do |position|
28
+ base_list.insert(position, item)
29
+ end
30
+ end
31
+ end
32
+ end
@@ -18,7 +18,7 @@ module EhbrsRubyUtils
18
18
  [language, category.name, artist.name, name]
19
19
  end
20
20
 
21
- def to_spreader_t1_path
21
+ def to_circular_list_spreader_path
22
22
  to_a
23
23
  end
24
24
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EhbrsRubyUtils
4
- VERSION = '0.17.3'
4
+ VERSION = '0.18.0'
5
5
  end
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'ehbrs_ruby_utils/circular_list_spreader'
4
+
5
+ ::RSpec.describe ::EhbrsRubyUtils::CircularListSpreader do
6
+ let(:node_class) do
7
+ ::Class.new do
8
+ ::Kernel.const_set('NodeClass', self)
9
+
10
+ class << self
11
+ def from_file(file)
12
+ from_hash(nil, 'ROOT', ::EacRubyUtils::Yaml.load_file(file))
13
+ end
14
+
15
+ def from_hash(parent, label, hash)
16
+ new(parent, label).children_from_hash(hash)
17
+ end
18
+ end
19
+
20
+ common_constructor :parent, :label
21
+ attr_reader :children
22
+
23
+ def children_from_hash(hash)
24
+ @children = if hash.is_a?(::Hash)
25
+ hash.map { |k, v| self.class.from_hash(self, k, v) }
26
+ else
27
+ false
28
+ end
29
+
30
+ self
31
+ end
32
+
33
+ def id
34
+ to_circular_list_spreader_path.join(' | ')
35
+ end
36
+
37
+ def leaf?
38
+ !children.is_a?(::Enumerable)
39
+ end
40
+
41
+ def recursive_leafs
42
+ if leaf?
43
+ [self]
44
+ else
45
+ children.flat_map(&:recursive_leafs)
46
+ end
47
+ end
48
+
49
+ def to_circular_list_spreader_path
50
+ return [] if parent.blank?
51
+
52
+ parent.if_present([], &:to_circular_list_spreader_path) + [label]
53
+ end
54
+
55
+ def to_s
56
+ label
57
+ end
58
+ end
59
+ end
60
+
61
+ include_examples 'source_target_fixtures', __FILE__
62
+
63
+ def source_data(source_file)
64
+ described_class.new(node_class.from_file(source_file).recursive_leafs).result.map(&:id)
65
+ end
66
+ end
@@ -0,0 +1,124 @@
1
+ ---
2
+ en:
3
+ Pop anglofônico:
4
+ Adele:
5
+ 2011 - 21: true
6
+ 2015 - 25: true
7
+ 2021 - 30: true
8
+ Aurora:
9
+ 2016 - All My Demons Greeting Me as a Friend: true
10
+ 2018 - Infections Of A Different Kind – Step 1: true
11
+ Celine Dion:
12
+ 2008 - My Love (Essential Collection): true
13
+ Colbie Caillat:
14
+ 2011 - All Of You: true
15
+ Lana Del Rey:
16
+ 2012 - Born To Die - Disc 1: true
17
+ 2012 - Paradise: true
18
+ 2019 - Norman Fucking Rockwell: true
19
+ 2021 - Chemtrails Over The Country Club: true
20
+ Maroon 5:
21
+ 2018 - Essentials - P1: true
22
+ 2018 - Essentials - P2: true
23
+ Michael Jackson:
24
+ Michael Jackson P1: true
25
+ Michael Jackson P2: true
26
+ Michael Jackson P3: true
27
+ Olivia Rodrigo:
28
+ 2021 - Sour: true
29
+ Taylor Swift:
30
+ 2008 - Fearless: true
31
+ Rock anglofônico:
32
+ Alanis Morissette:
33
+ 2020 - Jagged Little Pill: true
34
+ Christopher Cross:
35
+ 1979 - Christopher Cross: true
36
+ Guns n' Roses:
37
+ 2004 - Greatest Hits: true
38
+ Michael Kiwanuka:
39
+ 2019 - Kiwanuka: true
40
+ Queen:
41
+ 2011 - The Ultimate Best Of Queen - P1: true
42
+ 2011 - The Ultimate Best Of Queen - P2: true
43
+ Sinead O'Connor:
44
+ 1990 - I Do Not Want What I Haven't Got: true
45
+ Weyes Blood:
46
+ 2019 - Titanic Rising: true
47
+ Anglofônico - Vários:
48
+ Aldous Harding:
49
+ 2019 - Designer: true
50
+ FKA Twigs:
51
+ 2019 - Magdalene: true
52
+ Jamila Woods:
53
+ 2019 - LEGACY! LEGACY!: true
54
+ Norah Jones:
55
+ "[2002] Come Away With Me": true
56
+ Vários:
57
+ 2021 - Cinema Selecionadas: true
58
+ Americana - Country:
59
+ Dixie Chicks:
60
+ 2006 - Taking The Long Way: true
61
+ Kacey Musgraves:
62
+ 2013 - Same Trailer Different Park: true
63
+ 2018 - Golden Hour: true
64
+ 2021 - Star-Crossed: true
65
+ pt:
66
+ Pop-rock brasileiro:
67
+ Anavitória:
68
+ 2016 - Anavitória: true
69
+ 2018 - O Tempo é Agora: true
70
+ Ira:
71
+ A26 2004 Ira! - Acústico MTV: true
72
+ Kiko Zambianchi:
73
+ 1985 - Choque: true
74
+ Nando Reis:
75
+ 2016 - Jardim-Pomar: true
76
+ Pitty:
77
+ 2003 - Admirável Chip Novo: true
78
+ Rita Lee:
79
+ 2003 - Balacobaco: true
80
+ Tiago Iorc:
81
+ 2015 - Troco Likes: true
82
+ MPB:
83
+ Belchior:
84
+ 2022 - Selecionadas - Parte 1: true
85
+ 2022 - Selecionadas - Parte 2: true
86
+ Beto Guedes:
87
+ 2004 - Em Algum Lugar: true
88
+ 2022 - Selecionadas - 1: true
89
+ 2022 - Selecionadas - 2: true
90
+ Chico Buarque:
91
+ "(1972) Quando O Carnaval Chegar": true
92
+ "(1983) Para Viver Um Grande Amor - Trilha Sonora": true
93
+ "(1988) Dança Da Meia-Lua": true
94
+ 2022 - Selecionadas - 1: true
95
+ Diana Pequeno:
96
+ 1978 - Diana Pequeno: true
97
+ 1979 - Eterno Como Areia: true
98
+ Elis Regina:
99
+ 1976. Falso Brilhante: true
100
+ Gilberto Gil:
101
+ 1972 - Expresso 2222: true
102
+ Lô Borges:
103
+ 2022 - Selecionadas: true
104
+ Maria Bethania:
105
+ 1977 - Pássaro da Manhã: true
106
+ Marina Machado:
107
+ 2002 - Marina 6 Horas da Tarde: true
108
+ 2008 - Tempo Quente: true
109
+ Marisa Monte:
110
+ "(2000) Memorias, Cronicas e Declaracoes de Amor": true
111
+ "(2002) - Tribalistas": true
112
+ "(2006) Infinito Particular": true
113
+ Milton Nascimento:
114
+ 1999 - Crooner: true
115
+ Os Mutantes:
116
+ 1971 - Jardim Elétrico: true
117
+ Trio Amaranto:
118
+ Brasilêro: true
119
+ Vários:
120
+ 1976 - Doces Bárbaros: true
121
+ Zeca Baleiro:
122
+ 2019 - O Amor no Caos, Vol. 1: true
123
+ Zé Ramalho:
124
+ 1978 - Zé Ramalho I: true
@@ -0,0 +1,70 @@
1
+ ---
2
+ - en | Pop anglofônico | Lana Del Rey | 2021 - Chemtrails Over The Country Club
3
+ - pt | MPB | Chico Buarque | 2022 - Selecionadas - 1
4
+ - en | Rock anglofônico | Queen | 2011 - The Ultimate Best Of Queen - P2
5
+ - pt | Pop-rock brasileiro | Anavitória | 2018 - O Tempo é Agora
6
+ - en | Anglofônico - Vários | Vários | 2021 - Cinema Selecionadas
7
+ - pt | MPB | Marisa Monte | (2006) Infinito Particular
8
+ - en | Pop anglofônico | Michael Jackson | Michael Jackson P3
9
+ - pt | MPB | Vários | 1976 - Doces Bárbaros
10
+ - en | Americana - Country | Dixie Chicks | 2006 - Taking The Long Way
11
+ - pt | MPB | Marina Machado | 2002 - Marina 6 Horas da Tarde
12
+ - en | Pop anglofônico | Adele | 2011 - 21
13
+ - en | Rock anglofônico | Alanis Morissette | 2020 - Jagged Little Pill
14
+ - pt | MPB | Chico Buarque | (1983) Para Viver Um Grande Amor - Trilha Sonora
15
+ - en | Pop anglofônico | Lana Del Rey | 2012 - Paradise
16
+ - pt | MPB | Diana Pequeno | 1979 - Eterno Como Areia
17
+ - en | Pop anglofônico | Aurora | 2018 - Infections Of A Different Kind – Step 1
18
+ - pt | Pop-rock brasileiro | Rita Lee | 2003 - Balacobaco
19
+ - en | Rock anglofônico | Weyes Blood | 2019 - Titanic Rising
20
+ - pt | MPB | Belchior | 2022 - Selecionadas - Parte 2
21
+ - en | Anglofônico - Vários | FKA Twigs | 2019 - Magdalene
22
+ - pt | MPB | Beto Guedes | 2022 - Selecionadas - 1
23
+ - en | Pop anglofônico | Maroon 5 | 2018 - Essentials - P2
24
+ - pt | MPB | Zé Ramalho | 1978 - Zé Ramalho I
25
+ - en | Americana - Country | Kacey Musgraves | 2018 - Golden Hour
26
+ - pt | MPB | Elis Regina | 1976. Falso Brilhante
27
+ - en | Pop anglofônico | Lana Del Rey | 2019 - Norman Fucking Rockwell
28
+ - pt | Pop-rock brasileiro | Nando Reis | 2016 - Jardim-Pomar
29
+ - en | Rock anglofônico | Michael Kiwanuka | 2019 - Kiwanuka
30
+ - pt | MPB | Lô Borges | 2022 - Selecionadas
31
+ - en | Pop anglofônico | Adele | 2015 - 25
32
+ - pt | MPB | Marisa Monte | (2002) - Tribalistas
33
+ - en | Anglofônico - Vários | Norah Jones | [2002] Come Away With Me
34
+ - pt | Pop-rock brasileiro | Ira | A26 2004 Ira! - Acústico MTV
35
+ - en | Americana - Country | Kacey Musgraves | 2013 - Same Trailer Different Park
36
+ - pt | MPB | Chico Buarque | (1988) Dança Da Meia-Lua
37
+ - en | Pop anglofônico | Michael Jackson | Michael Jackson P2
38
+ - pt | MPB | Trio Amaranto | Brasilêro
39
+ - en | Rock anglofônico | Christopher Cross | 1979 - Christopher Cross
40
+ - en | Pop anglofônico | Taylor Swift | 2008 - Fearless
41
+ - pt | Pop-rock brasileiro | Pitty | 2003 - Admirável Chip Novo
42
+ - pt | MPB | Zeca Baleiro | 2019 - O Amor no Caos, Vol. 1
43
+ - en | Pop anglofônico | Colbie Caillat | 2011 - All Of You
44
+ - pt | MPB | Milton Nascimento | 1999 - Crooner
45
+ - en | Rock anglofônico | Queen | 2011 - The Ultimate Best Of Queen - P1
46
+ - pt | MPB | Beto Guedes | 2004 - Em Algum Lugar
47
+ - en | Pop anglofônico | Aurora | 2016 - All My Demons Greeting Me as a Friend
48
+ - pt | MPB | Belchior | 2022 - Selecionadas - Parte 1
49
+ - en | Anglofônico - Vários | Jamila Woods | 2019 - LEGACY! LEGACY!
50
+ - pt | Pop-rock brasileiro | Anavitória | 2016 - Anavitória
51
+ - en | Pop anglofônico | Lana Del Rey | 2012 - Born To Die - Disc 1
52
+ - pt | MPB | Chico Buarque | (1972) Quando O Carnaval Chegar
53
+ - en | Pop anglofônico | Michael Jackson | Michael Jackson P1
54
+ - pt | MPB | Diana Pequeno | 1978 - Diana Pequeno
55
+ - en | Rock anglofônico | Sinead O'Connor | 1990 - I Do Not Want What I Haven't Got
56
+ - pt | MPB | Os Mutantes | 1971 - Jardim Elétrico
57
+ - en | Pop anglofônico | Olivia Rodrigo | 2021 - Sour
58
+ - pt | MPB | Marina Machado | 2008 - Tempo Quente
59
+ - en | Americana - Country | Kacey Musgraves | 2021 - Star-Crossed
60
+ - pt | Pop-rock brasileiro | Tiago Iorc | 2015 - Troco Likes
61
+ - en | Pop anglofônico | Celine Dion | 2008 - My Love (Essential Collection)
62
+ - pt | MPB | Maria Bethania | 1977 - Pássaro da Manhã
63
+ - en | Rock anglofônico | Guns n' Roses | 2004 - Greatest Hits
64
+ - pt | MPB | Marisa Monte | (2000) Memorias, Cronicas e Declaracoes de Amor
65
+ - en | Anglofônico - Vários | Aldous Harding | 2019 - Designer
66
+ - pt | MPB | Gilberto Gil | 1972 - Expresso 2222
67
+ - en | Pop anglofônico | Maroon 5 | 2018 - Essentials - P1
68
+ - pt | Pop-rock brasileiro | Kiko Zambianchi | 1985 - Choque
69
+ - en | Pop anglofônico | Adele | 2021 - 30
70
+ - pt | MPB | Beto Guedes | 2022 - Selecionadas - 2
@@ -0,0 +1,7 @@
1
+ ---
2
+ A:
3
+ A1: true
4
+ A2: true
5
+ B:
6
+ B1: true
7
+ B2: true
@@ -0,0 +1,5 @@
1
+ ---
2
+ - B | B2
3
+ - A | A2
4
+ - B | B1
5
+ - A | A1
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ehbrs_ruby_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.3
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduardo H. Bogoni
@@ -16,34 +16,40 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.10'
19
+ version: '0.14'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.14.2
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - "~>"
25
28
  - !ruby/object:Gem::Version
26
- version: '0.10'
29
+ version: '0.14'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 0.14.2
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: avm
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
37
  - - "~>"
32
38
  - !ruby/object:Gem::Version
33
- version: '0.18'
39
+ version: '0.41'
34
40
  - - ">="
35
41
  - !ruby/object:Gem::Version
36
- version: 0.18.1
42
+ version: 0.41.1
37
43
  type: :runtime
38
44
  prerelease: false
39
45
  version_requirements: !ruby/object:Gem::Requirement
40
46
  requirements:
41
47
  - - "~>"
42
48
  - !ruby/object:Gem::Version
43
- version: '0.18'
49
+ version: '0.41'
44
50
  - - ">="
45
51
  - !ruby/object:Gem::Version
46
- version: 0.18.1
52
+ version: 0.41.1
47
53
  - !ruby/object:Gem::Dependency
48
54
  name: eac_fs
49
55
  requirement: !ruby/object:Gem::Requirement
@@ -181,6 +187,12 @@ files:
181
187
  - ".rspec"
182
188
  - ".rubocop.yml"
183
189
  - lib/ehbrs_ruby_utils.rb
190
+ - lib/ehbrs_ruby_utils/circular_list_spreader.rb
191
+ - lib/ehbrs_ruby_utils/circular_list_spreader/base_level.rb
192
+ - lib/ehbrs_ruby_utils/circular_list_spreader/group_level.rb
193
+ - lib/ehbrs_ruby_utils/circular_list_spreader/item_level.rb
194
+ - lib/ehbrs_ruby_utils/circular_list_spreader/list.rb
195
+ - lib/ehbrs_ruby_utils/circular_list_spreader/list/item_pair_spreadness.rb
184
196
  - lib/ehbrs_ruby_utils/core_ext.rb
185
197
  - lib/ehbrs_ruby_utils/executables.rb
186
198
  - lib/ehbrs_ruby_utils/finances/bb_browser/docker_image.rb
@@ -201,10 +213,6 @@ files:
201
213
  - lib/ehbrs_ruby_utils/patches.rb
202
214
  - lib/ehbrs_ruby_utils/patches/object.rb
203
215
  - lib/ehbrs_ruby_utils/patches/object/template.rb
204
- - lib/ehbrs_ruby_utils/spreader_t1.rb
205
- - lib/ehbrs_ruby_utils/spreader_t1/base_level.rb
206
- - lib/ehbrs_ruby_utils/spreader_t1/group_level.rb
207
- - lib/ehbrs_ruby_utils/spreader_t1/item_level.rb
208
216
  - lib/ehbrs_ruby_utils/version.rb
209
217
  - lib/ehbrs_ruby_utils/videos.rb
210
218
  - lib/ehbrs_ruby_utils/videos/container.rb
@@ -233,6 +241,11 @@ files:
233
241
  - lib/ehbrs_ruby_utils/web_utils/videos/file.rb
234
242
  - lib/ehbrs_ruby_utils/web_utils/videos/file/rename.rb
235
243
  - lib/ehbrs_ruby_utils/web_utils/videos/files_list.rb
244
+ - spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec.rb
245
+ - spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/ehbrs_music1.source.yaml
246
+ - spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/ehbrs_music1.target.yaml
247
+ - spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/minimum.source.yaml
248
+ - spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/minimum.target.yaml
236
249
  - spec/lib/ehbrs_ruby_utils/videos/resolution_spec.rb
237
250
  - spec/lib/ehbrs_ruby_utils/videos/stream_spec.rb
238
251
  - spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_attachment.source.yaml
@@ -280,6 +293,11 @@ specification_version: 4
280
293
  summary: Utilities for EHB/RS's Ruby projects.
281
294
  test_files:
282
295
  - spec/rubocop_check_spec.rb
296
+ - spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec.rb
297
+ - spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/minimum.target.yaml
298
+ - spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/ehbrs_music1.source.yaml
299
+ - spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/minimum.source.yaml
300
+ - spec/lib/ehbrs_ruby_utils/circular_list_spreader_spec_files/ehbrs_music1.target.yaml
283
301
  - spec/lib/ehbrs_ruby_utils/videos/stream_spec.rb
284
302
  - spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_audio.target.yaml
285
303
  - spec/lib/ehbrs_ruby_utils/videos/stream_spec_files/menina_ovo_video.target.yaml
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module EhbrsRubyUtils
6
- class SpreaderT1
7
- require_sub __FILE__
8
- common_constructor :items
9
-
10
- # @return [Array]
11
- def result
12
- root_level = ::EhbrsRubyUtils::SpreaderT1::GroupLevel.new('ROOT')
13
- items.each { |item| root_level.push(item.to_spreader_t1_path, item) }
14
- root_level.pop_all
15
- end
16
- end
17
- end