metal_archives 2.2.0 → 2.2.3
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 +5 -5
- data/.github/workflows/ci.yml +46 -0
- data/.github/workflows/release.yml +69 -0
- data/.gitignore +6 -6
- data/.overcommit.yml +35 -0
- data/.rspec +1 -0
- data/.rubocop.yml +54 -8
- data/.rubocop_todo.yml +92 -0
- data/CHANGELOG.md +22 -0
- data/Gemfile +1 -1
- data/LICENSE.md +1 -1
- data/README.md +35 -64
- data/Rakefile +8 -7
- data/bin/console +41 -0
- data/bin/setup +8 -0
- data/docker-compose.yml +14 -0
- data/lib/metal_archives.rb +48 -29
- data/lib/metal_archives/{utils/collection.rb → collection.rb} +0 -0
- data/lib/metal_archives/configuration.rb +9 -33
- data/lib/metal_archives/{error.rb → errors.rb} +0 -0
- data/lib/metal_archives/http_client.rb +13 -8
- data/lib/metal_archives/{utils/lru_cache.rb → lru_cache.rb} +0 -0
- data/lib/metal_archives/middleware/cache_check.rb +2 -4
- data/lib/metal_archives/middleware/encoding.rb +2 -2
- data/lib/metal_archives/middleware/headers.rb +5 -5
- data/lib/metal_archives/middleware/rewrite_endpoint.rb +2 -2
- data/lib/metal_archives/models/artist.rb +40 -24
- data/lib/metal_archives/models/band.rb +47 -29
- data/lib/metal_archives/models/base_model.rb +64 -61
- data/lib/metal_archives/models/label.rb +11 -11
- data/lib/metal_archives/models/release.rb +17 -15
- data/lib/metal_archives/{utils/nil_date.rb → nil_date.rb} +10 -18
- data/lib/metal_archives/parsers/artist.rb +62 -31
- data/lib/metal_archives/parsers/band.rb +97 -74
- data/lib/metal_archives/parsers/label.rb +21 -21
- data/lib/metal_archives/parsers/parser.rb +23 -8
- data/lib/metal_archives/parsers/release.rb +77 -72
- data/lib/metal_archives/{utils/range.rb → range.rb} +5 -2
- data/lib/metal_archives/version.rb +12 -1
- data/metal_archives.env.example +7 -0
- data/metal_archives.gemspec +40 -28
- data/nginx/default.conf +60 -0
- metadata +126 -65
- data/.travis.yml +0 -12
- data/spec/configuration_spec.rb +0 -96
- data/spec/factories/artist_factory.rb +0 -37
- data/spec/factories/band_factory.rb +0 -60
- data/spec/factories/nil_date_factory.rb +0 -9
- data/spec/factories/range_factory.rb +0 -8
- data/spec/models/artist_spec.rb +0 -138
- data/spec/models/band_spec.rb +0 -164
- data/spec/models/base_model_spec.rb +0 -219
- data/spec/models/release_spec.rb +0 -133
- data/spec/parser_spec.rb +0 -19
- data/spec/spec_helper.rb +0 -111
- data/spec/support/factory_girl.rb +0 -5
- data/spec/support/metal_archives.rb +0 -33
- data/spec/utils/collection_spec.rb +0 -72
- data/spec/utils/lru_cache_spec.rb +0 -53
- data/spec/utils/nil_date_spec.rb +0 -156
- data/spec/utils/range_spec.rb +0 -62
data/spec/utils/range_spec.rb
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
RSpec.describe MetalArchives::Range do
|
4
|
-
let(:range) { build :range }
|
5
|
-
let(:begin_range) { build :range, :end => nil }
|
6
|
-
let(:end_range) { build :range, :begin => nil }
|
7
|
-
|
8
|
-
it 'has the correct properties' do
|
9
|
-
expect(range).to respond_to :begin
|
10
|
-
expect(range).to respond_to :begin=
|
11
|
-
expect(range).to respond_to :begin?
|
12
|
-
|
13
|
-
expect(range).to respond_to :end
|
14
|
-
expect(range).to respond_to :end=
|
15
|
-
expect(range).to respond_to :end?
|
16
|
-
end
|
17
|
-
|
18
|
-
it 'returns the correct values' do
|
19
|
-
expect(range.begin).not_to be_nil
|
20
|
-
expect(range.begin).to be_a Date
|
21
|
-
expect(range.begin?).to be true
|
22
|
-
|
23
|
-
expect(range.end).not_to be_nil
|
24
|
-
expect(range.end).to be_a Date
|
25
|
-
expect(range.end?).to be true
|
26
|
-
end
|
27
|
-
|
28
|
-
it 'does not require an end date' do
|
29
|
-
expect(begin_range.end).to be_nil
|
30
|
-
expect(begin_range.end?).to be false
|
31
|
-
end
|
32
|
-
|
33
|
-
it 'does not require a begin date' do
|
34
|
-
expect(end_range.begin).to be_nil
|
35
|
-
expect(end_range.begin?).to be false
|
36
|
-
end
|
37
|
-
|
38
|
-
it 'implements comparable' do
|
39
|
-
range1 = described_class.new 1, 3
|
40
|
-
range1a = described_class.new 1, 3
|
41
|
-
range2 = described_class.new nil, 3
|
42
|
-
range2a = described_class.new nil, 3
|
43
|
-
range3 = described_class.new 1, nil
|
44
|
-
range3a = described_class.new 1, nil
|
45
|
-
|
46
|
-
range4 = described_class.new 1, 4
|
47
|
-
range5 = described_class.new 0, 3
|
48
|
-
|
49
|
-
expect(range1 <=> range1a).to eq 0
|
50
|
-
expect(range2 <=> range2a).to eq 0
|
51
|
-
expect(range3 <=> range3a).to eq 0
|
52
|
-
|
53
|
-
expect(range1 <=> range2).to be_nil
|
54
|
-
expect(range2 <=> range3).to be_nil
|
55
|
-
expect(range3 <=> range1).to be_nil
|
56
|
-
|
57
|
-
expect(range1 <=> range4).to eq -1
|
58
|
-
expect(range1 <=> range5).to eq -1
|
59
|
-
expect(range4 <=> range1).to eq 1
|
60
|
-
expect(range5 <=> range1).to eq 1
|
61
|
-
end
|
62
|
-
end
|