metal_archives 2.1.0 → 2.1.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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/lib/metal_archives.rb +1 -0
- data/lib/metal_archives/http_client.rb +2 -0
- data/lib/metal_archives/middleware/encoding.rb +16 -0
- data/lib/metal_archives/models/artist.rb +2 -2
- data/lib/metal_archives/models/band.rb +2 -2
- data/lib/metal_archives/models/base_model.rb +4 -4
- data/lib/metal_archives/version.rb +1 -1
- data/publish.sh +51 -0
- data/spec/models/base_model_spec.rb +2 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5b077092f1a7e727aee29d04339faf31468b704b
|
4
|
+
data.tar.gz: 00674c9f439ba8c1f8a014cd60c4da6ec5289e22
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9217a15df5ae47a552a8214fba23a374bb9788611103d0366078aff6e72069505bf2d43fcfc0c437624aae8bbf3f9a342bbcfa67abd512ed712473a51dc56a9b
|
7
|
+
data.tar.gz: 22a44ac5667e462eab891c019c98f17340e2469ffa7ff71d79e5f6dc9b6d6a5eb5482ef10fcba9f0b4a320ad9fb9795d32f7df7b4122dd463bb865192613e6b2
|
data/.gitignore
CHANGED
data/lib/metal_archives.rb
CHANGED
@@ -5,6 +5,7 @@ require 'openssl'
|
|
5
5
|
require 'metal_archives/middleware/headers'
|
6
6
|
require 'metal_archives/middleware/cache_check'
|
7
7
|
require 'metal_archives/middleware/rewrite_endpoint'
|
8
|
+
require 'metal_archives/middleware/encoding'
|
8
9
|
|
9
10
|
require 'metal_archives/version'
|
10
11
|
require 'metal_archives/configuration'
|
@@ -24,6 +24,7 @@ module MetalArchives
|
|
24
24
|
|
25
25
|
response
|
26
26
|
rescue Faraday::Error::ClientError => e
|
27
|
+
MetalArchives.config.logger.error e.response
|
27
28
|
raise Errors::APIError, e
|
28
29
|
end
|
29
30
|
|
@@ -43,6 +44,7 @@ module MetalArchives
|
|
43
44
|
f.use MetalArchives::Middleware::Headers
|
44
45
|
f.use MetalArchives::Middleware::CacheCheck
|
45
46
|
f.use MetalArchives::Middleware::RewriteEndpoint
|
47
|
+
f.use MetalArchives::Middleware::Encoding
|
46
48
|
|
47
49
|
MetalArchives.config.middleware.each { |m| f.use m } if MetalArchives.config.middleware
|
48
50
|
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'faraday'
|
4
|
+
|
5
|
+
module MetalArchives
|
6
|
+
module Middleware
|
7
|
+
##
|
8
|
+
# Force UTF-8 conversion
|
9
|
+
#
|
10
|
+
class Encoding < Faraday::Response::Middleware # :nodoc:
|
11
|
+
def on_complete(env)
|
12
|
+
env.response.body.force_encoding('utf-8')
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -224,7 +224,7 @@ module MetalArchives
|
|
224
224
|
#
|
225
225
|
def find!(id)
|
226
226
|
obj = find id
|
227
|
-
obj && obj.
|
227
|
+
obj.load! if obj && !obj.loaded?
|
228
228
|
|
229
229
|
obj
|
230
230
|
end
|
@@ -277,7 +277,7 @@ module MetalArchives
|
|
277
277
|
#
|
278
278
|
def find_by!(query)
|
279
279
|
obj = find_by query
|
280
|
-
obj && obj.
|
280
|
+
obj.load! if obj && !obj.loaded?
|
281
281
|
|
282
282
|
obj
|
283
283
|
end
|
@@ -270,7 +270,7 @@ module MetalArchives
|
|
270
270
|
#
|
271
271
|
def find!(id)
|
272
272
|
obj = find id
|
273
|
-
obj.load!
|
273
|
+
obj.load! if obj && !obj.loaded?
|
274
274
|
|
275
275
|
obj
|
276
276
|
end
|
@@ -342,7 +342,7 @@ module MetalArchives
|
|
342
342
|
#
|
343
343
|
def find_by!(query)
|
344
344
|
obj = find_by query
|
345
|
-
obj && obj.
|
345
|
+
obj.load! if obj && !obj.loaded?
|
346
346
|
|
347
347
|
obj
|
348
348
|
end
|
@@ -113,13 +113,13 @@ module MetalArchives
|
|
113
113
|
|
114
114
|
# property
|
115
115
|
define_method(name) do
|
116
|
-
load! unless instance_variable_defined?("@#{name}") || name ==(:id)
|
116
|
+
load! unless loaded? && instance_variable_defined?("@#{name}") || name ==(:id)
|
117
117
|
instance_variable_get("@#{name}")
|
118
118
|
end
|
119
119
|
|
120
120
|
# property?
|
121
121
|
define_method("#{name}?") do
|
122
|
-
load! unless instance_variable_defined?("@#{name}") || name ==(:id)
|
122
|
+
load! unless loaded? && instance_variable_defined?("@#{name}") || name ==(:id)
|
123
123
|
|
124
124
|
property = instance_variable_get("@#{name}")
|
125
125
|
property.respond_to?(:empty?) ? !property.empty? : !!property
|
@@ -168,13 +168,13 @@ module MetalArchives
|
|
168
168
|
|
169
169
|
# property
|
170
170
|
define_method(name) do
|
171
|
-
load! unless instance_variable_defined?("@#{name}")
|
171
|
+
load! unless loaded? && instance_variable_defined?("@#{name}")
|
172
172
|
instance_variable_get("@#{name}")
|
173
173
|
end
|
174
174
|
|
175
175
|
# property?
|
176
176
|
define_method("#{name}?") do
|
177
|
-
load! unless instance_variable_defined?("@#{name}")
|
177
|
+
load! unless loaded? && instance_variable_defined?("@#{name}")
|
178
178
|
|
179
179
|
property = instance_variable_get("@#{name}")
|
180
180
|
property.respond_to?(:empty?) ? !property.empty? : !!property
|
data/publish.sh
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
#!/usr/bin/bash
|
2
|
+
#
|
3
|
+
# publish.sh - Publish a new gem version
|
4
|
+
#
|
5
|
+
|
6
|
+
trap _error_handler ERR
|
7
|
+
function _error_handler() {
|
8
|
+
echo -ne "\e[1;31m=> Previous command exited unsuccessfully. Abort (y/n)? \e[0m"
|
9
|
+
read -n 1 VAR
|
10
|
+
echo
|
11
|
+
|
12
|
+
[[ "${VAR}" != 'n' ]] && { echo "Aborting."; exit 1; }
|
13
|
+
}
|
14
|
+
|
15
|
+
VERSION="$1"
|
16
|
+
if [[ ! "$1" ]]; then
|
17
|
+
echo -ne "Previous version: `git describe --abbrev=0 --tags | sed -e 's/v//g'`. New version: "
|
18
|
+
read VERSION
|
19
|
+
echo
|
20
|
+
fi
|
21
|
+
|
22
|
+
# Release commit and tag
|
23
|
+
git reset HEAD
|
24
|
+
sed -s "s/VERSION = .*$/VERSION = '${VERSION}'/" -i lib/metal_archives/version.rb
|
25
|
+
git add lib/metal_archives/version.rb
|
26
|
+
git commit -m "Release version v${VERSION}"
|
27
|
+
git tag "v${VERSION}"
|
28
|
+
git push
|
29
|
+
git push --tags
|
30
|
+
|
31
|
+
# Gem
|
32
|
+
gem build metal_archives.gemspec
|
33
|
+
gem push "metal_archives-${VERSION}.gem"
|
34
|
+
rm -rf html/
|
35
|
+
rake rdoc
|
36
|
+
tar cvjf "metal_archives-${VERSION}-doc.tar.gz" html/
|
37
|
+
|
38
|
+
# Documentation
|
39
|
+
git add --all .
|
40
|
+
git stash
|
41
|
+
git checkout gh-pages
|
42
|
+
git reset --hard 'HEAD^'
|
43
|
+
git merge master
|
44
|
+
rm -rf html/
|
45
|
+
rake rdoc
|
46
|
+
git add -f html/
|
47
|
+
git commit -m 'Add documentation'
|
48
|
+
git push --force
|
49
|
+
git checkout master
|
50
|
+
git stash pop
|
51
|
+
git reset HEAD
|
@@ -78,6 +78,7 @@ RSpec.describe MetalArchives::BaseModel do
|
|
78
78
|
it 'returns properties' do
|
79
79
|
model = ModelThree.new :id => 'foo', :property_one => 'bar'
|
80
80
|
|
81
|
+
model.instance_eval { |m| @loaded = true }
|
81
82
|
expect(model.id).to eq 'foo'
|
82
83
|
expect(model.property_one).to eq 'bar'
|
83
84
|
end
|
@@ -85,6 +86,7 @@ RSpec.describe MetalArchives::BaseModel do
|
|
85
86
|
it 'sets properties' do
|
86
87
|
model = ModelThree.new :id => 'foo', :property_one => 'bar'
|
87
88
|
|
89
|
+
model.instance_eval { |m| @loaded = true }
|
88
90
|
model.id = 'baz'
|
89
91
|
model.property_one = 'bat'
|
90
92
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metal_archives
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Florian Dejonckheere
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-06-
|
11
|
+
date: 2017-06-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: byebug
|
@@ -213,6 +213,7 @@ files:
|
|
213
213
|
- lib/metal_archives/error.rb
|
214
214
|
- lib/metal_archives/http_client.rb
|
215
215
|
- lib/metal_archives/middleware/cache_check.rb
|
216
|
+
- lib/metal_archives/middleware/encoding.rb
|
216
217
|
- lib/metal_archives/middleware/headers.rb
|
217
218
|
- lib/metal_archives/middleware/rewrite_endpoint.rb
|
218
219
|
- lib/metal_archives/models/artist.rb
|
@@ -229,6 +230,7 @@ files:
|
|
229
230
|
- lib/metal_archives/utils/range.rb
|
230
231
|
- lib/metal_archives/version.rb
|
231
232
|
- metal_archives.gemspec
|
233
|
+
- publish.sh
|
232
234
|
- spec/configuration_spec.rb
|
233
235
|
- spec/factories/artist_factory.rb
|
234
236
|
- spec/factories/band_factory.rb
|