metal_archives 2.2.0 → 2.2.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|