imagetools 0.9.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.idea/workspace.xml +96 -75
- data/Gemfile.lock +1 -1
- data/imagetools.iml +38 -25
- data/lib/imagetools/imagefilter.rb +70 -15
- data/lib/imagetools/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5abc00d417b2d224af26de6cbb9c99da4490161371850b1d6319c13c72a3600b
|
4
|
+
data.tar.gz: 409367ec029ca9278ef5201bbfa723077dbe913e695a02aff8d12f299e56fcc7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d27538f7941479ab48b900defe281d80f015e3efc67aebf288297e70124eb2da3c89ca335da7d41b6113ff4768898f6296911a3526cf2a9c7a3ac1b72e903df4
|
7
|
+
data.tar.gz: 3fcae0439cc3136f6844b3e034032e49cc2796ea8d55bb01531589f0f0955a278a5be68708f8058ad8aeca416982f8994c7b13477d6040284b5d44d3abdbb0a5
|
data/.idea/workspace.xml
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<project version="4">
|
3
3
|
<component name="ChangeListManager">
|
4
|
-
<list default="true" id="b197c64f-57f8-4389-ab8d-dc9fe3cb05ba" name="Default" comment=""
|
4
|
+
<list default="true" id="b197c64f-57f8-4389-ab8d-dc9fe3cb05ba" name="Default" comment="">
|
5
|
+
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
6
|
+
<change beforePath="$PROJECT_DIR$/imagetools.iml" beforeDir="false" afterPath="$PROJECT_DIR$/imagetools.iml" afterDir="false" />
|
7
|
+
</list>
|
5
8
|
<ignored path="$PROJECT_DIR$/out/" />
|
6
9
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
7
|
-
<option name="TRACKING_ENABLED" value="true" />
|
8
10
|
<option name="SHOW_DIALOG" value="false" />
|
9
11
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
10
12
|
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
@@ -15,7 +17,7 @@
|
|
15
17
|
</component>
|
16
18
|
<component name="FileEditorManager">
|
17
19
|
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
18
|
-
<file
|
20
|
+
<file pinned="false" current-in-tab="false">
|
19
21
|
<entry file="file://$PROJECT_DIR$/exe/iconcreator">
|
20
22
|
<provider selected="true" editor-type-id="text-editor">
|
21
23
|
<state relative-caret-position="75">
|
@@ -24,37 +26,35 @@
|
|
24
26
|
</provider>
|
25
27
|
</entry>
|
26
28
|
</file>
|
27
|
-
<file
|
29
|
+
<file pinned="false" current-in-tab="false">
|
28
30
|
<entry file="file://$PROJECT_DIR$/lib/imagetools/imagefilter.rb">
|
29
31
|
<provider selected="true" editor-type-id="text-editor">
|
30
|
-
<state relative-caret-position="
|
32
|
+
<state relative-caret-position="315">
|
31
33
|
<caret line="21" column="24" selection-start-line="21" selection-start-column="24" selection-end-line="21" selection-end-column="24" />
|
32
34
|
</state>
|
33
35
|
</provider>
|
34
36
|
</entry>
|
35
37
|
</file>
|
36
|
-
<file
|
38
|
+
<file pinned="false" current-in-tab="false">
|
37
39
|
<entry file="file://$PROJECT_DIR$/lib/imagetools/imageconcat.rb">
|
38
40
|
<provider selected="true" editor-type-id="text-editor">
|
39
|
-
<state relative-caret-position="
|
41
|
+
<state relative-caret-position="315">
|
40
42
|
<caret line="21" column="33" selection-start-line="21" selection-start-column="33" selection-end-line="21" selection-end-column="33" />
|
41
43
|
</state>
|
42
44
|
</provider>
|
43
45
|
</entry>
|
44
46
|
</file>
|
45
|
-
<file
|
47
|
+
<file pinned="false" current-in-tab="false">
|
46
48
|
<entry file="file://$PROJECT_DIR$/lib/imagetools/iconextractor.rb">
|
47
49
|
<provider selected="true" editor-type-id="text-editor" />
|
48
50
|
</entry>
|
49
51
|
</file>
|
50
|
-
<file
|
52
|
+
<file pinned="false" current-in-tab="true">
|
51
53
|
<entry file="file://$PROJECT_DIR$/lib/imagetools/iconcreator.rb">
|
52
|
-
<provider selected="true" editor-type-id="text-editor"
|
53
|
-
<state relative-caret-position="-363" />
|
54
|
-
</provider>
|
54
|
+
<provider selected="true" editor-type-id="text-editor" />
|
55
55
|
</entry>
|
56
56
|
</file>
|
57
|
-
<file
|
57
|
+
<file pinned="false" current-in-tab="false">
|
58
58
|
<entry file="file://$PROJECT_DIR$/lib/imagetools/imageresizer.rb">
|
59
59
|
<provider selected="true" editor-type-id="text-editor">
|
60
60
|
<state relative-caret-position="300">
|
@@ -63,7 +63,7 @@
|
|
63
63
|
</provider>
|
64
64
|
</entry>
|
65
65
|
</file>
|
66
|
-
<file
|
66
|
+
<file pinned="false" current-in-tab="false">
|
67
67
|
<entry file="file://$PROJECT_DIR$/lib/imagetools/version.rb">
|
68
68
|
<provider selected="true" editor-type-id="text-editor" />
|
69
69
|
</entry>
|
@@ -78,18 +78,9 @@
|
|
78
78
|
<component name="Git.Settings">
|
79
79
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
80
80
|
</component>
|
81
|
-
<component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
|
82
|
-
<component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
|
83
|
-
<component name="JsGulpfileManager">
|
84
|
-
<detection-done>true</detection-done>
|
85
|
-
<sorting>DEFINITION_ORDER</sorting>
|
86
|
-
</component>
|
87
|
-
<component name="NodePackageJsonFileManager">
|
88
|
-
<packageJsonPaths />
|
89
|
-
</component>
|
90
81
|
<component name="ProjectFrameBounds">
|
91
|
-
<option name="x" value="
|
92
|
-
<option name="y" value="
|
82
|
+
<option name="x" value="254" />
|
83
|
+
<option name="y" value="418" />
|
93
84
|
<option name="width" value="1920" />
|
94
85
|
<option name="height" value="1177" />
|
95
86
|
</component>
|
@@ -136,6 +127,10 @@
|
|
136
127
|
<property name="MemberChooser.copyJavadoc" value="false" />
|
137
128
|
<property name="MemberChooser.showClasses" value="true" />
|
138
129
|
<property name="MemberChooser.sorted" value="false" />
|
130
|
+
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
|
131
|
+
<property name="WebServerToolWindowFactoryState" value="false" />
|
132
|
+
<property name="aspect.path.notification.shown" value="true" />
|
133
|
+
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
139
134
|
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
|
140
135
|
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
|
141
136
|
<property name="settings.editor.selected.configurable" value="preferences.keymap" />
|
@@ -155,10 +150,20 @@
|
|
155
150
|
<component name="RunManager">
|
156
151
|
<configuration default="true" type="Application" factoryName="Application">
|
157
152
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
153
|
+
<method v="2">
|
154
|
+
<option name="Make" enabled="true" />
|
155
|
+
</method>
|
156
|
+
</configuration>
|
157
|
+
<configuration default="true" type="JUnit" factoryName="JUnit">
|
158
|
+
<option name="TEST_OBJECT" value="class" />
|
159
|
+
<option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
|
160
|
+
<method v="2">
|
161
|
+
<option name="Make" enabled="true" />
|
162
|
+
</method>
|
158
163
|
</configuration>
|
159
164
|
<configuration name="iconcreator" type="RubyRunConfigurationType" factoryName="Ruby">
|
160
165
|
<module name="imagetools" />
|
161
|
-
<RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="
|
166
|
+
<RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="" />
|
162
167
|
<RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="$PROJECT_DIR$/exe" />
|
163
168
|
<RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
|
164
169
|
<RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
|
@@ -172,65 +177,83 @@
|
|
172
177
|
</EXTENSION>
|
173
178
|
<RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="$PROJECT_DIR$/exe/iconcreator" />
|
174
179
|
<RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="" />
|
180
|
+
<method v="2">
|
181
|
+
<option name="Make" enabled="true" />
|
182
|
+
</method>
|
175
183
|
</configuration>
|
176
|
-
<configuration
|
177
|
-
<option name="
|
178
|
-
<option name="VM_PARAMETERS" value="-ea" />
|
179
|
-
<option name="PARAMETERS" />
|
180
|
-
<option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
|
181
|
-
</configuration>
|
182
|
-
<configuration name="<template>" type="TestNG" default="true" selected="false">
|
183
|
-
<option name="MAIN_CLASS_NAME" />
|
184
|
-
<option name="VM_PARAMETERS" value="-ea" />
|
185
|
-
<option name="PARAMETERS" />
|
184
|
+
<configuration default="true" type="TestNG">
|
185
|
+
<option name="TEST_OBJECT" value="CLASS" />
|
186
186
|
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
187
|
+
<properties />
|
188
|
+
<listeners />
|
189
|
+
<method v="2">
|
190
|
+
<option name="Make" enabled="true" />
|
191
|
+
</method>
|
187
192
|
</configuration>
|
188
|
-
<configuration
|
193
|
+
<configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType">
|
194
|
+
<module name="" />
|
189
195
|
<option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
|
196
|
+
<option name="PROGRAM_PARAMETERS" />
|
197
|
+
<predefined_log_file enabled="true" id="idea.log" />
|
198
|
+
<method v="2">
|
199
|
+
<option name="Make" enabled="true" />
|
200
|
+
</method>
|
190
201
|
</configuration>
|
191
202
|
</component>
|
192
203
|
<component name="SpringUtil" SPRING_PRE_LOADER_OPTION="true" />
|
193
204
|
<component name="SvnConfiguration">
|
194
205
|
<configuration />
|
195
206
|
</component>
|
207
|
+
<component name="TaskManager">
|
208
|
+
<task active="true" id="Default" summary="Default task">
|
209
|
+
<created>1570340432394</created>
|
210
|
+
<option name="number" value="Default" />
|
211
|
+
<option name="presentableId" value="Default" />
|
212
|
+
<updated>1570340432394</updated>
|
213
|
+
<workItem from="1570340436196" duration="217000" />
|
214
|
+
</task>
|
215
|
+
<servers />
|
216
|
+
</component>
|
217
|
+
<component name="TimeTrackingManager">
|
218
|
+
<option name="totallyTimeSpent" value="217000" />
|
219
|
+
</component>
|
196
220
|
<component name="ToolWindowManager">
|
197
|
-
<frame x="
|
221
|
+
<frame x="254" y="418" width="1920" height="1177" extended-state="0" />
|
198
222
|
<layout>
|
199
|
-
<window_info
|
200
|
-
<window_info
|
201
|
-
<window_info
|
202
|
-
<window_info
|
203
|
-
<window_info
|
204
|
-
<window_info anchor="bottom" id="Run" order="2" />
|
223
|
+
<window_info id="Image Layers" />
|
224
|
+
<window_info id="UI Designer" />
|
225
|
+
<window_info id="Capture Tool" />
|
226
|
+
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.19329074" />
|
227
|
+
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
|
205
228
|
<window_info id="Designer" order="2" />
|
206
|
-
<window_info
|
207
|
-
<window_info anchor="
|
229
|
+
<window_info id="Favorites" order="3" side_tool="true" />
|
230
|
+
<window_info anchor="bottom" id="Docker" show_stripe_button="false" />
|
231
|
+
<window_info anchor="bottom" id="Terminal" />
|
232
|
+
<window_info anchor="bottom" id="Message" order="0" />
|
208
233
|
<window_info anchor="bottom" id="Find" order="1" />
|
209
|
-
<window_info
|
210
|
-
<window_info id="Favorites" order="2" side_tool="true" />
|
234
|
+
<window_info anchor="bottom" id="Run" order="2" />
|
211
235
|
<window_info anchor="bottom" id="Debug" order="3" weight="0.39924315" />
|
212
|
-
<window_info anchor="
|
236
|
+
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
213
237
|
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
238
|
+
<window_info anchor="bottom" id="TODO" order="6" />
|
239
|
+
<window_info anchor="bottom" id="Database Changes" order="7" show_stripe_button="false" />
|
240
|
+
<window_info anchor="bottom" id="Version Control" order="8" />
|
241
|
+
<window_info anchor="bottom" id="Event Log" order="9" side_tool="true" />
|
242
|
+
<window_info anchor="right" id="Palette" />
|
243
|
+
<window_info anchor="right" id="Capture Analysis" />
|
244
|
+
<window_info anchor="right" id="Maven" />
|
245
|
+
<window_info anchor="right" id="Theme Preview" />
|
214
246
|
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
|
215
247
|
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
|
216
|
-
<window_info anchor="
|
217
|
-
<window_info anchor="
|
248
|
+
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
|
249
|
+
<window_info anchor="right" id="Database" order="3" />
|
250
|
+
<window_info anchor="right" id="Palette	" order="4" />
|
218
251
|
</layout>
|
219
252
|
</component>
|
220
253
|
<component name="TypeScriptGeneratedFilesManager">
|
221
254
|
<option name="version" value="1" />
|
222
255
|
</component>
|
223
|
-
<component name="VcsContentAnnotationSettings">
|
224
|
-
<option name="myLimit" value="2678400000" />
|
225
|
-
</component>
|
226
256
|
<component name="editorHistoryManager">
|
227
|
-
<entry file="file://$PROJECT_DIR$/exe/iconcreator">
|
228
|
-
<provider selected="true" editor-type-id="text-editor">
|
229
|
-
<state relative-caret-position="75">
|
230
|
-
<caret line="5" lean-forward="true" selection-start-line="5" selection-end-line="5" />
|
231
|
-
</state>
|
232
|
-
</provider>
|
233
|
-
</entry>
|
234
257
|
<entry file="file://$PROJECT_DIR$/exe/iconcreator">
|
235
258
|
<provider selected="true" editor-type-id="text-editor">
|
236
259
|
<state relative-caret-position="75">
|
@@ -238,26 +261,16 @@
|
|
238
261
|
</state>
|
239
262
|
</provider>
|
240
263
|
</entry>
|
241
|
-
<entry file="file://$PROJECT_DIR$/lib/imagetools/version.rb">
|
242
|
-
<provider selected="true" editor-type-id="text-editor" />
|
243
|
-
</entry>
|
244
|
-
<entry file="file://$PROJECT_DIR$/lib/imagetools/imageresizer.rb">
|
245
|
-
<provider selected="true" editor-type-id="text-editor">
|
246
|
-
<state relative-caret-position="300">
|
247
|
-
<caret line="20" column="40" selection-start-line="20" selection-start-column="40" selection-end-line="20" selection-end-column="40" />
|
248
|
-
</state>
|
249
|
-
</provider>
|
250
|
-
</entry>
|
251
264
|
<entry file="file://$PROJECT_DIR$/lib/imagetools/imagefilter.rb">
|
252
265
|
<provider selected="true" editor-type-id="text-editor">
|
253
|
-
<state relative-caret-position="
|
266
|
+
<state relative-caret-position="315">
|
254
267
|
<caret line="21" column="24" selection-start-line="21" selection-start-column="24" selection-end-line="21" selection-end-column="24" />
|
255
268
|
</state>
|
256
269
|
</provider>
|
257
270
|
</entry>
|
258
271
|
<entry file="file://$PROJECT_DIR$/lib/imagetools/imageconcat.rb">
|
259
272
|
<provider selected="true" editor-type-id="text-editor">
|
260
|
-
<state relative-caret-position="
|
273
|
+
<state relative-caret-position="315">
|
261
274
|
<caret line="21" column="33" selection-start-line="21" selection-start-column="33" selection-end-line="21" selection-end-column="33" />
|
262
275
|
</state>
|
263
276
|
</provider>
|
@@ -265,11 +278,19 @@
|
|
265
278
|
<entry file="file://$PROJECT_DIR$/lib/imagetools/iconextractor.rb">
|
266
279
|
<provider selected="true" editor-type-id="text-editor" />
|
267
280
|
</entry>
|
268
|
-
<entry file="file://$PROJECT_DIR$/lib/imagetools/
|
281
|
+
<entry file="file://$PROJECT_DIR$/lib/imagetools/imageresizer.rb">
|
269
282
|
<provider selected="true" editor-type-id="text-editor">
|
270
|
-
<state relative-caret-position="
|
283
|
+
<state relative-caret-position="300">
|
284
|
+
<caret line="20" column="40" selection-start-line="20" selection-start-column="40" selection-end-line="20" selection-end-column="40" />
|
285
|
+
</state>
|
271
286
|
</provider>
|
272
287
|
</entry>
|
288
|
+
<entry file="file://$PROJECT_DIR$/lib/imagetools/version.rb">
|
289
|
+
<provider selected="true" editor-type-id="text-editor" />
|
290
|
+
</entry>
|
291
|
+
<entry file="file://$PROJECT_DIR$/lib/imagetools/iconcreator.rb">
|
292
|
+
<provider selected="true" editor-type-id="text-editor" />
|
293
|
+
</entry>
|
273
294
|
</component>
|
274
295
|
<component name="masterDetails">
|
275
296
|
<states>
|
data/Gemfile.lock
CHANGED
data/imagetools.iml
CHANGED
@@ -3,10 +3,13 @@
|
|
3
3
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
4
4
|
<exclude-output />
|
5
5
|
<content url="file://$MODULE_DIR$" />
|
6
|
-
<orderEntry type="jdk" jdkName="rbenv: 2.5.
|
6
|
+
<orderEntry type="jdk" jdkName="rbenv: 2.5.5" jdkType="RUBY_SDK" />
|
7
7
|
<orderEntry type="sourceFolder" forTests="false" />
|
8
8
|
<orderEntry type="module-library">
|
9
|
-
<library name="minitest (vbundled(5.11.3)) [path][gem]" type="
|
9
|
+
<library name="minitest (vbundled(5.11.3)) [path][gem]" type="rubylib">
|
10
|
+
<properties>
|
11
|
+
<option name="version" value="4" />
|
12
|
+
</properties>
|
10
13
|
<CLASSES>
|
11
14
|
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/lib" />
|
12
15
|
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/minitest-5.11.3/test" />
|
@@ -22,7 +25,10 @@
|
|
22
25
|
</library>
|
23
26
|
</orderEntry>
|
24
27
|
<orderEntry type="module-library">
|
25
|
-
<library name="rake (vbundled(10.5.0)) [path][gem]" type="
|
28
|
+
<library name="rake (vbundled(10.5.0)) [path][gem]" type="rubylib">
|
29
|
+
<properties>
|
30
|
+
<option name="version" value="4" />
|
31
|
+
</properties>
|
26
32
|
<CLASSES>
|
27
33
|
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/bin" />
|
28
34
|
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rake-10.5.0/doc" />
|
@@ -47,36 +53,43 @@
|
|
47
53
|
</library>
|
48
54
|
</orderEntry>
|
49
55
|
<orderEntry type="module-library">
|
50
|
-
<library name="rmagick (vbundled(
|
56
|
+
<library name="rmagick (vbundled(3.1.0)) [path][gem]" type="rubylib">
|
57
|
+
<properties>
|
58
|
+
<option name="version" value="4" />
|
59
|
+
</properties>
|
51
60
|
<CLASSES>
|
52
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-
|
53
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-
|
54
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-
|
55
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-
|
56
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-
|
57
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-
|
58
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-
|
61
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/doc" />
|
62
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/ext" />
|
63
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/lib" />
|
64
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/spec" />
|
65
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/test" />
|
66
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/examples" />
|
67
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/.circleci" />
|
68
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/deprecated" />
|
59
69
|
</CLASSES>
|
60
70
|
<JAVADOC />
|
61
71
|
<SOURCES>
|
62
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-
|
63
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-
|
64
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-
|
65
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-
|
66
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-
|
67
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-
|
68
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-
|
72
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/doc" />
|
73
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/ext" />
|
74
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/lib" />
|
75
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/spec" />
|
76
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/test" />
|
77
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/examples" />
|
78
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/.circleci" />
|
79
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/deprecated" />
|
69
80
|
</SOURCES>
|
70
81
|
<excluded>
|
71
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-
|
72
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-
|
73
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-
|
74
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-
|
75
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-
|
76
|
-
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-
|
82
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/doc" />
|
83
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/ext" />
|
84
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/spec" />
|
85
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/test" />
|
86
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/examples" />
|
87
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/.circleci" />
|
88
|
+
<root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.5.0/gems/rmagick-3.1.0/deprecated" />
|
77
89
|
</excluded>
|
78
90
|
</library>
|
79
91
|
</orderEntry>
|
80
|
-
<orderEntry type="library" scope="PROVIDED" name="bundler (
|
92
|
+
<orderEntry type="library" scope="PROVIDED" name="bundler (v2.0.1, rbenv: 2.5.5) [gem]" level="application" />
|
93
|
+
<orderEntry type="library" scope="PROVIDED" name="minitest (v5.10.3, rbenv: 2.5.5) [gem]" level="application" />
|
81
94
|
</component>
|
82
95
|
</module>
|
@@ -3,12 +3,47 @@
|
|
3
3
|
require 'imagetools/version'
|
4
4
|
require 'fileutils'
|
5
5
|
require 'optparse'
|
6
|
+
require 'yaml'
|
6
7
|
|
7
8
|
module Imagetools
|
8
|
-
class
|
9
|
+
class Config
|
10
|
+
FILENAME_SEARCH = 's (\d+)-(\d+)-(\d+) (\d+)\.(\d+)\.(\d+)'
|
11
|
+
FILENAME_REPLACE = 's_\1\2\3_\4\5\6'
|
12
|
+
|
13
|
+
def initialize(yaml)
|
14
|
+
@yaml = yaml
|
15
|
+
@filename_search1 = config_value("filename", "search1", false) || FILENAME_SEARCH
|
16
|
+
@filename_replace1 = config_value("filename", "replace1", false) || FILENAME_REPLACE
|
17
|
+
@filename_search2 = config_value("filename", "search2", false)
|
18
|
+
@filename_replace2 = config_value("filename", "replace2", false)
|
19
|
+
@filename_search3 = config_value("filename", "search3", false)
|
20
|
+
@filename_replace3 = config_value("filename", "replace3", false)
|
21
|
+
end
|
22
|
+
|
23
|
+
attr_reader :filename_search1, :filename_replace1,
|
24
|
+
:filename_search2, :filename_replace2,
|
25
|
+
:filename_search3, :filename_replace3
|
9
26
|
|
10
|
-
|
11
|
-
|
27
|
+
def filename_patterns
|
28
|
+
[
|
29
|
+
[@filename_search1, @filename_replace1],
|
30
|
+
[@filename_search2, @filename_replace2],
|
31
|
+
[@filename_search3, @filename_replace3],
|
32
|
+
]
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
def config_value(section, key, require)
|
37
|
+
return nil unless @yaml
|
38
|
+
value = @yaml[section][key]
|
39
|
+
if require && (value.nil? || value.empty?)
|
40
|
+
raise RuntimeError, "#{section}:#{key}: is empty"
|
41
|
+
end
|
42
|
+
value
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
class Imagefilter
|
12
47
|
OTHER_JPG_SEARCH = /\.(large|huge|jpg_large)$/i
|
13
48
|
OTHER_JPG_REPLACE = '.jpg'
|
14
49
|
|
@@ -49,7 +84,19 @@ EOM
|
|
49
84
|
opt.on('-v', '--verbose', 'Verbose message') {|v| opts[:v] = v}
|
50
85
|
opt.on('-n', '--dry-run', 'Message only') {|v| opts[:n] = v}
|
51
86
|
opt.on('-t', '--self-test', 'Run Self Test') {|v| opts[:t] = v}
|
87
|
+
opt.on('-c', '--config', 'Config file'){|v| opts[:c] = v }
|
52
88
|
opt.parse!(argv)
|
89
|
+
|
90
|
+
config_file = opts[:c] || "~/.imagefilterrc"
|
91
|
+
config_file = File.expand_path(config_file)
|
92
|
+
p config_file
|
93
|
+
yaml = nil
|
94
|
+
if FileTest.file?(config_file)
|
95
|
+
yaml = YAML.load_file(config_file)
|
96
|
+
p "aaaaaaaaa"
|
97
|
+
end
|
98
|
+
config = Config.new(yaml)
|
99
|
+
p config.filename_patterns
|
53
100
|
if opts[:t]
|
54
101
|
ret = selftest
|
55
102
|
exit(ret)
|
@@ -60,7 +107,7 @@ EOM
|
|
60
107
|
exit
|
61
108
|
end
|
62
109
|
filepaths.each do |filepath|
|
63
|
-
command = Imagefilter.new(opts)
|
110
|
+
command = Imagefilter.new(opts, config)
|
64
111
|
command.run(filepath)
|
65
112
|
end
|
66
113
|
end
|
@@ -76,18 +123,25 @@ EOM
|
|
76
123
|
filepaths
|
77
124
|
end
|
78
125
|
|
79
|
-
def self.replace_image_filename(filename)
|
80
|
-
|
81
|
-
|
82
|
-
|
126
|
+
def self.replace_image_filename(filename, patterns)
|
127
|
+
filename = filename.dup
|
128
|
+
patterns.each do |search, replace|
|
129
|
+
if search && replace
|
130
|
+
p search
|
131
|
+
p replace
|
132
|
+
reg = Regexp.new(search, Regexp::IGNORECASE)
|
133
|
+
filename = filename.sub(reg, replace)
|
134
|
+
end
|
135
|
+
end
|
136
|
+
filename.sub(OTHER_JPG_SEARCH, OTHER_JPG_REPLACE)
|
83
137
|
end
|
84
138
|
|
85
139
|
def self.replace_webp2jpg(filename)
|
86
|
-
filename.sub
|
140
|
+
filename.sub(WEBP_SEARCH, WEBP_REPLACE)
|
87
141
|
end
|
88
142
|
|
89
143
|
def self.replace_png2jpg(filename)
|
90
|
-
filename.sub
|
144
|
+
filename.sub(PNG_SEARCH, PNG_REPLACE)
|
91
145
|
end
|
92
146
|
|
93
147
|
def self.match_exclude_image?(filename)
|
@@ -111,8 +165,9 @@ EOM
|
|
111
165
|
`which #{cmd}` != ""
|
112
166
|
end
|
113
167
|
|
114
|
-
def initialize(opts)
|
168
|
+
def initialize(opts, config)
|
115
169
|
@opts = opts
|
170
|
+
@config = config
|
116
171
|
end
|
117
172
|
|
118
173
|
def run(filepath)
|
@@ -140,8 +195,8 @@ EOM
|
|
140
195
|
|
141
196
|
def rename_image(filepath)
|
142
197
|
fromname = File.basename(filepath)
|
143
|
-
toname = self.class.replace_image_filename(fromname)
|
144
|
-
return filepath if toname
|
198
|
+
toname = self.class.replace_image_filename(fromname, @config.filename_patterns)
|
199
|
+
return filepath if fromname == toname
|
145
200
|
|
146
201
|
dir = File.dirname(filepath)
|
147
202
|
topath = File.join(dir, toname)
|
@@ -153,7 +208,7 @@ EOM
|
|
153
208
|
def webp2jpg(filepath)
|
154
209
|
fromname = File.basename(filepath)
|
155
210
|
toname = self.class.replace_webp2jpg(fromname)
|
156
|
-
return filepath if toname
|
211
|
+
return filepath if fromname == toname
|
157
212
|
|
158
213
|
dir = File.dirname(filepath)
|
159
214
|
topath = File.join(dir, toname)
|
@@ -169,7 +224,7 @@ EOM
|
|
169
224
|
def png2jpg(filepath)
|
170
225
|
fromname = File.basename(filepath)
|
171
226
|
toname = self.class.replace_png2jpg(fromname)
|
172
|
-
return filepath if toname
|
227
|
+
return filepath if fromname == toname
|
173
228
|
|
174
229
|
dir = File.dirname(filepath)
|
175
230
|
topath = File.join(dir, toname)
|
data/lib/imagetools/version.rb
CHANGED
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: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- src
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-11-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rmagick
|