resizing 0.8.3.pre → 1.1.0.pre
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/.github/workflows/test.yml +56 -0
- data/lib/resizing/carrier_wave/storage/file.rb +9 -12
- data/lib/resizing/carrier_wave/storage/remote.rb +3 -5
- data/lib/resizing/carrier_wave.rb +9 -0
- data/lib/resizing/client.rb +14 -27
- data/lib/resizing/configuration.rb +5 -1
- data/lib/resizing/version.rb +1 -1
- data/lib/resizing.rb +1 -0
- data/resizing.gemspec +7 -3
- data/test/test_helper.rb +18 -0
- metadata +78 -25
- data/.circleci/config.yml +0 -71
- /data/{bin → exe}/console +0 -0
- /data/{bin → exe}/generate-changelog +0 -0
- /data/{bin → exe}/setup +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d601d6b8f87f6440de0c1c4d4dcbb74e7bc386dd3e217b66b8ac259d35939f0
|
4
|
+
data.tar.gz: 3f2ce39dcb8879dee7a9717142bfa794e6cad5671e19cdd01afbb5f7dacc6787
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c221c9290ccf562d804bb9f5dca6657568c891ce4c14d825fb8a19627feec1982c09773bfb55304cd5a13b8c4bb786a57d1abe3589684da312fd0167ecfc9a28
|
7
|
+
data.tar.gz: ee2dde3b29accd86dae059daf0e164fef634476886fb254b2145e3be33764d3a81308d9eea382a557817951714cbc8d4e98b02318417042a38590a4109334630
|
@@ -0,0 +1,56 @@
|
|
1
|
+
name: test
|
2
|
+
|
3
|
+
on:
|
4
|
+
pull_request:
|
5
|
+
push:
|
6
|
+
branches:
|
7
|
+
- master
|
8
|
+
|
9
|
+
permissions:
|
10
|
+
id-token: write # This is required for requesting the JWT
|
11
|
+
contents: read # This is required for actions/checkout
|
12
|
+
|
13
|
+
jobs:
|
14
|
+
test:
|
15
|
+
strategy:
|
16
|
+
fail-fast: false
|
17
|
+
matrix:
|
18
|
+
ruby: ['2.7.6', '3.1', '3.2','3.3']
|
19
|
+
|
20
|
+
runs-on: ubuntu-22.04
|
21
|
+
|
22
|
+
steps:
|
23
|
+
- uses: actions/checkout@v4
|
24
|
+
|
25
|
+
- uses: mirromutth/mysql-action@v1.1
|
26
|
+
with:
|
27
|
+
host port: 3306
|
28
|
+
container port: 3306
|
29
|
+
character set server: 'utf8mb4'
|
30
|
+
collation server: 'utf8mb4_general_ci'
|
31
|
+
mysql version: '5.7'
|
32
|
+
mysql database: 'resizing_gem_test'
|
33
|
+
mysql root password: secret
|
34
|
+
|
35
|
+
- name: "Install ruby dependencies"
|
36
|
+
run: |
|
37
|
+
sudo apt update
|
38
|
+
sudo apt install -y libyaml-dev curl libmysqlclient-dev
|
39
|
+
|
40
|
+
- uses: ruby/setup-ruby@v1
|
41
|
+
with:
|
42
|
+
ruby-version: ${{ matrix.ruby }}
|
43
|
+
bundler-cache: false
|
44
|
+
|
45
|
+
- name: bundle install
|
46
|
+
run: |
|
47
|
+
bundle install
|
48
|
+
|
49
|
+
- name: Run test
|
50
|
+
run: |
|
51
|
+
bundle exec rake test
|
52
|
+
|
53
|
+
- name: Upload coverage reports to Codecov
|
54
|
+
uses: codecov/codecov-action@v3
|
55
|
+
env:
|
56
|
+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
@@ -6,15 +6,16 @@ module Resizing
|
|
6
6
|
class File
|
7
7
|
include ::CarrierWave::Utilities::Uri
|
8
8
|
|
9
|
+
attr_reader :public_id
|
10
|
+
|
9
11
|
def initialize(uploader, identifier = nil)
|
10
12
|
@uploader = uploader
|
11
|
-
@file = nil
|
12
13
|
@content_type = nil
|
13
|
-
@public_id = Resizing::PublicId.new
|
14
|
+
@public_id = Resizing::PublicId.new(identifier)
|
15
|
+
@file = nil
|
16
|
+
@metadata = nil
|
14
17
|
end
|
15
18
|
|
16
|
-
attr_reader :public_id
|
17
|
-
|
18
19
|
def attributes
|
19
20
|
file.attributes
|
20
21
|
end
|
@@ -112,6 +113,7 @@ module Resizing
|
|
112
113
|
|
113
114
|
@response = Resizing.post(content, { content_type: @content_type, filename: original_filename })
|
114
115
|
@public_id = Resizing::PublicId.new(@response['public_id'])
|
116
|
+
@content_type = @response['content_type']
|
115
117
|
|
116
118
|
# force update column
|
117
119
|
# model_class
|
@@ -133,6 +135,9 @@ module Resizing
|
|
133
135
|
# CarrierWave::Storage::Fog::File.new(@uploader, @base, new_path)
|
134
136
|
# end
|
135
137
|
|
138
|
+
def retrieve(identifier)
|
139
|
+
@public_id = Resizing::PublicId.new(identifier)
|
140
|
+
end
|
136
141
|
private
|
137
142
|
|
138
143
|
attr_reader :uploader
|
@@ -190,14 +195,6 @@ module Resizing
|
|
190
195
|
parameters.count == 2 && parameters[1].include?(:options)
|
191
196
|
end
|
192
197
|
|
193
|
-
def retrieve!(identifier)
|
194
|
-
raise NotImplementedError, "retrieve! #{identifier}"
|
195
|
-
end
|
196
|
-
|
197
|
-
# def cache!(new_file)
|
198
|
-
# raise NotImplementedError,
|
199
|
-
# "Need to implement #cache! if you want to use #{self.class.name} as a cache storage."
|
200
|
-
# end
|
201
198
|
|
202
199
|
# def retrieve_from_cache!(identifier)
|
203
200
|
# raise NotImplementedError,
|
@@ -9,20 +9,18 @@ module Resizing
|
|
9
9
|
def store!(file)
|
10
10
|
f = Resizing::CarrierWave::Storage::File.new(uploader)
|
11
11
|
f.store(file)
|
12
|
-
@filename = f.public_id.to_s
|
13
12
|
f
|
14
13
|
end
|
15
14
|
|
16
15
|
def remove!(file)
|
17
16
|
f = Resizing::CarrierWave::Storage::File.new(uploader)
|
18
17
|
f.delete(file)
|
19
|
-
@filename = f.public_id.to_s
|
20
18
|
f
|
21
19
|
end
|
22
20
|
|
23
|
-
def retrieve!(identifier)
|
24
|
-
|
25
|
-
end
|
21
|
+
# def retrieve!(identifier)
|
22
|
+
# super
|
23
|
+
# end
|
26
24
|
|
27
25
|
def cache!(new_file)
|
28
26
|
f = Resizing::CarrierWave::Storage::File.new(uploader)
|
@@ -31,6 +31,15 @@ module Resizing
|
|
31
31
|
super
|
32
32
|
end
|
33
33
|
|
34
|
+
def file
|
35
|
+
return if identifier.nil?
|
36
|
+
return @file unless defined? @file
|
37
|
+
|
38
|
+
@file ||= Resizing::CarrierWave::Storage::File.new(self)
|
39
|
+
@file.retrieve(identifier)
|
40
|
+
@file
|
41
|
+
end
|
42
|
+
|
34
43
|
def url(*args)
|
35
44
|
return default_url unless read_column.present?
|
36
45
|
|
data/lib/resizing/client.rb
CHANGED
@@ -39,14 +39,11 @@ module Resizing
|
|
39
39
|
|
40
40
|
def post(file_or_binary, options = {})
|
41
41
|
ensure_content_type(options)
|
42
|
-
|
43
|
-
url = build_post_url
|
44
|
-
|
45
42
|
filename = gather_filename file_or_binary, options
|
46
43
|
|
47
|
-
|
44
|
+
url = build_post_url
|
48
45
|
params = {
|
49
|
-
image: Faraday::
|
46
|
+
image: Faraday::Multipart::FilePart.new(file_or_binary, options[:content_type], filename)
|
50
47
|
}
|
51
48
|
|
52
49
|
response = handle_faraday_error do
|
@@ -61,14 +58,11 @@ module Resizing
|
|
61
58
|
|
62
59
|
def put(image_id, file_or_binary, options)
|
63
60
|
ensure_content_type(options)
|
64
|
-
|
65
|
-
url = build_put_url(image_id)
|
66
|
-
|
67
61
|
filename = gather_filename file_or_binary, options
|
68
62
|
|
69
|
-
|
63
|
+
url = build_put_url(image_id)
|
70
64
|
params = {
|
71
|
-
image: Faraday::
|
65
|
+
image: Faraday::Multipart::FilePart.new(file_or_binary, options[:content_type], filename)
|
72
66
|
}
|
73
67
|
|
74
68
|
response = handle_faraday_error do
|
@@ -103,7 +97,7 @@ module Resizing
|
|
103
97
|
end
|
104
98
|
end
|
105
99
|
|
106
|
-
result = handle_metadata_response(response)
|
100
|
+
result = handle_metadata_response(response, options)
|
107
101
|
result
|
108
102
|
end
|
109
103
|
|
@@ -134,24 +128,12 @@ module Resizing
|
|
134
128
|
"#{config.image_host}/projects/#{config.project_id}/upload/images/#{image_id}/metadata"
|
135
129
|
end
|
136
130
|
|
137
|
-
|
138
|
-
def to_io(data)
|
139
|
-
return data.to_io if data.respond_to? :to_io
|
140
|
-
|
141
|
-
case data
|
142
|
-
when String
|
143
|
-
StringIO.new(data)
|
144
|
-
else
|
145
|
-
raise ArgumentError, "file_or_binary is required IO class or String:#{data.class}"
|
146
|
-
end
|
147
|
-
end
|
148
|
-
|
149
131
|
def ensure_content_type(options)
|
150
132
|
raise ArgumentError, "need options[:content_type] for #{options.inspect}" unless options[:content_type]
|
151
133
|
end
|
152
134
|
|
153
135
|
def handle_create_response(response)
|
154
|
-
raise APIError, "
|
136
|
+
raise APIError, "No response is returned" if response.nil?
|
155
137
|
|
156
138
|
case response.status
|
157
139
|
when HTTP_STATUS_OK, HTTP_STATUS_CREATED
|
@@ -162,7 +144,7 @@ module Resizing
|
|
162
144
|
end
|
163
145
|
|
164
146
|
def handle_delete_response(response)
|
165
|
-
raise APIError, "
|
147
|
+
raise APIError, "No response is returned" if response.nil?
|
166
148
|
|
167
149
|
case response.status
|
168
150
|
when HTTP_STATUS_OK, HTTP_STATUS_NOT_FOUND
|
@@ -172,12 +154,17 @@ module Resizing
|
|
172
154
|
end
|
173
155
|
end
|
174
156
|
|
175
|
-
def handle_metadata_response(response)
|
176
|
-
|
157
|
+
def handle_metadata_response(response, options = {})
|
158
|
+
when_not_found = options[:when_not_found] || nil
|
159
|
+
|
160
|
+
raise APIError, "No response is returned" if response.nil?
|
177
161
|
|
178
162
|
case response.status
|
179
163
|
when HTTP_STATUS_OK, HTTP_STATUS_NOT_FOUND
|
180
164
|
JSON.parse(response.body)
|
165
|
+
when HTTP_STATUS_NOT_FOUND
|
166
|
+
raise decode_error_from(response) if when_not_found == :raise
|
167
|
+
nil
|
181
168
|
else
|
182
169
|
raise decode_error_from(response)
|
183
170
|
end
|
@@ -103,8 +103,12 @@ module Resizing
|
|
103
103
|
end
|
104
104
|
|
105
105
|
def initialize_by_hash(attr)
|
106
|
-
# @host = attr[:host].dup.freeze || DEFAULT_HOST
|
107
106
|
@image_host = attr[:image_host].dup.freeze || DEFAULT_IMAGE_HOST
|
107
|
+
if attr[:host].present?
|
108
|
+
Kernel.warn "[DEPRECATED] The host on configration is deprecated. Use image_host, video_host" if attr[:host].present?
|
109
|
+
@image_host ||= attr[:host].dup.freeze || DEFAULT_HOST # for backward compatible
|
110
|
+
end
|
111
|
+
|
108
112
|
@video_host = attr[:video_host].dup.freeze || DEFAULT_VIDEO_HOST
|
109
113
|
@project_id = attr[:project_id].dup.freeze
|
110
114
|
@secret_token = attr[:secret_token].dup.freeze
|
data/lib/resizing/version.rb
CHANGED
data/lib/resizing.rb
CHANGED
data/resizing.gemspec
CHANGED
@@ -28,13 +28,17 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.bindir = 'exe'
|
29
29
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
30
30
|
spec.require_paths = ['lib']
|
31
|
-
spec.add_runtime_dependency 'faraday', '
|
32
|
-
spec.
|
31
|
+
spec.add_runtime_dependency 'faraday', '~> 2.3'
|
32
|
+
spec.add_runtime_dependency 'faraday-multipart'
|
33
|
+
spec.add_development_dependency 'rails', '~> 6.0'
|
34
|
+
spec.add_development_dependency 'carrierwave', '~> 2.2.5'
|
33
35
|
spec.add_development_dependency 'fog-aws'
|
34
36
|
spec.add_development_dependency 'minitest'
|
35
37
|
spec.add_development_dependency 'minitest-ci'
|
36
|
-
spec.add_development_dependency 'rails', '~> 5.2.3'
|
37
38
|
spec.add_development_dependency 'rubocop'
|
38
39
|
spec.add_development_dependency 'timecop'
|
39
40
|
spec.add_development_dependency 'vcr'
|
41
|
+
spec.add_development_dependency 'mysql2'
|
42
|
+
spec.add_development_dependency 'simplecov'
|
43
|
+
spec.add_development_dependency 'simplecov-cobertura'
|
40
44
|
end
|
data/test/test_helper.rb
CHANGED
@@ -1,4 +1,22 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
require 'simplecov'
|
3
|
+
require 'simplecov-cobertura'
|
4
|
+
|
5
|
+
SimpleCov.start do
|
6
|
+
add_filter "/test/"
|
7
|
+
|
8
|
+
if ENV['CI']
|
9
|
+
formatter SimpleCov::Formatter::CoberturaFormatter
|
10
|
+
else
|
11
|
+
formatter SimpleCov::Formatter::MultiFormatter.new([
|
12
|
+
SimpleCov::Formatter::SimpleFormatter,
|
13
|
+
SimpleCov::Formatter::HTMLFormatter
|
14
|
+
])
|
15
|
+
end
|
16
|
+
|
17
|
+
enable_coverage :branch
|
18
|
+
primary_coverage :branch
|
19
|
+
end
|
2
20
|
|
3
21
|
$LOAD_PATH.unshift File.expand_path('../lib', __dir__)
|
4
22
|
require 'time'
|
metadata
CHANGED
@@ -1,49 +1,71 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resizing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.1.0.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Junichiro Kasuya
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-08-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.3'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
18
25
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
20
|
-
|
26
|
+
version: '2.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: faraday-multipart
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
21
32
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
33
|
+
version: '0'
|
23
34
|
type: :runtime
|
24
35
|
prerelease: false
|
25
36
|
version_requirements: !ruby/object:Gem::Requirement
|
26
37
|
requirements:
|
27
38
|
- - ">="
|
28
39
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
30
|
-
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rails
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '6.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
31
53
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
54
|
+
version: '6.0'
|
33
55
|
- !ruby/object:Gem::Dependency
|
34
56
|
name: carrierwave
|
35
57
|
requirement: !ruby/object:Gem::Requirement
|
36
58
|
requirements:
|
37
59
|
- - "~>"
|
38
60
|
- !ruby/object:Gem::Version
|
39
|
-
version: 2.2.
|
61
|
+
version: 2.2.5
|
40
62
|
type: :development
|
41
63
|
prerelease: false
|
42
64
|
version_requirements: !ruby/object:Gem::Requirement
|
43
65
|
requirements:
|
44
66
|
- - "~>"
|
45
67
|
- !ruby/object:Gem::Version
|
46
|
-
version: 2.2.
|
68
|
+
version: 2.2.5
|
47
69
|
- !ruby/object:Gem::Dependency
|
48
70
|
name: fog-aws
|
49
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -87,21 +109,21 @@ dependencies:
|
|
87
109
|
- !ruby/object:Gem::Version
|
88
110
|
version: '0'
|
89
111
|
- !ruby/object:Gem::Dependency
|
90
|
-
name:
|
112
|
+
name: rubocop
|
91
113
|
requirement: !ruby/object:Gem::Requirement
|
92
114
|
requirements:
|
93
|
-
- - "
|
115
|
+
- - ">="
|
94
116
|
- !ruby/object:Gem::Version
|
95
|
-
version:
|
117
|
+
version: '0'
|
96
118
|
type: :development
|
97
119
|
prerelease: false
|
98
120
|
version_requirements: !ruby/object:Gem::Requirement
|
99
121
|
requirements:
|
100
|
-
- - "
|
122
|
+
- - ">="
|
101
123
|
- !ruby/object:Gem::Version
|
102
|
-
version:
|
124
|
+
version: '0'
|
103
125
|
- !ruby/object:Gem::Dependency
|
104
|
-
name:
|
126
|
+
name: timecop
|
105
127
|
requirement: !ruby/object:Gem::Requirement
|
106
128
|
requirements:
|
107
129
|
- - ">="
|
@@ -115,7 +137,7 @@ dependencies:
|
|
115
137
|
- !ruby/object:Gem::Version
|
116
138
|
version: '0'
|
117
139
|
- !ruby/object:Gem::Dependency
|
118
|
-
name:
|
140
|
+
name: vcr
|
119
141
|
requirement: !ruby/object:Gem::Requirement
|
120
142
|
requirements:
|
121
143
|
- - ">="
|
@@ -129,7 +151,35 @@ dependencies:
|
|
129
151
|
- !ruby/object:Gem::Version
|
130
152
|
version: '0'
|
131
153
|
- !ruby/object:Gem::Dependency
|
132
|
-
name:
|
154
|
+
name: mysql2
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: simplecov
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: simplecov-cobertura
|
133
183
|
requirement: !ruby/object:Gem::Requirement
|
134
184
|
requirements:
|
135
185
|
- - ">="
|
@@ -145,11 +195,14 @@ dependencies:
|
|
145
195
|
description: 'Client and utilities for Resizing '
|
146
196
|
email:
|
147
197
|
- junichiro.kasuya@gmail.com
|
148
|
-
executables:
|
198
|
+
executables:
|
199
|
+
- console
|
200
|
+
- generate-changelog
|
201
|
+
- setup
|
149
202
|
extensions: []
|
150
203
|
extra_rdoc_files: []
|
151
204
|
files:
|
152
|
-
- ".
|
205
|
+
- ".github/workflows/test.yml"
|
153
206
|
- ".gitignore"
|
154
207
|
- ".rubocop.yml"
|
155
208
|
- CHANGELOG.md
|
@@ -157,10 +210,10 @@ files:
|
|
157
210
|
- LICENSE.txt
|
158
211
|
- README.md
|
159
212
|
- Rakefile
|
160
|
-
- bin/console
|
161
|
-
- bin/generate-changelog
|
162
|
-
- bin/setup
|
163
213
|
- docker-compose.yml
|
214
|
+
- exe/console
|
215
|
+
- exe/generate-changelog
|
216
|
+
- exe/setup
|
164
217
|
- lib/resizing.rb
|
165
218
|
- lib/resizing/active_storage/service/resizing_service.rb
|
166
219
|
- lib/resizing/carrier_wave.rb
|
@@ -220,7 +273,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
220
273
|
- !ruby/object:Gem::Version
|
221
274
|
version: 1.3.1
|
222
275
|
requirements: []
|
223
|
-
rubygems_version: 3.
|
276
|
+
rubygems_version: 3.1.6
|
224
277
|
signing_key:
|
225
278
|
specification_version: 4
|
226
279
|
summary: Client and utilities for Resizing
|
data/.circleci/config.yml
DELETED
@@ -1,71 +0,0 @@
|
|
1
|
-
version: 2
|
2
|
-
|
3
|
-
jobs:
|
4
|
-
build:
|
5
|
-
docker:
|
6
|
-
- image: circleci/ruby:2.6.2-node
|
7
|
-
environment:
|
8
|
-
BUNDLE_JOBS: 4
|
9
|
-
BUNDLE_RETRY: 3
|
10
|
-
BUNDLE_PATH: vendor/bundle
|
11
|
-
BUNDLE_APP_CONFIG: "./.bundle"
|
12
|
-
TZ: /usr/share/zoneinfo/Asia/Tokyo
|
13
|
-
LANG: ja_JP.UTF8
|
14
|
-
- image: circleci/mysql:5.7
|
15
|
-
environment:
|
16
|
-
MYSQL_ROOT_PASSWORD: secret
|
17
|
-
MYSQL_DATABASE: resizing_gem_test
|
18
|
-
MYSQL_USER: resizing_gem
|
19
|
-
MYSQL_PASSWORD: secret
|
20
|
-
TZ: /usr/share/zoneinfo/Asia/Tokyo
|
21
|
-
LANG: ja_JP.UTF8
|
22
|
-
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_bin
|
23
|
-
|
24
|
-
steps:
|
25
|
-
- checkout
|
26
|
-
- run:
|
27
|
-
name: Which bundler?
|
28
|
-
command: |
|
29
|
-
bundle -v
|
30
|
-
bundle config
|
31
|
-
|
32
|
-
- restore_cache:
|
33
|
-
keys:
|
34
|
-
- v2-{{ .Environment.CACHE_KEY }}-gem-cache-{{ arch }}-{{ .Branch }}
|
35
|
-
- v2-{{ .Environment.CACHE_KEY }}-gem-cache
|
36
|
-
|
37
|
-
- run:
|
38
|
-
name: reinstall rake && bundle install
|
39
|
-
command: |
|
40
|
-
sudo gem install bundler
|
41
|
-
sudo gem uninstall -x rake
|
42
|
-
echo "install: --no-document" >> ~/.gemrc
|
43
|
-
bundle check --path vendor/bundle || bundle install --path vendor/bundle --clean
|
44
|
-
|
45
|
-
- save_cache:
|
46
|
-
key: v2-{{ .Environment.CACHE_KEY }}-gem-cache-{{ arch }}-{{ .Branch }}
|
47
|
-
paths:
|
48
|
-
- vendor/bundle
|
49
|
-
|
50
|
-
- run:
|
51
|
-
name: connectable MySQL?
|
52
|
-
command: |
|
53
|
-
dockerize -wait tcp://127.0.0.1:3306 -timeout 1m
|
54
|
-
|
55
|
-
# - run:
|
56
|
-
# name: rubocop
|
57
|
-
# command: bundle exec rubocop --parallel
|
58
|
-
# - run:
|
59
|
-
# name: brakeman
|
60
|
-
# command: bundle exec brakeman --no-exit-on-error -w 1 -z
|
61
|
-
- run:
|
62
|
-
command: bundle exec rake test
|
63
|
-
when: always
|
64
|
-
- store_test_results:
|
65
|
-
path: test/reports
|
66
|
-
|
67
|
-
workflows:
|
68
|
-
version: 2
|
69
|
-
build-deploy:
|
70
|
-
jobs:
|
71
|
-
- build
|
/data/{bin → exe}/console
RENAMED
File without changes
|
File without changes
|
/data/{bin → exe}/setup
RENAMED
File without changes
|