imagetools 1.6.1 → 1.7.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b0c09a0e718e8e80afa71f207fb0eb68ae6a98cc37ce04a5105d15958a576885
4
- data.tar.gz: 2b8fba73e2c5ef832a0cdfb6f00afc3325b23a1a7d6d3a1607e09bf8b9d66d5b
3
+ metadata.gz: d3b3c82bea2e6142528c1bd2950d328a1a68823f6ae8e0a89f8f69cef33275ed
4
+ data.tar.gz: e99f4a964370128a821a0b44c170b39d62b7b18078a7122d6f878a7f67f7cab3
5
5
  SHA512:
6
- metadata.gz: 2d2b036651994dd9dc0e4de301a903388df4f94ce224263c581be27842057abe3aa4028f6dccbf2a5b2a11fda85767c808b427d25fc360355da5effec4c197ac
7
- data.tar.gz: 65b25497223df286e43595d6d2eebb3629183d5a758ef93d36da47d196afd9689a586bbbcb46a6fa3f1ba703ebee86662a41c70d1466c85e9fea77653cee69b8
6
+ metadata.gz: ba4317180125f4d4e31a44666863d40ac2636997ff83211a26bc5e5b99c82e47cc7c5b68a2dff36b94546029fe5a98827ecf14aba4b1c47cb45ee362cdd33243
7
+ data.tar.gz: e9bba93211d4a035e6bbeabcd41ad7110ff5bcc4b2daad5512bcfe86bb0dcd9e5932f6e5f8915b765e406167b1de1de4eab5677eeedf2ba7ef720fad6914d6f0
data/.idea/workspace.xml CHANGED
@@ -1,8 +1,17 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <project version="4">
3
+ <component name="AutoImportSettings">
4
+ <option name="autoReloadType" value="SELECTIVE" />
5
+ </component>
3
6
  <component name="ChangeListManager">
4
7
  <list default="true" id="b197c64f-57f8-4389-ab8d-dc9fe3cb05ba" name="Default" comment="">
8
+ <change beforePath="$PROJECT_DIR$/.idea/runConfigurations.xml" beforeDir="false" />
5
9
  <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
10
+ <change beforePath="$PROJECT_DIR$/Gemfile.lock" beforeDir="false" afterPath="$PROJECT_DIR$/Gemfile.lock" afterDir="false" />
11
+ <change beforePath="$PROJECT_DIR$/imagetools.iml" beforeDir="false" afterPath="$PROJECT_DIR$/imagetools.iml" afterDir="false" />
12
+ <change beforePath="$PROJECT_DIR$/lib/imagetools/imagefilter.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/imagetools/imagefilter.rb" afterDir="false" />
13
+ <change beforePath="$PROJECT_DIR$/lib/imagetools/version.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/imagetools/version.rb" afterDir="false" />
14
+ <change beforePath="$PROJECT_DIR$/test/imagefilter_test.rb" beforeDir="false" afterPath="$PROJECT_DIR$/test/imagefilter_test.rb" afterDir="false" />
6
15
  </list>
7
16
  <option name="SHOW_DIALOG" value="false" />
8
17
  <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -21,10 +30,13 @@
21
30
  <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
22
31
  </component>
23
32
  <component name="HighlightingSettingsPerFile">
24
- <setting file="file://$PROJECT_DIR$/exe/imageconcat" root0="FORCE_HIGHLIGHTING" />
25
- <setting file="file://$PROJECT_DIR$/test_imageconcat.sh" root0="FORCE_HIGHLIGHTING" />
26
33
  <setting file="file://$USER_HOME$/.anyenv/envs/rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/imagetools-1.5.2/lib/imagetools/imageconcat.rb" root0="FORCE_HIGHLIGHTING" />
34
+ <setting file="file://$PROJECT_DIR$/exe/imageconcat" root0="FORCE_HIGHLIGHTING" />
27
35
  <setting file="file://$PROJECT_DIR$/lib/imagetools/imageconcat.rb" root0="FORCE_HIGHLIGHTING" />
36
+ <setting file="file://$PROJECT_DIR$/test_imageconcat.sh" root0="FORCE_HIGHLIGHTING" />
37
+ </component>
38
+ <component name="MarkdownSettingsMigration">
39
+ <option name="stateVersion" value="1" />
28
40
  </component>
29
41
  <component name="ProjectFrameBounds">
30
42
  <option name="x" value="254" />
@@ -37,27 +49,20 @@
37
49
  <option name="hideEmptyMiddlePackages" value="true" />
38
50
  <option name="showLibraryContents" value="true" />
39
51
  </component>
40
- <component name="PropertiesComponent">
41
- <property name="GoToClass.includeLibraries" value="false" />
42
- <property name="GoToClass.toSaveIncludeLibraries" value="false" />
43
- <property name="GoToFile.includeJavaFiles" value="false" />
44
- <property name="MemberChooser.copyJavadoc" value="false" />
45
- <property name="MemberChooser.showClasses" value="true" />
46
- <property name="MemberChooser.sorted" value="false" />
47
- <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
48
- <property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
49
- <property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
50
- <property name="WebServerToolWindowFactoryState" value="false" />
51
- <property name="aspect.path.notification.shown" value="true" />
52
- <property name="last_opened_file_path" value="$PROJECT_DIR$" />
53
- <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
54
- <property name="nodejs_npm_path_reset_for_default_project" value="true" />
55
- <property name="project.structure.last.edited" value="Modules" />
56
- <property name="project.structure.proportion" value="0.15" />
57
- <property name="project.structure.side.proportion" value="0.208413" />
58
- <property name="settings.editor.selected.configurable" value="preferences.keymap" />
59
- </component>
60
- <component name="RunManager" selected="Ruby.imageconcat">
52
+ <component name="PropertiesComponent">{
53
+ &quot;keyToString&quot;: {
54
+ &quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
55
+ &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
56
+ &quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
57
+ &quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
58
+ &quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
59
+ &quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
60
+ &quot;ruby.rails.projectView.checked&quot;: &quot;true&quot;,
61
+ &quot;ruby.structure.view.model.defaults.configured&quot;: &quot;true&quot;,
62
+ &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
63
+ }
64
+ }</component>
65
+ <component name="RunManager" selected="Test::Unit/Shoulda/Minitest.test_replace_image2webp">
61
66
  <configuration default="true" type="Application" factoryName="Application">
62
67
  <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
63
68
  <method v="2">
@@ -78,7 +83,7 @@
78
83
  <RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
79
84
  <RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
80
85
  <RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
81
- <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
86
+ <EXTENSION ID="BundlerRunConfigurationExtension" BUNDLE_MODE="AUTO" bundleExecEnabled="true" />
82
87
  <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
83
88
  <EXTENSION ID="RubyCoverageRunConfigurationExtension" track_test_folders="true" runner="rcov" ENABLE_FORKED_COVERAGE="true">
84
89
  <COVERAGE_PATTERN ENABLED="true">
@@ -99,7 +104,7 @@
99
104
  <RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
100
105
  <RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
101
106
  <RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
102
- <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
107
+ <EXTENSION ID="BundlerRunConfigurationExtension" BUNDLE_MODE="AUTO" bundleExecEnabled="true" />
103
108
  <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
104
109
  <EXTENSION ID="RubyCoverageRunConfigurationExtension" track_test_folders="true" runner="rcov" ENABLE_FORKED_COVERAGE="true">
105
110
  <COVERAGE_PATTERN ENABLED="true">
@@ -122,6 +127,134 @@
122
127
  <option name="Make" enabled="true" />
123
128
  </method>
124
129
  </configuration>
130
+ <configuration name="test_exclude_image" type="TestUnitRunConfigurationType" factoryName="Test::Unit/Shoulda/Minitest" temporary="true" nameIsGenerated="true">
131
+ <module name="imagetools" />
132
+ <predefined_log_file enabled="true" id="RUBY_TESTUNIT" />
133
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-Ilib:test" />
134
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$PROJECT_DIR$" />
135
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
136
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
137
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
138
+ <envs>
139
+ <env name="JRUBY_OPTS" value="-X+O" />
140
+ </envs>
141
+ <EXTENSION ID="BundlerRunConfigurationExtension" BUNDLE_MODE="AUTO" bundleExecEnabled="true" />
142
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" track_test_folders="true" runner="rcov" ENABLE_BRANCH_COVERAGE="true" ENABLE_FORKED_COVERAGE="true">
143
+ <COVERAGE_PATTERN ENABLED="true">
144
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
145
+ </COVERAGE_PATTERN>
146
+ </EXTENSION>
147
+ <EXTENSION ID="org.jetbrains.plugins.ruby.rails.run.RailsRunConfigurationExtension" SCRATCH_USE_RAILS_RUNNER="false" />
148
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
149
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$PROJECT_DIR$/test/imagefilter_test.rb" />
150
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPTS_PATHS" VALUE="$PROJECT_DIR$/test/imagefilter_test.rb" />
151
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
152
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_METHOD_NAME" VALUE="^test_exclude_image$" />
153
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_METHOD" />
154
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
155
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
156
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
157
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_OPTIONS" VALUE="" />
158
+ <method v="2">
159
+ <option name="Make" enabled="true" />
160
+ </method>
161
+ </configuration>
162
+ <configuration name="test_replace_image2webp" type="TestUnitRunConfigurationType" factoryName="Test::Unit/Shoulda/Minitest" temporary="true" nameIsGenerated="true">
163
+ <module name="imagetools" />
164
+ <predefined_log_file enabled="true" id="RUBY_TESTUNIT" />
165
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-Ilib:test" />
166
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$PROJECT_DIR$" />
167
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
168
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
169
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
170
+ <envs>
171
+ <env name="JRUBY_OPTS" value="-X+O" />
172
+ </envs>
173
+ <EXTENSION ID="BundlerRunConfigurationExtension" BUNDLE_MODE="AUTO" bundleExecEnabled="true" />
174
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" track_test_folders="true" runner="rcov" ENABLE_BRANCH_COVERAGE="true" ENABLE_FORKED_COVERAGE="true">
175
+ <COVERAGE_PATTERN ENABLED="true">
176
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
177
+ </COVERAGE_PATTERN>
178
+ </EXTENSION>
179
+ <EXTENSION ID="org.jetbrains.plugins.ruby.rails.run.RailsRunConfigurationExtension" SCRATCH_USE_RAILS_RUNNER="false" />
180
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
181
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$PROJECT_DIR$/test/imagefilter_test.rb" />
182
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPTS_PATHS" VALUE="$PROJECT_DIR$/test/imagefilter_test.rb" />
183
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
184
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_METHOD_NAME" VALUE="^test_replace_image2webp$" />
185
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_METHOD" />
186
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
187
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
188
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
189
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_OPTIONS" VALUE="" />
190
+ <method v="2">
191
+ <option name="Make" enabled="true" />
192
+ </method>
193
+ </configuration>
194
+ <configuration name="test_replace_image_filename" type="TestUnitRunConfigurationType" factoryName="Test::Unit/Shoulda/Minitest" temporary="true" nameIsGenerated="true">
195
+ <module name="imagetools" />
196
+ <predefined_log_file enabled="true" id="RUBY_TESTUNIT" />
197
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-Ilib:test" />
198
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$PROJECT_DIR$" />
199
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
200
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
201
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
202
+ <envs>
203
+ <env name="JRUBY_OPTS" value="-X+O" />
204
+ </envs>
205
+ <EXTENSION ID="BundlerRunConfigurationExtension" BUNDLE_MODE="AUTO" bundleExecEnabled="true" />
206
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" track_test_folders="true" runner="rcov" ENABLE_BRANCH_COVERAGE="true" ENABLE_FORKED_COVERAGE="true">
207
+ <COVERAGE_PATTERN ENABLED="true">
208
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
209
+ </COVERAGE_PATTERN>
210
+ </EXTENSION>
211
+ <EXTENSION ID="org.jetbrains.plugins.ruby.rails.run.RailsRunConfigurationExtension" SCRATCH_USE_RAILS_RUNNER="false" />
212
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
213
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$PROJECT_DIR$/test/imagefilter_test.rb" />
214
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPTS_PATHS" VALUE="$PROJECT_DIR$/test/imagefilter_test.rb" />
215
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
216
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_METHOD_NAME" VALUE="^test_replace_image_filename$" />
217
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_METHOD" />
218
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
219
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
220
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
221
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_OPTIONS" VALUE="" />
222
+ <method v="2">
223
+ <option name="Make" enabled="true" />
224
+ </method>
225
+ </configuration>
226
+ <configuration name="test_replace_png2jpg" type="TestUnitRunConfigurationType" factoryName="Test::Unit/Shoulda/Minitest" temporary="true" nameIsGenerated="true">
227
+ <module name="imagetools" />
228
+ <predefined_log_file enabled="true" id="RUBY_TESTUNIT" />
229
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-Ilib:test" />
230
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$PROJECT_DIR$" />
231
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
232
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
233
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
234
+ <envs>
235
+ <env name="JRUBY_OPTS" value="-X+O" />
236
+ </envs>
237
+ <EXTENSION ID="BundlerRunConfigurationExtension" BUNDLE_MODE="AUTO" bundleExecEnabled="true" />
238
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" track_test_folders="true" runner="rcov" ENABLE_BRANCH_COVERAGE="true" ENABLE_FORKED_COVERAGE="true">
239
+ <COVERAGE_PATTERN ENABLED="true">
240
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
241
+ </COVERAGE_PATTERN>
242
+ </EXTENSION>
243
+ <EXTENSION ID="org.jetbrains.plugins.ruby.rails.run.RailsRunConfigurationExtension" SCRATCH_USE_RAILS_RUNNER="false" />
244
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
245
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="$PROJECT_DIR$/test/imagefilter_test.rb" />
246
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPTS_PATHS" VALUE="$PROJECT_DIR$/test/imagefilter_test.rb" />
247
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
248
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_METHOD_NAME" VALUE="^test_replace_png2jpg$" />
249
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_METHOD" />
250
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
251
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
252
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
253
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_OPTIONS" VALUE="" />
254
+ <method v="2">
255
+ <option name="Make" enabled="true" />
256
+ </method>
257
+ </configuration>
125
258
  <configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType">
126
259
  <module name="" />
127
260
  <option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
@@ -134,7 +267,19 @@
134
267
  <list>
135
268
  <item itemvalue="Ruby.iconcreator" />
136
269
  <item itemvalue="Ruby.imageconcat" />
270
+ <item itemvalue="Test::Unit/Shoulda/Minitest.test_exclude_image" />
271
+ <item itemvalue="Test::Unit/Shoulda/Minitest.test_replace_image2webp" />
272
+ <item itemvalue="Test::Unit/Shoulda/Minitest.test_replace_image_filename" />
273
+ <item itemvalue="Test::Unit/Shoulda/Minitest.test_replace_png2jpg" />
137
274
  </list>
275
+ <recent_temporary>
276
+ <list>
277
+ <item itemvalue="Test::Unit/Shoulda/Minitest.test_replace_image2webp" />
278
+ <item itemvalue="Test::Unit/Shoulda/Minitest.test_exclude_image" />
279
+ <item itemvalue="Test::Unit/Shoulda/Minitest.test_replace_png2jpg" />
280
+ <item itemvalue="Test::Unit/Shoulda/Minitest.test_replace_image_filename" />
281
+ </list>
282
+ </recent_temporary>
138
283
  </component>
139
284
  <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
140
285
  <component name="SpringUtil" SPRING_PRE_LOADER_OPTION="true" RAKE_SPRING_PRE_LOADER_OPTION="false" RAILS_SPRING_PRE_LOADER_OPTION="false" />
@@ -152,6 +297,9 @@
152
297
  <workItem from="1646719315550" duration="10000" />
153
298
  <workItem from="1669361560975" duration="7318000" />
154
299
  <workItem from="1669384174219" duration="2215000" />
300
+ <workItem from="1678251388689" duration="1190000" />
301
+ <workItem from="1682834450840" duration="2235000" />
302
+ <workItem from="1682836714784" duration="304000" />
155
303
  </task>
156
304
  <servers />
157
305
  </component>
@@ -192,6 +340,10 @@
192
340
  </component>
193
341
  <component name="com.intellij.coverage.CoverageDataManagerImpl">
194
342
  <SUITE FILE_PATH="coverage/imagetools@imageconcat.rcov" NAME="imageconcat Coverage Results" MODIFIED="1669384701671" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" MODULE_NAME="imagetools" />
343
+ <SUITE FILE_PATH="coverage/imagetools@test_replace_image_filename.rcov" NAME="test_replace_image_filename Coverage Results" MODIFIED="1682834940900" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" MODULE_NAME="imagetools" />
344
+ <SUITE FILE_PATH="coverage/imagetools@test_replace_image2webp.rcov" NAME="test_replace_image2webp Coverage Results" MODIFIED="1682835456004" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" MODULE_NAME="imagetools" />
345
+ <SUITE FILE_PATH="coverage/imagetools@test_replace_png2jpg.rcov" NAME="test_replace_png2jpg Coverage Results" MODIFIED="1682834990939" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" MODULE_NAME="imagetools" />
346
+ <SUITE FILE_PATH="coverage/imagetools@test_exclude_image.rcov" NAME="test_exclude_image Coverage Results" MODIFIED="1682835322829" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" MODULE_NAME="imagetools" />
195
347
  <SUITE FILE_PATH="coverage/imagetools@iconcreator.rcov" NAME="iconcreator Coverage Results" MODIFIED="1669377776099" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/exe" MODULE_NAME="imagetools" />
196
348
  </component>
197
349
  <component name="masterDetails">
data/Gemfile.lock CHANGED
@@ -1,16 +1,16 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- imagetools (1.6.1)
4
+ imagetools (1.7.0)
5
5
  rmagick
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- minitest (5.16.3)
10
+ minitest (5.18.0)
11
11
  pkg-config (1.5.1)
12
12
  rake (13.0.6)
13
- rmagick (5.1.0)
13
+ rmagick (5.2.0)
14
14
  pkg-config (~> 1.4)
15
15
 
16
16
  PLATFORMS
@@ -23,4 +23,4 @@ DEPENDENCIES
23
23
  rake (~> 13.0)
24
24
 
25
25
  BUNDLED WITH
26
- 2.3.19
26
+ 2.4.9
data/imagetools.iml CHANGED
@@ -6,21 +6,21 @@
6
6
  <orderEntry type="jdk" jdkName="rbenv: 3.0.4" jdkType="RUBY_SDK" />
7
7
  <orderEntry type="sourceFolder" forTests="false" />
8
8
  <orderEntry type="module-library">
9
- <library name="minitest (vbundled(5.16.3)) [path][gem]" type="rubylib">
9
+ <library name="minitest (vbundled(5.18.0)) [path][gem]" type="rubylib">
10
10
  <properties>
11
11
  <option name="version" value="4" />
12
12
  </properties>
13
13
  <CLASSES>
14
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/minitest-5.16.3/lib" />
15
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/minitest-5.16.3/test" />
14
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/minitest-5.18.0/lib" />
15
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/minitest-5.18.0/test" />
16
16
  </CLASSES>
17
17
  <JAVADOC />
18
18
  <SOURCES>
19
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/minitest-5.16.3/lib" />
20
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/minitest-5.16.3/test" />
19
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/minitest-5.18.0/lib" />
20
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/minitest-5.18.0/test" />
21
21
  </SOURCES>
22
22
  <excluded>
23
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/minitest-5.16.3/test" />
23
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/minitest-5.18.0/test" />
24
24
  </excluded>
25
25
  </library>
26
26
  </orderEntry>
@@ -66,31 +66,63 @@
66
66
  </library>
67
67
  </orderEntry>
68
68
  <orderEntry type="module-library">
69
- <library name="rmagick (vbundled(5.1.0)) [path][gem]" type="rubylib">
69
+ <library name="rmagick (vbundled(5.2.0)) [path][gem]" type="rubylib">
70
70
  <properties>
71
71
  <option name="version" value="4" />
72
72
  </properties>
73
73
  <CLASSES>
74
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/ext" />
75
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/lib" />
76
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/.github" />
77
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/.devcontainer" />
74
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.2.0/ext" />
75
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.2.0/lib" />
76
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.2.0/.github" />
77
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.2.0/.devcontainer" />
78
78
  </CLASSES>
79
79
  <JAVADOC />
80
80
  <SOURCES>
81
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/ext" />
82
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/lib" />
83
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/.github" />
84
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/.devcontainer" />
81
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.2.0/ext" />
82
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.2.0/lib" />
83
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.2.0/.github" />
84
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.2.0/.devcontainer" />
85
85
  </SOURCES>
86
86
  <excluded>
87
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/ext" />
88
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/.github" />
89
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/.devcontainer" />
87
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.2.0/ext" />
88
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.2.0/.github" />
89
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.2.0/.devcontainer" />
90
90
  </excluded>
91
91
  </library>
92
92
  </orderEntry>
93
- <orderEntry type="library" scope="PROVIDED" name="bundler (v2.3.19, rbenv: 3.0.4) [gem]" level="application" />
94
- <orderEntry type="library" scope="PROVIDED" name="rbs (v1.4.0, rbenv: 3.0.4) [gem]" level="application" />
93
+ <orderEntry type="library" scope="PROVIDED" name="bundler (v2.4.9, rbenv: 3.0.4) [gem]" level="application" />
94
+ </component>
95
+ <component name="RakeTasksCache">
96
+ <option name="myRootTask">
97
+ <RakeTaskImpl id="rake">
98
+ <subtasks>
99
+ <RakeTaskImpl description="Build imagetools-1.7.0.gem into the pkg directory" fullCommand="build" id="build" />
100
+ <RakeTaskImpl id="build">
101
+ <subtasks>
102
+ <RakeTaskImpl description="Generate SHA512 checksum if imagetools-1.7.0.gem into the checksums directory" fullCommand="build:checksum" id="checksum" />
103
+ </subtasks>
104
+ </RakeTaskImpl>
105
+ <RakeTaskImpl description="Remove any temporary products" fullCommand="clean" id="clean" />
106
+ <RakeTaskImpl description="Remove any generated files" fullCommand="clobber" id="clobber" />
107
+ <RakeTaskImpl description="Build and install imagetools-1.7.0.gem into system gems" fullCommand="install" id="install" />
108
+ <RakeTaskImpl id="install">
109
+ <subtasks>
110
+ <RakeTaskImpl description="Build and install imagetools-1.7.0.gem into system gems without network access" fullCommand="install:local" id="local" />
111
+ </subtasks>
112
+ </RakeTaskImpl>
113
+ <RakeTaskImpl description="Create tag v1.7.0 and build and push imagetools-1.7.0.gem to rubygems.org" fullCommand="release[remote]" id="release[remote]" />
114
+ <RakeTaskImpl description="Run tests" fullCommand="test" id="test" />
115
+ <RakeTaskImpl description="" fullCommand="default" id="default" />
116
+ <RakeTaskImpl description="" fullCommand="release" id="release" />
117
+ <RakeTaskImpl id="release">
118
+ <subtasks>
119
+ <RakeTaskImpl description="" fullCommand="release:guard_clean" id="guard_clean" />
120
+ <RakeTaskImpl description="" fullCommand="release:rubygem_push" id="rubygem_push" />
121
+ <RakeTaskImpl description="" fullCommand="release:source_control_push" id="source_control_push" />
122
+ </subtasks>
123
+ </RakeTaskImpl>
124
+ </subtasks>
125
+ </RakeTaskImpl>
126
+ </option>
95
127
  </component>
96
128
  </module>
@@ -64,13 +64,14 @@ module Imagetools
64
64
 
65
65
  CONVERT_CMD = "convert"
66
66
  DWEBP_CMD = "dwebp"
67
+ CWEBP_CMD = "cwebp"
67
68
  RESIZE_CMD = "mogrify -background white -resize %dx\\> "
68
69
  ROTATE_CMD = "exiftran -ai "
69
70
  COMPRESS_CMD = "jpegoptim --strip-all --max=90 "
70
- EXTERNAL_CMDS = [CONVERT_CMD, RESIZE_CMD, ROTATE_CMD, COMPRESS_CMD, DWEBP_CMD]
71
+ EXTERNAL_CMDS = [CONVERT_CMD, RESIZE_CMD, ROTATE_CMD, COMPRESS_CMD, DWEBP_CMD, CWEBP_CMD]
71
72
 
72
73
  WEBP_SEARCH = /(.+)\.webp/i
73
- WEBP_REPLACE = '\1.png'
74
+ WEBP_REPLACE = '\1.webp'
74
75
 
75
76
  PNG_SEARCH = /(.+)\.png/i
76
77
  PNG_REPLACE = '\1.jpg'
@@ -151,22 +152,35 @@ EOM
151
152
  filename.sub(OTHER_JPG_SEARCH, OTHER_JPG_REPLACE)
152
153
  end
153
154
 
154
- def self.replace_webp2png(filename)
155
- filename.sub(WEBP_SEARCH, WEBP_REPLACE)
156
- end
155
+ # def self.replace_webp2png(filename)
156
+ # filename.sub(WEBP_SEARCH, WEBP_REPLACE)
157
+ # end
157
158
 
158
- def self.replace_png2jpg(filename)
159
- filename.sub(PNG_SEARCH, PNG_REPLACE)
160
- end
159
+ # def self.replace_png2jpg(filename)
160
+ # filename.sub(PNG_SEARCH, PNG_REPLACE)
161
+ # end
161
162
 
162
163
  def self.replace_heic2jpg(filename)
163
164
  filename.sub(HEIC_SEARCH, HEIC_REPLACE)
164
165
  end
165
166
 
167
+ def self.replace_image2webp(filename)
168
+ # PNGとJPGに対応(WEBPはそのまま)
169
+ str = filename.dup
170
+ if str.sub!(PNG_SEARCH, WEBP_REPLACE)
171
+ return str
172
+ end
173
+ if str.sub!(JPG_SEARCH, WEBP_REPLACE)
174
+ return str
175
+ end
176
+ return str
177
+ end
178
+
166
179
  def self.match_exclude_image?(filename)
167
180
  filename =~ EXCLUDE_PAT
168
181
  end
169
182
 
183
+
170
184
  def self.selftest
171
185
  EXTERNAL_CMDS.each do |cmd|
172
186
  args = cmd.split
@@ -193,13 +207,24 @@ EOM
193
207
  if exclude_image?(filepath)
194
208
  return
195
209
  end
210
+
211
+ # ファイル名変換
196
212
  filepath = rename_image(filepath)
197
- filepath = webp2png(filepath)
198
- filepath = png2jpg(filepath)
199
- filepath = heic2jpg(filepath)
200
- filepath = resize_jpg(filepath)
213
+
214
+ # filepath = webp2png(filepath)
215
+ # filepath = png2jpg(filepath)
216
+
217
+ # HEICをJPEGに
218
+ filepath = heic2jpg(filepath)
219
+
220
+ # JPEGの回転
201
221
  filepath = rotate_jpg(filepath)
202
- filepath = compress_jpg(filepath)
222
+
223
+ # JPEG/PNG/WEBP 画像のリサイズ
224
+ filepath = resize_image(filepath)
225
+
226
+ # JPEG/PNGをWEBPに変換(WEBPはそのまま)
227
+ filepath = image2webp(filepath)
203
228
  filepath
204
229
  end
205
230
 
@@ -228,37 +253,37 @@ EOM
228
253
  return topath
229
254
  end
230
255
 
231
- def webp2png(filepath)
232
- fromname = File.basename(filepath)
233
- toname = self.class.replace_webp2png(fromname)
234
- return filepath if fromname == toname
256
+ # def webp2png(filepath)
257
+ # fromname = File.basename(filepath)
258
+ # toname = self.class.replace_webp2png(fromname)
259
+ # return filepath if fromname == toname
235
260
 
236
- dir = File.dirname(filepath)
237
- topath = File.join(dir, toname)
238
- puts "convert: #{filepath} => #{topath}"
239
- # dwebp ~/Desktop/1.webp -o ~/Desktop/1.jpg
240
- cmd = "#{DWEBP_CMD} \"#{filepath}\" -o \"#{topath}\""
241
- if system(cmd)
242
- FileUtils.rm(filepath)
243
- end
244
- return topath
245
- end
261
+ # dir = File.dirname(filepath)
262
+ # topath = File.join(dir, toname)
263
+ # puts "convert: #{filepath} => #{topath}"
264
+ # # dwebp ~/Desktop/1.webp -o ~/Desktop/1.jpg
265
+ # cmd = "#{DWEBP_CMD} \"#{filepath}\" -o \"#{topath}\""
266
+ # if system(cmd)
267
+ # FileUtils.rm(filepath)
268
+ # end
269
+ # return topath
270
+ # end
246
271
 
247
- def png2jpg(filepath)
248
- fromname = File.basename(filepath)
249
- toname = self.class.replace_png2jpg(fromname)
250
- return filepath if fromname == toname
272
+ # def png2jpg(filepath)
273
+ # fromname = File.basename(filepath)
274
+ # toname = self.class.replace_png2jpg(fromname)
275
+ # return filepath if fromname == toname
251
276
 
252
- dir = File.dirname(filepath)
253
- topath = File.join(dir, toname)
254
- puts "convert: #{filepath} => #{topath}"
255
- # convert test.png -background "#ffff00" -flatten test.jpg
256
- cmd = "#{CONVERT_CMD} \"#{filepath}\" -background \"#ffffff\" -flatten \"#{topath}\""
257
- if system(cmd)
258
- FileUtils.rm(filepath)
259
- end
260
- return topath
261
- end
277
+ # dir = File.dirname(filepath)
278
+ # topath = File.join(dir, toname)
279
+ # puts "convert: #{filepath} => #{topath}"
280
+ # # convert test.png -background "#ffff00" -flatten test.jpg
281
+ # cmd = "#{CONVERT_CMD} \"#{filepath}\" -background \"#ffffff\" -flatten \"#{topath}\""
282
+ # if system(cmd)
283
+ # FileUtils.rm(filepath)
284
+ # end
285
+ # return topath
286
+ # end
262
287
 
263
288
  def heic2jpg(filepath)
264
289
  fromname = File.basename(filepath)
@@ -277,9 +302,11 @@ EOM
277
302
  return topath
278
303
  end
279
304
 
280
- def resize_jpg(filepath)
305
+ def resize_image(filepath)
281
306
  fromname = File.basename(filepath)
282
- unless fromname =~ JPG_SEARCH
307
+ # .JPEG .PNG .WEBPを許す
308
+ is_image = (fromname =~ JPG_SEARCH || fromname =~ PNG_SEARCH || fromname =~ WEBP_SEARCH)
309
+ unless is_image
283
310
  return filepath
284
311
  end
285
312
  puts "resize: #{filepath}"
@@ -300,15 +327,31 @@ EOM
300
327
  return filepath
301
328
  end
302
329
 
303
- def compress_jpg(filepath)
304
- fromname = File.basename(filepath)
305
- unless fromname =~ JPG_SEARCH
306
- return filepath
307
- end
308
- puts "compress: #{filepath}"
309
- cmd = "#{COMPRESS_CMD} \"#{filepath}\""
310
- system(cmd)
311
- return filepath
312
- end
330
+ # def compress_jpg(filepath)
331
+ # fromname = File.basename(filepath)
332
+ # unless fromname =~ JPG_SEARCH
333
+ # return filepath
334
+ # end
335
+ # puts "compress: #{filepath}"
336
+ # cmd = "#{COMPRESS_CMD} \"#{filepath}\""
337
+ # system(cmd)
338
+ # return filepath
339
+ # end
340
+
341
+ def image2webp(filepath)
342
+ fromname = File.basename(filepath)
343
+ toname = self.class.replace_image2webp(fromname)
344
+ return filepath if fromname == toname
345
+ dir = File.dirname(filepath)
346
+ topath = File.join(dir, toname)
347
+ puts "image2webp: #{filepath} => #{topath}"
348
+ # cwebp ~/Desktop/1.webp -o ~/Desktop/1.jpg
349
+ cmd = "#{CWEBP_CMD} -quiet \"#{filepath}\" -o \"#{topath}\""
350
+ # puts cmd
351
+ if system(cmd)
352
+ FileUtils.rm(filepath)
353
+ end
354
+ return topath
355
+ end
313
356
  end
314
357
  end
@@ -1,3 +1,3 @@
1
1
  module Imagetools
2
- VERSION = "1.6.1"
2
+ VERSION = "1.7.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imagetools
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.1
4
+ version: 1.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - src
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-12-03 00:00:00.000000000 Z
11
+ date: 2023-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rmagick
@@ -87,7 +87,6 @@ files:
87
87
  - ".idea/inspectionProfiles/Project_Default.xml"
88
88
  - ".idea/misc.xml"
89
89
  - ".idea/modules.xml"
90
- - ".idea/runConfigurations.xml"
91
90
  - ".idea/vcs.xml"
92
91
  - ".idea/workspace.xml"
93
92
  - ".ruby-version"
@@ -1,10 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="RunConfigurationProducerService">
4
- <option name="ignoredProducers">
5
- <set>
6
- <option value="com.android.tools.idea.compose.preview.runconfiguration.ComposePreviewRunConfigurationProducer" />
7
- </set>
8
- </option>
9
- </component>
10
- </project>