ninjap 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.idea/ninjap.iml +7 -10
- data/.idea/workspace.xml +199 -79
- data/Gemfile.lock +28 -19
- data/lib/ninjap/version.rb +1 -1
- data/lib/ninjap.rb +62 -35
- data/ninjap.gemspec +8 -4
- metadata +27 -16
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f2748abcbadc73b265499c3f67ffd7412a8c415f43acafdf5a5b395ac96ff1e8
|
|
4
|
+
data.tar.gz: 3ed1e9e51becd9b31aa97d8364b03945adbc38769e85976a99fa40e8de4e3eb7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8389ab161d86a34e4b2526341bad5c3618569654622c62492e2a04d367ebec2217087971db765890b0b93981f717198528b6d604f2b014089ec2f609b7896ce3
|
|
7
|
+
data.tar.gz: 26526b79474e506edf794a30ffda745da04d8d3b01778a6967a9107a104faf5c8440b7cf80d71f9a10aced3ec87828f5a52b69a01e74b6617dc055fcad07aadd
|
data/.idea/ninjap.iml
CHANGED
|
@@ -9,16 +9,13 @@
|
|
|
9
9
|
<sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
|
|
10
10
|
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
|
|
11
11
|
</content>
|
|
12
|
-
<orderEntry type="jdk" jdkName="
|
|
12
|
+
<orderEntry type="jdk" jdkName="rbenv: 3.4.4" jdkType="RUBY_SDK" />
|
|
13
13
|
<orderEntry type="sourceFolder" forTests="false" />
|
|
14
|
-
<orderEntry type="library" scope="PROVIDED" name="
|
|
15
|
-
<orderEntry type="library" scope="PROVIDED" name="
|
|
16
|
-
<orderEntry type="library" scope="PROVIDED" name="
|
|
17
|
-
<orderEntry type="library" scope="PROVIDED" name="
|
|
18
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec (v3.
|
|
19
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-
|
|
20
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.10.1, ruby-2.6.3-p62) [gem]" level="application" />
|
|
21
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.10.2, ruby-2.6.3-p62) [gem]" level="application" />
|
|
22
|
-
<orderEntry type="library" scope="PROVIDED" name="rspec-support (v3.10.2, ruby-2.6.3-p62) [gem]" level="application" />
|
|
14
|
+
<orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.6.2, rbenv: 3.4.4) [gem]" level="application" />
|
|
15
|
+
<orderEntry type="library" scope="PROVIDED" name="logger (v1.7.0, rbenv: 3.4.4) [gem]" level="application" />
|
|
16
|
+
<orderEntry type="library" scope="PROVIDED" name="observer (v0.1.2, rbenv: 3.4.4) [gem]" level="application" />
|
|
17
|
+
<orderEntry type="library" scope="PROVIDED" name="rspec (v3.13.2, rbenv: 3.4.4) [gem]" level="application" />
|
|
18
|
+
<orderEntry type="library" scope="PROVIDED" name="rspec-expectations (v3.13.5, rbenv: 3.4.4) [gem]" level="application" />
|
|
19
|
+
<orderEntry type="library" scope="PROVIDED" name="rspec-mocks (v3.13.7, rbenv: 3.4.4) [gem]" level="application" />
|
|
23
20
|
</component>
|
|
24
21
|
</module>
|
data/.idea/workspace.xml
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
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="476fbbf2-5939-4346-aefc-3298d9e5b562" name="Default Changelist" comment="">
|
|
5
|
-
<change afterPath="$PROJECT_DIR$/ninjap-0.1.0.gem" afterDir="false" />
|
|
6
8
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
|
7
9
|
<change beforePath="$PROJECT_DIR$/CODE_OF_CONDUCT.md" beforeDir="false" afterPath="$PROJECT_DIR$/CODE_OF_CONDUCT.md" afterDir="false" />
|
|
8
10
|
<change beforePath="$PROJECT_DIR$/lib/SnellRoundhand.ttc" beforeDir="false" afterPath="$PROJECT_DIR$/SnellRoundhand.ttc" afterDir="false" />
|
|
9
11
|
<change beforePath="$PROJECT_DIR$/lib/ninjap.png" beforeDir="false" afterPath="$PROJECT_DIR$/ninjap.png" afterDir="false" />
|
|
10
12
|
<change beforePath="$PROJECT_DIR$/lib/ninjap.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/ninjap.rb" afterDir="false" />
|
|
13
|
+
<change beforePath="$PROJECT_DIR$/lib/ninjap/version.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/ninjap/version.rb" afterDir="false" />
|
|
11
14
|
<change beforePath="$PROJECT_DIR$/ninjap.gemspec" beforeDir="false" afterPath="$PROJECT_DIR$/ninjap.gemspec" afterDir="false" />
|
|
12
15
|
</list>
|
|
13
16
|
<option name="SHOW_DIALOG" value="false" />
|
|
@@ -18,31 +21,38 @@
|
|
|
18
21
|
<component name="Git.Settings">
|
|
19
22
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
|
20
23
|
</component>
|
|
24
|
+
<component name="MarkdownSettingsMigration">
|
|
25
|
+
<option name="stateVersion" value="1" />
|
|
26
|
+
</component>
|
|
27
|
+
<component name="ProjectColorInfo">{
|
|
28
|
+
"customColor": "",
|
|
29
|
+
"associatedIndex": 5
|
|
30
|
+
}</component>
|
|
21
31
|
<component name="ProjectId" id="1t5N9wuHeTSnyjkfwIIWG0tH128" />
|
|
22
|
-
<component name="ProjectLevelVcsManager"
|
|
32
|
+
<component name="ProjectLevelVcsManager">
|
|
23
33
|
<ConfirmationsSetting value="2" id="Add" />
|
|
24
34
|
</component>
|
|
25
35
|
<component name="ProjectViewState">
|
|
26
36
|
<option name="hideEmptyMiddlePackages" value="true" />
|
|
27
37
|
<option name="showLibraryContents" value="true" />
|
|
28
38
|
</component>
|
|
29
|
-
<component name="PropertiesComponent"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
<component name="PropertiesComponent"><![CDATA[{
|
|
40
|
+
"keyToString": {
|
|
41
|
+
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
|
42
|
+
"RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true",
|
|
43
|
+
"RunOnceActivity.git.unshallow": "true",
|
|
44
|
+
"com.intellij.lang.ruby.rbs.tools.collection.workspace.sync.RbsCollectionUpdateProjectActivity#LAST_UPDATE_TIMESTAMP": "1770413185093",
|
|
45
|
+
"git-widget-placeholder": "master",
|
|
46
|
+
"node.js.detected.package.eslint": "true",
|
|
47
|
+
"node.js.detected.package.tslint": "true",
|
|
48
|
+
"node.js.selected.package.eslint": "(autodetect)",
|
|
49
|
+
"node.js.selected.package.tslint": "(autodetect)",
|
|
50
|
+
"nodejs_package_manager_path": "npm",
|
|
51
|
+
"ruby.structure.view.model.defaults.configured": "true",
|
|
52
|
+
"settings.editor.selected.configurable": "org.jetbrains.plugins.ruby.settings.RubyActiveModuleSdkConfigurable",
|
|
53
|
+
"vue.rearranger.settings.migration": "true"
|
|
54
|
+
}
|
|
55
|
+
}]]></component>
|
|
46
56
|
<component name="RecentsManager">
|
|
47
57
|
<key name="MoveFile.RECENT_KEYS">
|
|
48
58
|
<recent name="$PROJECT_DIR$" />
|
|
@@ -53,7 +63,127 @@
|
|
|
53
63
|
<recent name="$PROJECT_DIR$/lib" />
|
|
54
64
|
</key>
|
|
55
65
|
</component>
|
|
56
|
-
<component name="RunManager" selected="Ruby.ninjap">
|
|
66
|
+
<component name="RunManager" selected="Ruby.ninjap (1)">
|
|
67
|
+
<configuration default="true" type="CucumberRunConfigurationType" factoryName="Cucumber">
|
|
68
|
+
<predefined_log_file enabled="true" id="RUBY_CUCUMBER" />
|
|
69
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="" />
|
|
70
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
|
|
71
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
|
72
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
|
73
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
|
74
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" BUNDLE_MODE="AUTO" bundleExecEnabled="true" />
|
|
75
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" runner="rcov" />
|
|
76
|
+
<EXTENSION ID="org.jetbrains.plugins.ruby.rails.run.RailsRunConfigurationExtension" SCRATCH_USE_RAILS_RUNNER="false" />
|
|
77
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*.feature" />
|
|
78
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
|
79
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
|
80
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
|
|
81
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPTS_PATHS" VALUE="" />
|
|
82
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TAGS_FILTER" VALUE="" />
|
|
83
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_NAME_FILTER" VALUE="" />
|
|
84
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_ARGS" VALUE="--color -r features" />
|
|
85
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
|
|
86
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
|
|
87
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="VERBOSE_OPTION" VALUE="true" />
|
|
88
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
|
|
89
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
|
|
90
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
|
|
91
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_RUNNER_PATH" VALUE="" />
|
|
92
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_RUNNER" VALUE="false" />
|
|
93
|
+
<CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SETTINGS_VERSION" VALUE="2" />
|
|
94
|
+
<method v="2" />
|
|
95
|
+
</configuration>
|
|
96
|
+
<configuration default="true" type="RSpecRunConfigurationType" factoryName="RSpec">
|
|
97
|
+
<predefined_log_file enabled="true" id="RUBY_RSPEC" />
|
|
98
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="" />
|
|
99
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
|
|
100
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
|
101
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
|
102
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
|
103
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" BUNDLE_MODE="AUTO" bundleExecEnabled="true" />
|
|
104
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" runner="rcov" />
|
|
105
|
+
<EXTENSION ID="org.jetbrains.plugins.ruby.rails.run.RailsRunConfigurationExtension" SCRATCH_USE_RAILS_RUNNER="false" />
|
|
106
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
|
107
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
|
|
108
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATHS" VALUE="" />
|
|
109
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
|
|
110
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*_spec.rb" />
|
|
111
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
|
|
112
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_EXAMPLE_MATCHES" VALUE="false" />
|
|
113
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="LINE_NUMBER_EXAMPLE_IDS" VALUE="" />
|
|
114
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
|
115
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
|
|
116
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
|
|
117
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
|
|
118
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
|
|
119
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
|
|
120
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
|
|
121
|
+
<RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
|
|
122
|
+
<method v="2" />
|
|
123
|
+
</configuration>
|
|
124
|
+
<configuration default="true" type="RackRunConfigurationType" factoryName="Rack">
|
|
125
|
+
<RACK_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="" />
|
|
126
|
+
<RACK_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="$PROJECT_DIR$" />
|
|
127
|
+
<RACK_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
|
128
|
+
<RACK_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
|
129
|
+
<RACK_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
|
130
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" BUNDLE_MODE="AUTO" bundleExecEnabled="true" />
|
|
131
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" runner="rcov" />
|
|
132
|
+
<EXTENSION ID="org.jetbrains.plugins.ruby.rails.run.RailsRunConfigurationExtension" SCRATCH_USE_RAILS_RUNNER="false" />
|
|
133
|
+
<RACK_CONFIG_SETTINGS_ID NAME="PORT" VALUE="9292" />
|
|
134
|
+
<RACK_CONFIG_SETTINGS_ID NAME="IP" VALUE="127.0.0.1" />
|
|
135
|
+
<RACK_CONFIG_SETTINGS_ID NAME="CONFIG_FILE" VALUE="" />
|
|
136
|
+
<RACK_CONFIG_SETTINGS_ID NAME="RACK_SERVER_TYPE" VALUE="Default" />
|
|
137
|
+
<RACK_CONFIG_SETTINGS_ID NAME="LAUNCH_JS" VALUE="false" />
|
|
138
|
+
<method v="2" />
|
|
139
|
+
</configuration>
|
|
140
|
+
<configuration default="true" type="RakeRunConfigurationType" factoryName="Rake">
|
|
141
|
+
<predefined_log_file enabled="true" id="RUBY_RAKE" />
|
|
142
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="" />
|
|
143
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
|
|
144
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
|
145
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
|
146
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
|
147
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" BUNDLE_MODE="AUTO" bundleExecEnabled="true" />
|
|
148
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" runner="rcov" />
|
|
149
|
+
<EXTENSION ID="org.jetbrains.plugins.ruby.rails.run.RailsRunConfigurationExtension" SCRATCH_USE_RAILS_RUNNER="false" />
|
|
150
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_NAME" VALUE="" />
|
|
151
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ARGS" VALUE="" />
|
|
152
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_ATTACHED_TEST_FRAMEWORKS" VALUE="" />
|
|
153
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_TRACE" VALUE="false" />
|
|
154
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_DRYRUN" VALUE="false" />
|
|
155
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_PREREQS" VALUE="false" />
|
|
156
|
+
<RAKE_RUN_CONFIG_SETTINGS_ID NAME="RAKE_TASK_OPTION_TESTOPTS" VALUE="" />
|
|
157
|
+
<method v="2" />
|
|
158
|
+
</configuration>
|
|
159
|
+
<configuration default="true" type="RubyRunConfigurationType" factoryName="Ruby">
|
|
160
|
+
<RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="" />
|
|
161
|
+
<RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="" />
|
|
162
|
+
<RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
|
|
163
|
+
<RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
|
|
164
|
+
<RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
|
|
165
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" BUNDLE_MODE="AUTO" bundleExecEnabled="true" />
|
|
166
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" runner="rcov" />
|
|
167
|
+
<EXTENSION ID="org.jetbrains.plugins.ruby.rails.run.RailsRunConfigurationExtension" SCRATCH_USE_RAILS_RUNNER="false" />
|
|
168
|
+
<RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="" />
|
|
169
|
+
<RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="" />
|
|
170
|
+
<method v="2" />
|
|
171
|
+
</configuration>
|
|
172
|
+
<configuration name="ninjap (1)" type="RubyRunConfigurationType" factoryName="Ruby" temporary="true">
|
|
173
|
+
<module name="ninjap" />
|
|
174
|
+
<RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="" />
|
|
175
|
+
<RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="$MODULE_DIR$/lib" />
|
|
176
|
+
<RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
|
|
177
|
+
<RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
|
|
178
|
+
<RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
|
|
179
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" BUNDLE_MODE="AUTO" bundleExecEnabled="true" />
|
|
180
|
+
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
|
181
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" runner="rcov" />
|
|
182
|
+
<EXTENSION ID="org.jetbrains.plugins.ruby.rails.run.RailsRunConfigurationExtension" SCRATCH_USE_RAILS_RUNNER="false" />
|
|
183
|
+
<RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="$MODULE_DIR$/lib/ninjap.rb" />
|
|
184
|
+
<RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="-p "Milorad Gojkovic" "Bruce Lee"" />
|
|
185
|
+
<method v="2" />
|
|
186
|
+
</configuration>
|
|
57
187
|
<configuration name="ninjap" type="RubyRunConfigurationType" factoryName="Ruby" temporary="true">
|
|
58
188
|
<module name="ninjap" />
|
|
59
189
|
<RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="" />
|
|
@@ -61,13 +191,9 @@
|
|
|
61
191
|
<RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
|
|
62
192
|
<RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
|
|
63
193
|
<RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
|
|
64
|
-
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
|
|
194
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" BUNDLE_MODE="AUTO" bundleExecEnabled="true" />
|
|
65
195
|
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
|
66
|
-
<EXTENSION ID="RubyCoverageRunConfigurationExtension"
|
|
67
|
-
<COVERAGE_PATTERN ENABLED="true">
|
|
68
|
-
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
|
69
|
-
</COVERAGE_PATTERN>
|
|
70
|
-
</EXTENSION>
|
|
196
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" runner="rcov" />
|
|
71
197
|
<EXTENSION ID="org.jetbrains.plugins.ruby.rails.run.RailsRunConfigurationExtension" SCRATCH_USE_RAILS_RUNNER="false" />
|
|
72
198
|
<RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="$MODULE_DIR$/lib/ninjap.rb" />
|
|
73
199
|
<RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="-p "Milorad Gojkovic" "Bruce Lee"" />
|
|
@@ -84,15 +210,13 @@
|
|
|
84
210
|
<envs>
|
|
85
211
|
<env name="JRUBY_OPTS" value="-X+O" />
|
|
86
212
|
</envs>
|
|
87
|
-
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
|
|
213
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" BUNDLE_MODE="AUTO" bundleExecEnabled="true" />
|
|
88
214
|
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
|
89
|
-
<EXTENSION ID="RubyCoverageRunConfigurationExtension"
|
|
90
|
-
|
|
91
|
-
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
|
92
|
-
</COVERAGE_PATTERN>
|
|
93
|
-
</EXTENSION>
|
|
215
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" runner="rcov" />
|
|
216
|
+
<EXTENSION ID="org.jetbrains.plugins.ruby.rails.run.RailsRunConfigurationExtension" SCRATCH_USE_RAILS_RUNNER="false" />
|
|
94
217
|
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="$MODULE_DIR$" />
|
|
95
218
|
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
|
|
219
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPTS_PATHS" VALUE="" />
|
|
96
220
|
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/{*_test,test_*,*_spec}.rb" />
|
|
97
221
|
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_METHOD_NAME" VALUE="" />
|
|
98
222
|
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="ALL_IN_FOLDER" />
|
|
@@ -102,17 +226,48 @@
|
|
|
102
226
|
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_OPTIONS" VALUE="" />
|
|
103
227
|
<method v="2" />
|
|
104
228
|
</configuration>
|
|
229
|
+
<configuration default="true" type="TestUnitRunConfigurationType" factoryName="Test::Unit/Shoulda/Minitest">
|
|
230
|
+
<predefined_log_file enabled="true" id="RUBY_TESTUNIT" />
|
|
231
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="" />
|
|
232
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
|
|
233
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
|
234
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
|
235
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
|
236
|
+
<EXTENSION ID="BundlerRunConfigurationExtension" BUNDLE_MODE="AUTO" bundleExecEnabled="true" />
|
|
237
|
+
<EXTENSION ID="RubyCoverageRunConfigurationExtension" runner="rcov" />
|
|
238
|
+
<EXTENSION ID="org.jetbrains.plugins.ruby.rails.run.RailsRunConfigurationExtension" SCRATCH_USE_RAILS_RUNNER="false" />
|
|
239
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
|
|
240
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
|
|
241
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPTS_PATHS" VALUE="" />
|
|
242
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
|
|
243
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_METHOD_NAME" VALUE="" />
|
|
244
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
|
|
245
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
|
|
246
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
|
|
247
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
|
|
248
|
+
<RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_OPTIONS" VALUE="" />
|
|
249
|
+
<method v="2" />
|
|
250
|
+
</configuration>
|
|
105
251
|
<list>
|
|
252
|
+
<item itemvalue="Ruby.ninjap (1)" />
|
|
106
253
|
<item itemvalue="Ruby.ninjap" />
|
|
107
254
|
<item itemvalue="Test::Unit/Shoulda/Minitest.All tests in ninjap: ninjap" />
|
|
108
255
|
</list>
|
|
109
256
|
<recent_temporary>
|
|
110
257
|
<list>
|
|
258
|
+
<item itemvalue="Ruby.ninjap (1)" />
|
|
111
259
|
<item itemvalue="Ruby.ninjap" />
|
|
112
260
|
<item itemvalue="Test::Unit/Shoulda/Minitest.All tests in ninjap: ninjap" />
|
|
113
261
|
</list>
|
|
114
262
|
</recent_temporary>
|
|
115
263
|
</component>
|
|
264
|
+
<component name="SharedIndexes">
|
|
265
|
+
<attachedChunks>
|
|
266
|
+
<set>
|
|
267
|
+
<option value="bundled-js-predefined-d6986cc7102b-3aa1da707db6-JavaScript-RM-252.27397.109" />
|
|
268
|
+
</set>
|
|
269
|
+
</attachedChunks>
|
|
270
|
+
</component>
|
|
116
271
|
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
|
117
272
|
<component name="SpringUtil" SPRING_PRE_LOADER_OPTION="true" RAKE_SPRING_PRE_LOADER_OPTION="true" RAILS_SPRING_PRE_LOADER_OPTION="true" />
|
|
118
273
|
<component name="TaskManager">
|
|
@@ -122,7 +277,17 @@
|
|
|
122
277
|
<option name="number" value="Default" />
|
|
123
278
|
<option name="presentableId" value="Default" />
|
|
124
279
|
<updated>1622054842745</updated>
|
|
125
|
-
<workItem from="1622054843870" duration="
|
|
280
|
+
<workItem from="1622054843870" duration="15706000" />
|
|
281
|
+
<workItem from="1623145666926" duration="480000" />
|
|
282
|
+
<workItem from="1623146986725" duration="737000" />
|
|
283
|
+
<workItem from="1624009735733" duration="1614000" />
|
|
284
|
+
<workItem from="1628593864547" duration="598000" />
|
|
285
|
+
<workItem from="1672074978863" duration="27000" />
|
|
286
|
+
<workItem from="1752777797736" duration="2111000" />
|
|
287
|
+
<workItem from="1754588062136" duration="575000" />
|
|
288
|
+
<workItem from="1756910340315" duration="408000" />
|
|
289
|
+
<workItem from="1760024425979" duration="446000" />
|
|
290
|
+
<workItem from="1770413123370" duration="2138000" />
|
|
126
291
|
</task>
|
|
127
292
|
<task id="LOCAL-00001" summary="- initial">
|
|
128
293
|
<created>1622065597147</created>
|
|
@@ -142,54 +307,9 @@
|
|
|
142
307
|
<MESSAGE value="- initial" />
|
|
143
308
|
<option name="LAST_COMMIT_MESSAGE" value="- initial" />
|
|
144
309
|
</component>
|
|
145
|
-
<component name="WindowStateProjectService">
|
|
146
|
-
<state x="179" y="99" key="#com.intellij.execution.impl.EditConfigurationsDialog" timestamp="1622064493343">
|
|
147
|
-
<screen x="0" y="25" width="1440" height="830" />
|
|
148
|
-
</state>
|
|
149
|
-
<state x="179" y="99" key="#com.intellij.execution.impl.EditConfigurationsDialog/0.25.1440.830@0.25.1440.830" timestamp="1622064493343" />
|
|
150
|
-
<state x="429" y="255" key="#com.intellij.fileTypes.FileTypeChooser" timestamp="1622057178847">
|
|
151
|
-
<screen x="0" y="25" width="1440" height="830" />
|
|
152
|
-
</state>
|
|
153
|
-
<state x="429" y="255" key="#com.intellij.fileTypes.FileTypeChooser/0.25.1440.830@0.25.1440.830" timestamp="1622057178847" />
|
|
154
|
-
<state x="299" y="25" width="831" height="830" key="CommitChangelistDialog2" timestamp="1622065596973">
|
|
155
|
-
<screen x="0" y="25" width="1440" height="830" />
|
|
156
|
-
</state>
|
|
157
|
-
<state x="299" y="25" width="831" height="830" key="CommitChangelistDialog2/0.25.1440.830@0.25.1440.830" timestamp="1622065596973" />
|
|
158
|
-
<state x="571" y="169" key="EnvironmentVariablesDialog" timestamp="1622063597107">
|
|
159
|
-
<screen x="0" y="25" width="1440" height="830" />
|
|
160
|
-
</state>
|
|
161
|
-
<state x="571" y="169" key="EnvironmentVariablesDialog/0.25.1440.830@0.25.1440.830" timestamp="1622063597107" />
|
|
162
|
-
<state width="1398" height="213" key="GridCell.Tab.0.bottom" timestamp="1622064520420">
|
|
163
|
-
<screen x="0" y="25" width="1440" height="830" />
|
|
164
|
-
</state>
|
|
165
|
-
<state width="1398" height="213" key="GridCell.Tab.0.bottom/0.25.1440.830@0.25.1440.830" timestamp="1622064520420" />
|
|
166
|
-
<state width="1398" height="213" key="GridCell.Tab.0.center" timestamp="1622064520419">
|
|
167
|
-
<screen x="0" y="25" width="1440" height="830" />
|
|
168
|
-
</state>
|
|
169
|
-
<state width="1398" height="213" key="GridCell.Tab.0.center/0.25.1440.830@0.25.1440.830" timestamp="1622064520419" />
|
|
170
|
-
<state width="1398" height="213" key="GridCell.Tab.0.left" timestamp="1622064520418">
|
|
171
|
-
<screen x="0" y="25" width="1440" height="830" />
|
|
172
|
-
</state>
|
|
173
|
-
<state width="1398" height="213" key="GridCell.Tab.0.left/0.25.1440.830@0.25.1440.830" timestamp="1622064520418" />
|
|
174
|
-
<state width="1398" height="213" key="GridCell.Tab.0.right" timestamp="1622064520419">
|
|
175
|
-
<screen x="0" y="25" width="1440" height="830" />
|
|
176
|
-
</state>
|
|
177
|
-
<state width="1398" height="213" key="GridCell.Tab.0.right/0.25.1440.830@0.25.1440.830" timestamp="1622064520419" />
|
|
178
|
-
<state x="224" y="76" key="SettingsEditor" timestamp="1622064935950">
|
|
179
|
-
<screen x="0" y="25" width="1440" height="830" />
|
|
180
|
-
</state>
|
|
181
|
-
<state x="224" y="76" key="SettingsEditor/0.25.1440.830@0.25.1440.830" timestamp="1622064935950" />
|
|
182
|
-
<state x="315" y="177" key="Vcs.Push.Dialog.v2" timestamp="1622066680241">
|
|
183
|
-
<screen x="0" y="25" width="1440" height="830" />
|
|
184
|
-
</state>
|
|
185
|
-
<state x="315" y="177" key="Vcs.Push.Dialog.v2/0.25.1440.830@0.25.1440.830" timestamp="1622066680241" />
|
|
186
|
-
<state x="416" y="195" width="597" height="490" key="find.popup" timestamp="1622065789539">
|
|
187
|
-
<screen x="0" y="25" width="1440" height="830" />
|
|
188
|
-
</state>
|
|
189
|
-
<state x="416" y="195" width="597" height="490" key="find.popup/0.25.1440.830@0.25.1440.830" timestamp="1622065789539" />
|
|
190
|
-
</component>
|
|
191
310
|
<component name="com.intellij.coverage.CoverageDataManagerImpl">
|
|
192
311
|
<SUITE FILE_PATH="coverage/ninjap@ninjap.rcov" NAME="ninjap Coverage Results" MODIFIED="1622064520378" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/lib" MODULE_NAME="ninjap" />
|
|
193
312
|
<SUITE FILE_PATH="coverage/ninjap@All_tests_in_ninjap__ninjap.rcov" NAME="All tests in ninjap: ninjap Coverage Results" MODIFIED="1622063412891" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" MODULE_NAME="ninjap" />
|
|
313
|
+
<SUITE FILE_PATH="coverage/ninjap@ninjap__1_.rcov" NAME="ninjap (1) Coverage Results" MODIFIED="1622070273220" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/lib" MODULE_NAME="ninjap" />
|
|
194
314
|
</component>
|
|
195
315
|
</project>
|
data/Gemfile.lock
CHANGED
|
@@ -1,37 +1,46 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
ninjap (0.1.
|
|
4
|
+
ninjap (0.1.1)
|
|
5
|
+
mini_magick (>= 4.12)
|
|
5
6
|
|
|
6
7
|
GEM
|
|
7
8
|
remote: https://rubygems.org/
|
|
8
9
|
specs:
|
|
9
|
-
diff-lcs (1.
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
10
|
+
diff-lcs (1.6.2)
|
|
11
|
+
logger (1.7.0)
|
|
12
|
+
mini_magick (5.3.1)
|
|
13
|
+
logger
|
|
14
|
+
observer (0.1.2)
|
|
15
|
+
pkg-config (1.6.5)
|
|
16
|
+
rake (13.3.1)
|
|
17
|
+
rmagick (6.1.5)
|
|
18
|
+
observer (~> 0.1)
|
|
19
|
+
pkg-config (~> 1.4)
|
|
20
|
+
rspec (3.13.2)
|
|
21
|
+
rspec-core (~> 3.13.0)
|
|
22
|
+
rspec-expectations (~> 3.13.0)
|
|
23
|
+
rspec-mocks (~> 3.13.0)
|
|
24
|
+
rspec-core (3.13.6)
|
|
25
|
+
rspec-support (~> 3.13.0)
|
|
26
|
+
rspec-expectations (3.13.5)
|
|
19
27
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
20
|
-
rspec-support (~> 3.
|
|
21
|
-
rspec-mocks (3.
|
|
28
|
+
rspec-support (~> 3.13.0)
|
|
29
|
+
rspec-mocks (3.13.7)
|
|
22
30
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
23
|
-
rspec-support (~> 3.
|
|
24
|
-
rspec-support (3.
|
|
31
|
+
rspec-support (~> 3.13.0)
|
|
32
|
+
rspec-support (3.13.7)
|
|
25
33
|
|
|
26
34
|
PLATFORMS
|
|
35
|
+
arm64-darwin-25
|
|
27
36
|
ruby
|
|
28
37
|
|
|
29
38
|
DEPENDENCIES
|
|
30
|
-
bundler (
|
|
39
|
+
bundler (>= 2.4)
|
|
31
40
|
ninjap!
|
|
32
|
-
rake (
|
|
41
|
+
rake (>= 13.0)
|
|
33
42
|
rmagick
|
|
34
|
-
rspec (
|
|
43
|
+
rspec (>= 3.0)
|
|
35
44
|
|
|
36
45
|
BUNDLED WITH
|
|
37
|
-
2.0
|
|
46
|
+
2.7.0
|
data/lib/ninjap/version.rb
CHANGED
data/lib/ninjap.rb
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
require "ninjap/version"
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
# MiniMagick is a lightweight wrapper around the ImageMagick CLI.
|
|
4
|
+
# It avoids native compilation (unlike RMagick) and is easier to deploy.
|
|
5
|
+
begin
|
|
6
|
+
require "mini_magick"
|
|
7
|
+
rescue LoadError
|
|
8
|
+
warn "Missing dependency: please `gem install mini_magick` and ensure ImageMagick is installed."
|
|
9
|
+
raise
|
|
10
|
+
end
|
|
3
11
|
|
|
4
12
|
module Ninjap
|
|
5
13
|
class Error < StandardError; end
|
|
6
14
|
# Your code goes here...
|
|
7
15
|
|
|
8
|
-
|
|
16
|
+
# Gem root (where bundled assets like ninjap.png / fonts live)
|
|
17
|
+
res_path = File.expand_path("..", __dir__) + "/"
|
|
9
18
|
|
|
10
19
|
command = ARGV[0]
|
|
11
20
|
if command != nil
|
|
@@ -28,53 +37,71 @@ module Ninjap
|
|
|
28
37
|
end
|
|
29
38
|
|
|
30
39
|
if (command.eql? "--promote") || (command.eql? "-p")
|
|
31
|
-
|
|
40
|
+
require "shellwords"
|
|
32
41
|
|
|
33
|
-
|
|
34
|
-
|
|
42
|
+
template = File.join(res_path, "ninjap.png")
|
|
43
|
+
font_path = File.join(res_path, "SnellRoundhand.ttc")
|
|
44
|
+
|
|
45
|
+
unless File.exist?(template)
|
|
46
|
+
puts "Missing template image: #{template}"
|
|
35
47
|
exit
|
|
36
48
|
end
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
text.gravity = Magick::CenterGravity # Text positioning
|
|
42
|
-
text.pointsize = 200 # Font size
|
|
43
|
-
text.fill = "#9d4c0c" # Font color
|
|
44
|
-
text.font = res_path+"SnellRoundhand.ttc" # Font file; needs to be absolute
|
|
45
|
-
img.format = "png"
|
|
49
|
+
|
|
50
|
+
if ARGV[1].nil?
|
|
51
|
+
puts "Please put candidate name."
|
|
52
|
+
exit
|
|
46
53
|
end
|
|
47
54
|
|
|
48
|
-
|
|
55
|
+
ninja = ARGV[1]
|
|
56
|
+
|
|
57
|
+
if ARGV[2].nil?
|
|
49
58
|
puts "Please put promoter name."
|
|
50
59
|
exit
|
|
51
60
|
end
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
61
|
+
|
|
62
|
+
promoter = ARGV[2]
|
|
63
|
+
date_str = Time.now.strftime("%d.%m.%Y")
|
|
64
|
+
|
|
65
|
+
out_file = ARGV[3]
|
|
66
|
+
out_file = "ninja_cert_for_#{ninja}.png" if out_file.nil? || out_file.strip.empty?
|
|
67
|
+
|
|
68
|
+
# Escape single quotes for ImageMagick draw text
|
|
69
|
+
esc = ->(s) { s.to_s.gsub("'", "\\\\'") }
|
|
70
|
+
|
|
71
|
+
img = MiniMagick::Image.open(template)
|
|
72
|
+
|
|
73
|
+
# Candidate name (center)
|
|
74
|
+
img.combine_options do |c|
|
|
75
|
+
c.font font_path if File.exist?(font_path)
|
|
76
|
+
c.fill "#9d4c0c"
|
|
77
|
+
c.pointsize "200"
|
|
78
|
+
c.gravity "Center"
|
|
79
|
+
c.draw "text 0,-50 '#{esc.call(ninja)}'"
|
|
59
80
|
end
|
|
60
81
|
|
|
61
|
-
|
|
62
|
-
img.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
82
|
+
# Promoter (bottom-right)
|
|
83
|
+
img.combine_options do |c|
|
|
84
|
+
c.font font_path if File.exist?(font_path)
|
|
85
|
+
c.fill "#9d4c0c"
|
|
86
|
+
c.pointsize "100"
|
|
87
|
+
c.gravity "SouthEast"
|
|
88
|
+
c.draw "text 800,550 '#{esc.call(promoter)}'"
|
|
68
89
|
end
|
|
69
90
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
91
|
+
# Date (bottom-left)
|
|
92
|
+
img.combine_options do |c|
|
|
93
|
+
c.font font_path if File.exist?(font_path)
|
|
94
|
+
c.fill "#9d4c0c"
|
|
95
|
+
c.pointsize "100"
|
|
96
|
+
c.gravity "SouthWest"
|
|
97
|
+
c.draw "text 730,550 '#{esc.call(date_str)}'"
|
|
73
98
|
end
|
|
99
|
+
|
|
74
100
|
begin
|
|
75
|
-
img.
|
|
76
|
-
|
|
77
|
-
|
|
101
|
+
img.format "png"
|
|
102
|
+
img.write out_file
|
|
103
|
+
rescue => e
|
|
104
|
+
puts "Can't write file: #{e.class}: #{e.message}"
|
|
78
105
|
exit
|
|
79
106
|
end
|
|
80
107
|
end
|
data/ninjap.gemspec
CHANGED
|
@@ -22,13 +22,17 @@ Gem::Specification.new do |spec|
|
|
|
22
22
|
# Specify which files should be added to the gem when it is released.
|
|
23
23
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
24
24
|
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
|
25
|
-
`git ls-files -z`.split("\x0").reject
|
|
25
|
+
`git ls-files -z`.split("\x0").reject do |f|
|
|
26
|
+
f.match(%r{^(test|spec|features)/}) ||
|
|
27
|
+
f.match(%r{\Aninja_cert_for_.*\.png\z})
|
|
28
|
+
end
|
|
26
29
|
end
|
|
27
30
|
spec.bindir = "exe"
|
|
28
31
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
29
32
|
spec.require_paths = ["lib"]
|
|
30
33
|
|
|
31
|
-
spec.
|
|
32
|
-
spec.add_development_dependency "
|
|
33
|
-
spec.add_development_dependency "
|
|
34
|
+
spec.add_dependency "mini_magick", ">= 4.12"
|
|
35
|
+
spec.add_development_dependency "bundler", ">= 2.4"
|
|
36
|
+
spec.add_development_dependency "rake", ">= 13.0"
|
|
37
|
+
spec.add_development_dependency "rspec", ">= 3.0"
|
|
34
38
|
end
|
metadata
CHANGED
|
@@ -1,55 +1,68 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ninjap
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Gojko
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 2026-02-06 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: mini_magick
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - ">="
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '4.12'
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - ">="
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: '4.12'
|
|
13
26
|
- !ruby/object:Gem::Dependency
|
|
14
27
|
name: bundler
|
|
15
28
|
requirement: !ruby/object:Gem::Requirement
|
|
16
29
|
requirements:
|
|
17
|
-
- - "
|
|
30
|
+
- - ">="
|
|
18
31
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '2.
|
|
32
|
+
version: '2.4'
|
|
20
33
|
type: :development
|
|
21
34
|
prerelease: false
|
|
22
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
36
|
requirements:
|
|
24
|
-
- - "
|
|
37
|
+
- - ">="
|
|
25
38
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '2.
|
|
39
|
+
version: '2.4'
|
|
27
40
|
- !ruby/object:Gem::Dependency
|
|
28
41
|
name: rake
|
|
29
42
|
requirement: !ruby/object:Gem::Requirement
|
|
30
43
|
requirements:
|
|
31
|
-
- - "
|
|
44
|
+
- - ">="
|
|
32
45
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
46
|
+
version: '13.0'
|
|
34
47
|
type: :development
|
|
35
48
|
prerelease: false
|
|
36
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
50
|
requirements:
|
|
38
|
-
- - "
|
|
51
|
+
- - ">="
|
|
39
52
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
53
|
+
version: '13.0'
|
|
41
54
|
- !ruby/object:Gem::Dependency
|
|
42
55
|
name: rspec
|
|
43
56
|
requirement: !ruby/object:Gem::Requirement
|
|
44
57
|
requirements:
|
|
45
|
-
- - "
|
|
58
|
+
- - ">="
|
|
46
59
|
- !ruby/object:Gem::Version
|
|
47
60
|
version: '3.0'
|
|
48
61
|
type: :development
|
|
49
62
|
prerelease: false
|
|
50
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
64
|
requirements:
|
|
52
|
-
- - "
|
|
65
|
+
- - ">="
|
|
53
66
|
- !ruby/object:Gem::Version
|
|
54
67
|
version: '3.0'
|
|
55
68
|
description: Promote someone to Ninja, and send a certificate via email.
|
|
@@ -91,7 +104,6 @@ metadata:
|
|
|
91
104
|
homepage_uri: https://rubygems.org/gems/ninjap
|
|
92
105
|
source_code_uri: https://rubygems.org/gems/ninjap
|
|
93
106
|
changelog_uri: https://rubygems.org/gems/ninjap
|
|
94
|
-
post_install_message:
|
|
95
107
|
rdoc_options: []
|
|
96
108
|
require_paths:
|
|
97
109
|
- lib
|
|
@@ -106,8 +118,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
106
118
|
- !ruby/object:Gem::Version
|
|
107
119
|
version: '0'
|
|
108
120
|
requirements: []
|
|
109
|
-
rubygems_version: 3.
|
|
110
|
-
signing_key:
|
|
121
|
+
rubygems_version: 3.6.2
|
|
111
122
|
specification_version: 4
|
|
112
123
|
summary: Promote someone to Ninja.
|
|
113
124
|
test_files: []
|