imagetools 1.6.1 → 1.7.0

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