gml 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ca7f560c9004be7b2bc2c804debdd75051873be7
4
+ data.tar.gz: a4a5c84785a6fc6b33d18bc3b6f748e60f9112c5
5
+ SHA512:
6
+ metadata.gz: 52f81ae79bdbd5d4b7a6c525bfe97e38ae5ae2058176c5d3841e15ca8af5b211430c6eb9d6a052f4a53b6f596c282e6fe45117cf6bc97746343fb131c74ac70e
7
+ data.tar.gz: ae61bb09be6c91585987aeb1b275b63dafad5a5fff0868edcb113bd0b2ef180a11316435ef387901b039ceb423524c2080a2f9dabcc172b59684ff97ffc23273
@@ -0,0 +1,9 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Settings><!--This file was automatically generated by Ruby plugin.
3
+ You are allowed to:
4
+ 1. Remove rake task
5
+ 2. Add existing rake tasks
6
+ To add existing rake tasks automatically delete this file and reload the project.
7
+ --><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Build gml-0.1.0.gem into the pkg directory" fullCmd="build" taksId="build" /><RakeTask description="Remove any temporary products" fullCmd="clean" taksId="clean" /><RakeTask description="Remove any generated file" fullCmd="clobber" taksId="clobber" /><RakeTask description="Build and install gml-0.1.0.gem into system gems" fullCmd="install" taksId="install" /><RakeGroup description="" fullCmd="" taksId="install"><RakeTask description="Build and install gml-0.1.0.gem into system gems without network access" fullCmd="install:local" taksId="local" /></RakeGroup><RakeTask description="Create tag v0.1.0 and build and push gml-0.1.0.gem to Rubygems" fullCmd="release[remote]" taksId="release[remote]" /><RakeTask description="" fullCmd="default" taksId="default" /><RakeTask description="" fullCmd="release" taksId="release" /><RakeGroup description="" fullCmd="" taksId="release"><RakeTask description="" fullCmd="release:guard_clean" taksId="guard_clean" /><RakeTask description="" fullCmd="release:rubygem_push" taksId="rubygem_push" /><RakeTask description="" fullCmd="release:source_control_push" taksId="source_control_push" /></RakeGroup></RakeGroup></Settings>
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="RUBY_MODULE" version="4">
3
+ <component name="FacetManager">
4
+ <facet type="gem" name="New Gem">
5
+ <configuration>
6
+ <option name="GEM_APP_ROOT_PATH" value="$MODULE_DIR$" />
7
+ <option name="GEM_APP_TEST_PATH" value="$MODULE_DIR$/test" />
8
+ <option name="GEM_APP_LIB_PATH" value="$MODULE_DIR$/lib" />
9
+ </configuration>
10
+ </facet>
11
+ </component>
12
+ <component name="NewModuleRootManager">
13
+ <content url="file://$MODULE_DIR$">
14
+ <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
15
+ <excludeFolder url="file://$MODULE_DIR$/.bundle" />
16
+ <excludeFolder url="file://$MODULE_DIR$/vendor/bundle" />
17
+ </content>
18
+ <orderEntry type="jdk" jdkName="RVM: ruby-2.1.8" jdkType="RUBY_SDK" />
19
+ <orderEntry type="sourceFolder" forTests="false" />
20
+ <orderEntry type="library" scope="PROVIDED" name="bundler (v1.12.5, RVM: ruby-2.1.8) [gem]" level="application" />
21
+ </component>
22
+ </module>
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectLevelVcsManager" settingsEditedManually="false">
4
+ <OptionsSetting value="true" id="Add" />
5
+ <OptionsSetting value="true" id="Remove" />
6
+ <OptionsSetting value="true" id="Checkout" />
7
+ <OptionsSetting value="true" id="Update" />
8
+ <OptionsSetting value="true" id="Status" />
9
+ <OptionsSetting value="true" id="Edit" />
10
+ <ConfirmationsSetting value="0" id="Add" />
11
+ <ConfirmationsSetting value="0" id="Remove" />
12
+ </component>
13
+ <component name="ProjectRootManager" version="2" project-jdk-name="ruby-2.0.0-p648" project-jdk-type="RUBY_SDK" />
14
+ </project>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/gml.iml" filepath="$PROJECT_DIR$/.idea/gml.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,500 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ChangeListManager">
4
+ <list default="true" id="5a92eeb5-fba2-4974-bce0-a7b5244d710a" name="Default" comment="">
5
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.gitignore" />
6
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/gml.iml" />
7
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/misc.xml" />
8
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/modules.xml" />
9
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/vcs.xml" />
10
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
11
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/CODE_OF_CONDUCT.md" />
12
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/Gemfile" />
13
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/README.md" />
14
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/Rakefile" />
15
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bin/console" />
16
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bin/setup" />
17
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/gml.gemspec" />
18
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/lib/gml.rb" />
19
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/lib/gml/generic_monitor_log.rb" />
20
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/lib/gml/version.rb" />
21
+ </list>
22
+ <ignored path="gml.iws" />
23
+ <ignored path=".idea/workspace.xml" />
24
+ <ignored path=".idea/dataSources.local.xml" />
25
+ <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
26
+ <option name="TRACKING_ENABLED" value="true" />
27
+ <option name="SHOW_DIALOG" value="false" />
28
+ <option name="HIGHLIGHT_CONFLICTS" value="true" />
29
+ <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
30
+ <option name="LAST_RESOLUTION" value="IGNORE" />
31
+ </component>
32
+ <component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
33
+ <component name="CreatePatchCommitExecutor">
34
+ <option name="PATCH_PATH" value="" />
35
+ </component>
36
+ <component name="FavoritesManager">
37
+ <favorites_list name="gml" />
38
+ </component>
39
+ <component name="FileEditorManager">
40
+ <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
41
+ <file leaf-file-name="gml.rb" pinned="false" current-in-tab="false">
42
+ <entry file="file://$PROJECT_DIR$/lib/gml.rb">
43
+ <provider selected="true" editor-type-id="text-editor">
44
+ <state relative-caret-position="1055">
45
+ <caret line="71" column="0" selection-start-line="71" selection-start-column="0" selection-end-line="71" selection-end-column="0" />
46
+ <folding />
47
+ </state>
48
+ </provider>
49
+ </entry>
50
+ </file>
51
+ <file leaf-file-name="README.md" pinned="false" current-in-tab="true">
52
+ <entry file="file://$PROJECT_DIR$/README.md">
53
+ <provider selected="true" editor-type-id="text-editor">
54
+ <state relative-caret-position="2130">
55
+ <caret line="142" column="0" selection-start-line="142" selection-start-column="0" selection-end-line="142" selection-end-column="0" />
56
+ <folding />
57
+ </state>
58
+ </provider>
59
+ </entry>
60
+ </file>
61
+ <file leaf-file-name="generic_monitor_log.rb" pinned="false" current-in-tab="false">
62
+ <entry file="file://$PROJECT_DIR$/lib/gml/generic_monitor_log.rb">
63
+ <provider selected="true" editor-type-id="text-editor">
64
+ <state relative-caret-position="1140">
65
+ <caret line="76" column="54" selection-start-line="76" selection-start-column="54" selection-end-line="76" selection-end-column="54" />
66
+ <folding />
67
+ </state>
68
+ </provider>
69
+ </entry>
70
+ </file>
71
+ <file leaf-file-name="gml.gemspec" pinned="false" current-in-tab="false">
72
+ <entry file="file://$PROJECT_DIR$/gml.gemspec">
73
+ <provider selected="true" editor-type-id="text-editor">
74
+ <state relative-caret-position="255">
75
+ <caret line="17" column="57" selection-start-line="17" selection-start-column="57" selection-end-line="17" selection-end-column="57" />
76
+ <folding />
77
+ </state>
78
+ </provider>
79
+ </entry>
80
+ </file>
81
+ </leaf>
82
+ </component>
83
+ <component name="Git.Settings">
84
+ <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
85
+ </component>
86
+ <component name="IdeDocumentHistory">
87
+ <option name="CHANGED_PATHS">
88
+ <list>
89
+ <option value="$PROJECT_DIR$/lib/gml/version.rb" />
90
+ <option value="$PROJECT_DIR$/lib/gml.rb" />
91
+ <option value="$PROJECT_DIR$/gml.gemspec" />
92
+ <option value="$PROJECT_DIR$/lib/gml/generic_monitor_log.rb" />
93
+ <option value="$PROJECT_DIR$/CODE_OF_CONDUCT.md" />
94
+ <option value="$PROJECT_DIR$/README.md" />
95
+ </list>
96
+ </option>
97
+ </component>
98
+ <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
99
+ <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
100
+ <component name="JsGulpfileManager">
101
+ <detection-done>true</detection-done>
102
+ <sorting>DEFINITION_ORDER</sorting>
103
+ </component>
104
+ <component name="ProjectFrameBounds">
105
+ <option name="x" value="361" />
106
+ <option name="y" value="23" />
107
+ <option name="width" value="1799" />
108
+ <option name="height" value="1216" />
109
+ </component>
110
+ <component name="ProjectLevelVcsManager" settingsEditedManually="true">
111
+ <OptionsSetting value="true" id="Add" />
112
+ <OptionsSetting value="true" id="Remove" />
113
+ <OptionsSetting value="true" id="Checkout" />
114
+ <OptionsSetting value="true" id="Update" />
115
+ <OptionsSetting value="true" id="Status" />
116
+ <OptionsSetting value="true" id="Edit" />
117
+ <ConfirmationsSetting value="0" id="Add" />
118
+ <ConfirmationsSetting value="0" id="Remove" />
119
+ </component>
120
+ <component name="ProjectView">
121
+ <navigator currentView="ProjectPane" proportions="" version="1">
122
+ <flattenPackages />
123
+ <showMembers />
124
+ <showModules />
125
+ <showLibraryContents />
126
+ <hideEmptyPackages />
127
+ <abbreviatePackageNames />
128
+ <autoscrollToSource />
129
+ <autoscrollFromSource />
130
+ <sortByType />
131
+ <manualOrder />
132
+ <foldersAlwaysOnTop value="true" />
133
+ </navigator>
134
+ <panes>
135
+ <pane id="Scratches" />
136
+ <pane id="Scope" />
137
+ <pane id="ProjectPane">
138
+ <subPane>
139
+ <PATH>
140
+ <PATH_ELEMENT>
141
+ <option name="myItemId" value="gml" />
142
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
143
+ </PATH_ELEMENT>
144
+ </PATH>
145
+ <PATH>
146
+ <PATH_ELEMENT>
147
+ <option name="myItemId" value="gml" />
148
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
149
+ </PATH_ELEMENT>
150
+ <PATH_ELEMENT>
151
+ <option name="myItemId" value="gml" />
152
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
153
+ </PATH_ELEMENT>
154
+ </PATH>
155
+ <PATH>
156
+ <PATH_ELEMENT>
157
+ <option name="myItemId" value="gml" />
158
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
159
+ </PATH_ELEMENT>
160
+ <PATH_ELEMENT>
161
+ <option name="myItemId" value="gml" />
162
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
163
+ </PATH_ELEMENT>
164
+ <PATH_ELEMENT>
165
+ <option name="myItemId" value="lib" />
166
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
167
+ </PATH_ELEMENT>
168
+ </PATH>
169
+ <PATH>
170
+ <PATH_ELEMENT>
171
+ <option name="myItemId" value="gml" />
172
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
173
+ </PATH_ELEMENT>
174
+ <PATH_ELEMENT>
175
+ <option name="myItemId" value="gml" />
176
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
177
+ </PATH_ELEMENT>
178
+ <PATH_ELEMENT>
179
+ <option name="myItemId" value="lib" />
180
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
181
+ </PATH_ELEMENT>
182
+ <PATH_ELEMENT>
183
+ <option name="myItemId" value="gml" />
184
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
185
+ </PATH_ELEMENT>
186
+ </PATH>
187
+ <PATH>
188
+ <PATH_ELEMENT>
189
+ <option name="myItemId" value="gml" />
190
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
191
+ </PATH_ELEMENT>
192
+ <PATH_ELEMENT>
193
+ <option name="myItemId" value="gml" />
194
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
195
+ </PATH_ELEMENT>
196
+ <PATH_ELEMENT>
197
+ <option name="myItemId" value="bin" />
198
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
199
+ </PATH_ELEMENT>
200
+ </PATH>
201
+ </subPane>
202
+ </pane>
203
+ </panes>
204
+ </component>
205
+ <component name="PropertiesComponent">
206
+ <property name="WebServerToolWindowFactoryState" value="false" />
207
+ </component>
208
+ <component name="RunManager">
209
+ <configuration default="true" type="CucumberRunConfigurationType" factoryName="Cucumber">
210
+ <predefined_log_file id="RUBY_CUCUMBER" enabled="true" />
211
+ <module name="" />
212
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
213
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
214
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
215
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
216
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
217
+ <envs />
218
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
219
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
220
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
221
+ <COVERAGE_PATTERN ENABLED="true">
222
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
223
+ </COVERAGE_PATTERN>
224
+ </EXTENSION>
225
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*.feature" />
226
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
227
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
228
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
229
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_TAGS_FILTER" VALUE="" />
230
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="TEST_NAME_FILTER" VALUE="" />
231
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_ARGS" VALUE="--color -r features" />
232
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
233
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
234
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="VERBOSE_OPTION" VALUE="false" />
235
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
236
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
237
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
238
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="CUCUMBER_RUNNER_PATH" VALUE="" />
239
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_RUNNER" VALUE="false" />
240
+ <CUCUMBER_RUN_CONFIG_SETTINGS_ID NAME="SETTINGS_VERSION" VALUE="2" />
241
+ <method />
242
+ </configuration>
243
+ <configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug">
244
+ <method />
245
+ </configuration>
246
+ <configuration default="true" type="RSpecRunConfigurationType" factoryName="RSpec">
247
+ <predefined_log_file id="RUBY_RSPEC" enabled="true" />
248
+ <module name="" />
249
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
250
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
251
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
252
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
253
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
254
+ <envs />
255
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
256
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
257
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
258
+ <COVERAGE_PATTERN ENABLED="true">
259
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
260
+ </COVERAGE_PATTERN>
261
+ </EXTENSION>
262
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
263
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
264
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_RUNNER_PATH" VALUE="" />
265
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="**/*_spec.rb" />
266
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_EXAMPLE_NAME" VALUE="" />
267
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
268
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPEC_ARGS" VALUE="" />
269
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_VERSION" VALUE="" />
270
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="USE_CUSTOM_SPEC_RUNNER" VALUE="false" />
271
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
272
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
273
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
274
+ <RSPEC_RUN_CONFIG_SETTINGS_ID NAME="FULL_BACKTRACE" VALUE="false" />
275
+ <method />
276
+ </configuration>
277
+ <configuration default="true" type="TestUnitRunConfigurationType" factoryName="Test::Unit/Shoulda/Minitest">
278
+ <predefined_log_file id="RUBY_TESTUNIT" enabled="true" />
279
+ <module name="" />
280
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
281
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
282
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
283
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
284
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
285
+ <envs />
286
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
287
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
288
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
289
+ <COVERAGE_PATTERN ENABLED="true">
290
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
291
+ </COVERAGE_PATTERN>
292
+ </EXTENSION>
293
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TESTS_FOLDER_PATH" VALUE="" />
294
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_SCRIPT_PATH" VALUE="" />
295
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_FILE_MASK" VALUE="" />
296
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_METHOD_NAME" VALUE="" />
297
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="TEST_TEST_TYPE" VALUE="TEST_SCRIPT" />
298
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="DRB" VALUE="false" />
299
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="ZEUS" VALUE="false" />
300
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="SPRING" VALUE="false" />
301
+ <RTEST_RUN_CONFIG_SETTINGS_ID NAME="RUNNER_OPTIONS" VALUE="" />
302
+ <method />
303
+ </configuration>
304
+ <configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js">
305
+ <node-interpreter>project</node-interpreter>
306
+ <node-options />
307
+ <gulpfile />
308
+ <tasks />
309
+ <arguments />
310
+ <envs />
311
+ <method />
312
+ </configuration>
313
+ <configuration default="true" type="js.build_tools.npm" factoryName="npm">
314
+ <command value="run-script" />
315
+ <scripts />
316
+ <node-interpreter value="project" />
317
+ <envs />
318
+ <method />
319
+ </configuration>
320
+ </component>
321
+ <component name="ShelveChangesManager" show_recycled="false">
322
+ <option name="remove_strategy" value="false" />
323
+ </component>
324
+ <component name="SvnConfiguration">
325
+ <configuration />
326
+ </component>
327
+ <component name="TaskManager">
328
+ <task active="true" id="Default" summary="Default task">
329
+ <changelist id="5a92eeb5-fba2-4974-bce0-a7b5244d710a" name="Default" comment="" />
330
+ <created>1466053874002</created>
331
+ <option name="number" value="Default" />
332
+ <option name="presentableId" value="Default" />
333
+ <updated>1466053874002</updated>
334
+ <workItem from="1466053875084" duration="847000" />
335
+ <workItem from="1466217188390" duration="7961000" />
336
+ </task>
337
+ <servers />
338
+ </component>
339
+ <component name="TimeTrackingManager">
340
+ <option name="totallyTimeSpent" value="8808000" />
341
+ </component>
342
+ <component name="ToolWindowManager">
343
+ <frame x="361" y="23" width="1799" height="1216" extended-state="0" />
344
+ <editor active="false" />
345
+ <layout>
346
+ <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.19455253" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
347
+ <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
348
+ <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3291536" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
349
+ <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
350
+ <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
351
+ <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3291536" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
352
+ <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
353
+ <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
354
+ <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
355
+ <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
356
+ <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
357
+ <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
358
+ <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
359
+ <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
360
+ <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
361
+ <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
362
+ <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
363
+ </layout>
364
+ </component>
365
+ <component name="Vcs.Log.UiProperties">
366
+ <option name="RECENTLY_FILTERED_USER_GROUPS">
367
+ <collection />
368
+ </option>
369
+ <option name="RECENTLY_FILTERED_BRANCH_GROUPS">
370
+ <collection />
371
+ </option>
372
+ </component>
373
+ <component name="VcsContentAnnotationSettings">
374
+ <option name="myLimit" value="2678400000" />
375
+ </component>
376
+ <component name="XDebuggerManager">
377
+ <breakpoint-manager />
378
+ <watches-manager />
379
+ </component>
380
+ <component name="editorHistoryManager">
381
+ <entry file="file://$PROJECT_DIR$/lib/gml.rb">
382
+ <provider selected="true" editor-type-id="text-editor">
383
+ <state relative-caret-position="45">
384
+ <caret line="3" column="16" selection-start-line="3" selection-start-column="16" selection-end-line="3" selection-end-column="16" />
385
+ <folding />
386
+ </state>
387
+ </provider>
388
+ </entry>
389
+ <entry file="file://$PROJECT_DIR$/Gemfile">
390
+ <provider selected="true" editor-type-id="text-editor">
391
+ <state relative-caret-position="0">
392
+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
393
+ <folding />
394
+ </state>
395
+ </provider>
396
+ </entry>
397
+ <entry file="file://$PROJECT_DIR$/gml.gemspec">
398
+ <provider selected="true" editor-type-id="text-editor">
399
+ <state relative-caret-position="0">
400
+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
401
+ <folding />
402
+ </state>
403
+ </provider>
404
+ </entry>
405
+ <entry file="file://$PROJECT_DIR$/bin/setup">
406
+ <provider selected="true" editor-type-id="text-editor">
407
+ <state relative-caret-position="0">
408
+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
409
+ </state>
410
+ </provider>
411
+ </entry>
412
+ <entry file="file://$PROJECT_DIR$/bin/console">
413
+ <provider selected="true" editor-type-id="text-editor">
414
+ <state relative-caret-position="0">
415
+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
416
+ </state>
417
+ </provider>
418
+ </entry>
419
+ <entry file="file://$PROJECT_DIR$/LICENSE.txt">
420
+ <provider selected="true" editor-type-id="text-editor">
421
+ <state relative-caret-position="0">
422
+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
423
+ <folding />
424
+ </state>
425
+ </provider>
426
+ </entry>
427
+ <entry file="file://$PROJECT_DIR$/lib/gml/version.rb">
428
+ <provider selected="true" editor-type-id="text-editor">
429
+ <state relative-caret-position="90">
430
+ <caret line="6" column="0" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
431
+ <folding />
432
+ </state>
433
+ </provider>
434
+ </entry>
435
+ <entry file="file://$PROJECT_DIR$/CODE_OF_CONDUCT.md">
436
+ <provider selected="true" editor-type-id="text-editor">
437
+ <state relative-caret-position="0">
438
+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
439
+ <folding />
440
+ </state>
441
+ </provider>
442
+ </entry>
443
+ <entry file="file://$PROJECT_DIR$/lib/gml/generic_monitor_log.rb">
444
+ <provider selected="true" editor-type-id="text-editor">
445
+ <state relative-caret-position="1140">
446
+ <caret line="76" column="54" selection-start-line="76" selection-start-column="54" selection-end-line="76" selection-end-column="54" />
447
+ <folding />
448
+ </state>
449
+ </provider>
450
+ </entry>
451
+ <entry file="file://$PROJECT_DIR$/Rakefile">
452
+ <provider selected="true" editor-type-id="text-editor">
453
+ <state relative-caret-position="0">
454
+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
455
+ <folding />
456
+ </state>
457
+ </provider>
458
+ </entry>
459
+ <entry file="file://$PROJECT_DIR$/gml.gemspec">
460
+ <provider selected="true" editor-type-id="text-editor">
461
+ <state relative-caret-position="255">
462
+ <caret line="17" column="57" selection-start-line="17" selection-start-column="57" selection-end-line="17" selection-end-column="57" />
463
+ <folding />
464
+ </state>
465
+ </provider>
466
+ </entry>
467
+ <entry file="file://$PROJECT_DIR$/Gemfile.lock">
468
+ <provider selected="true" editor-type-id="text-editor">
469
+ <state relative-caret-position="0">
470
+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
471
+ <folding />
472
+ </state>
473
+ </provider>
474
+ </entry>
475
+ <entry file="file://$PROJECT_DIR$/Gemfile">
476
+ <provider selected="true" editor-type-id="text-editor">
477
+ <state relative-caret-position="0">
478
+ <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
479
+ <folding />
480
+ </state>
481
+ </provider>
482
+ </entry>
483
+ <entry file="file://$PROJECT_DIR$/lib/gml.rb">
484
+ <provider selected="true" editor-type-id="text-editor">
485
+ <state relative-caret-position="1055">
486
+ <caret line="71" column="0" selection-start-line="71" selection-start-column="0" selection-end-line="71" selection-end-column="0" />
487
+ <folding />
488
+ </state>
489
+ </provider>
490
+ </entry>
491
+ <entry file="file://$PROJECT_DIR$/README.md">
492
+ <provider selected="true" editor-type-id="text-editor">
493
+ <state relative-caret-position="2130">
494
+ <caret line="142" column="0" selection-start-line="142" selection-start-column="0" selection-end-line="142" selection-end-column="0" />
495
+ <folding />
496
+ </state>
497
+ </provider>
498
+ </entry>
499
+ </component>
500
+ </project>
@@ -0,0 +1,49 @@
1
+ # Contributor Code of Conduct
2
+
3
+ As contributors and maintainers of this project, and in the interest of
4
+ fostering an open and welcoming community, we pledge to respect all people who
5
+ contribute through reporting issues, posting feature requests, updating
6
+ documentation, submitting pull requests or patches, and other activities.
7
+
8
+ We are committed to making participation in this project a harassment-free
9
+ experience for everyone, regardless of level of experience, gender, gender
10
+ identity and expression, sexual orientation, disability, personal appearance,
11
+ body size, race, ethnicity, age, religion, or nationality.
12
+
13
+ Examples of unacceptable behavior by participants include:
14
+
15
+ * The use of sexualized language or imagery
16
+ * Personal attacks
17
+ * Trolling or insulting/derogatory comments
18
+ * Public or private harassment
19
+ * Publishing other's private information, such as physical or electronic
20
+ addresses, without explicit permission
21
+ * Other unethical or unprofessional conduct
22
+
23
+ Project maintainers have the right and responsibility to remove, edit, or
24
+ reject comments, commits, code, wiki edits, issues, and other contributions
25
+ that are not aligned to this Code of Conduct, or to ban temporarily or
26
+ permanently any contributor for other behaviors that they deem inappropriate,
27
+ threatening, offensive, or harmful.
28
+
29
+ By adopting this Code of Conduct, project maintainers commit themselves to
30
+ fairly and consistently applying these principles to every aspect of managing
31
+ this project. Project maintainers who do not follow or enforce the Code of
32
+ Conduct may be permanently removed from the project team.
33
+
34
+ This code of conduct applies both within project spaces and in public spaces
35
+ when an individual is representing the project or its community.
36
+
37
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
38
+ reported by contacting a project maintainer at adrian.bacon@gmail.com. All
39
+ complaints will be reviewed and investigated and will result in a response that
40
+ is deemed necessary and appropriate to the circumstances. Maintainers are
41
+ obligated to maintain confidentiality with regard to the reporter of an
42
+ incident.
43
+
44
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
45
+ version 1.3.0, available at
46
+ [http://contributor-covenant.org/version/1/3/0/][version]
47
+
48
+ [homepage]: http://contributor-covenant.org
49
+ [version]: http://contributor-covenant.org/version/1/3/0/
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in gml.gemspec
4
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016 Adrian Bacon
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,147 @@
1
+ # Gml - The Generic Monitor Log
2
+
3
+ I wrote this gem because I wanted to have a super simple super easy way to log events and
4
+ messages within Ruby code that was simple, clean, and could be used in a stand-alone
5
+ fashion without any dependencies.
6
+
7
+ I've looked at other Ruby logging options and they either had dependencies on things that
8
+ I didn't want to install, or part of a whole bigger framework that had to be installed in
9
+ order to use, or they where just really way more complex than what I needed and wanted.
10
+
11
+ So, I decided that perhaps I should roll my own.
12
+
13
+ ## Installation
14
+
15
+ Add this line to your application's Gemfile:
16
+
17
+ ```ruby
18
+ gem 'gml'
19
+ ```
20
+
21
+ And then execute:
22
+
23
+ $ bundle
24
+
25
+ Or install it yourself as:
26
+
27
+ $ gem install gml
28
+
29
+ ## Usage
30
+
31
+ Usage is fairly straightforward.
32
+
33
+ ### Basic Usage
34
+
35
+ require "gml"
36
+
37
+ logger = GenericMonitorLog.new
38
+
39
+ logger.log_panic("My code is panicking!")
40
+ logger.log_info("My code has useful information")
41
+ logger.log_verbose("My code is being verbose")
42
+ logger.log_debug("My code wants to output some debugging information")
43
+ logger.log_trace("My code wants to log entering/exiting methods/code blocks.")
44
+
45
+ Optionally, there is a `log` method that is an alias of `log_info`.
46
+
47
+ The default logging level is info, so panics and info would be logged, but not verbose,
48
+ debug, or trace.
49
+
50
+ ### More Advanced Usage
51
+
52
+ require "gml"
53
+
54
+ # We want to log everything!
55
+ #
56
+ logger = GenericMonitorLog.new(:log_level => Gml::LOG_LEVEL_TRACE, :output => "some_log_file.log")
57
+
58
+ ...
59
+
60
+ # Whoa! too much log! Let's dial it back.
61
+ #
62
+ logger.options[:log_level] = Gml::LOG_LEVEL_VERBOSE
63
+
64
+ ...
65
+
66
+ # I'd rather just log to the log file and not to my console
67
+ #
68
+ logger.options[:console] = nil
69
+
70
+ ...
71
+
72
+ # Maybe I'd rather log to STDOUT instead of the default STDERR for my console
73
+ #
74
+ logger.options[:console] = STDOUT
75
+
76
+ You kind of get the point. You can set any of the keys found in `Gml::DEFAULT_OPTIONS`
77
+ either as a hash at instantiation, or you can set them via the `options` afterwards.
78
+
79
+ The supported log levels (in order of more logging) are:
80
+
81
+ 1. `LOG_LEVEL_OFF` - Turn logging off
82
+ 2. `LOG_LEVEL_PANIC` - Don't log anything but panics
83
+ 3. `LOG_LEVEL_INFO` - Log generic info type messages
84
+ 4. `LOG_LEVEL_VERBOSE` - Log some more verbose stuff
85
+ 5. `LOG_LEVEL_DEBUG` - Log debugging type stuff
86
+ 6. `LOG_LEVEL_TRACE` - Log tracing type stuff
87
+
88
+
89
+ ### Typical Usage
90
+
91
+ At least how I use generally use gml, though it's really pretty much up to you how you
92
+ want to use it.
93
+
94
+ require "gml"
95
+
96
+ class SomeClass
97
+
98
+ def initialize()
99
+ @logger = GenericMonitorLog.new
100
+ end
101
+
102
+ def some_method(arg1 = "", arg2 = "")
103
+ @logger.log_trace("Enter")
104
+
105
+ begin
106
+ @logger.log_verbose("Doing some work")
107
+
108
+ # Do some init work
109
+ #
110
+ data = "some data"
111
+
112
+ @logger.log_debug("arg1:#{arg1}, arg2:#{arg2}, data:#{data}")
113
+
114
+ rescue => error
115
+ @logger.log_panic("#{error.to_s} - #{error.backtrace.inspect}")
116
+
117
+ ensure
118
+ @logger.log_verbose("Cleaning up")
119
+
120
+ @logger.log_trace("Exit")
121
+ end
122
+ end
123
+
124
+ You get the point.
125
+
126
+ ## Development
127
+
128
+ After checking out the repo, run `bin/setup` to install dependencies. You can also run
129
+ `bin/console` for an interactive prompt that will allow you to experiment.
130
+
131
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a
132
+ new version, update the version number in `version.rb`, and then run
133
+ `bundle exec rake release`, which will create a git tag for the version, push git commits
134
+ and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
135
+
136
+ ## Contributing
137
+
138
+ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/gml.
139
+ This project is intended to be a safe, welcoming space for collaboration, and contributors
140
+ are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org)
141
+ code of conduct.
142
+
143
+ ## License
144
+
145
+ The gem is available as open source under the terms of the
146
+ [MIT License](http://opensource.org/licenses/MIT).
147
+
@@ -0,0 +1,2 @@
1
+ require "bundler/gem_tasks"
2
+ task :default => :spec
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "gml"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,36 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'gml/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "gml"
8
+ spec.version = Gml::VERSION
9
+ spec.authors = ["Adrian Bacon"]
10
+ spec.email = ["adrian.bacon@gmail.com"]
11
+
12
+ spec.summary = "Gml - The Generic Monitor Log"
13
+ spec.description = <<-EOF
14
+ Gml is a Generic Monitor Logging module/class that
15
+ provides a simple and generic way to log ruby application
16
+ events to a variety of outputs.
17
+ EOF
18
+ spec.homepage = "https://github.com/quicksurf/gml"
19
+ spec.license = "MIT"
20
+
21
+ # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
22
+ # to allow pushing to a single host or delete this section to allow pushing to any host.
23
+ if spec.respond_to?(:metadata)
24
+ spec.metadata['allowed_push_host'] = "https://rubygems.org"
25
+ else
26
+ raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
27
+ end
28
+
29
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
30
+ spec.bindir = "exe"
31
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
32
+ spec.require_paths = ["lib"]
33
+
34
+ spec.add_development_dependency "bundler", "~> 1.12"
35
+ spec.add_development_dependency "rake", "~> 10.0"
36
+ end
@@ -0,0 +1,71 @@
1
+ require "gml/version"
2
+ require "gml/generic_monitor_log"
3
+
4
+ ##
5
+ # This module provides static data for the GenericMonitorLog.
6
+
7
+ module Gml
8
+
9
+ ##
10
+ # Log everything
11
+
12
+ LOG_LEVEL_TRACE = 5
13
+
14
+ ##
15
+ # Log debug messages and below
16
+
17
+ LOG_LEVEL_DEBUG = 4
18
+
19
+ ##
20
+ # Log verbose messages and below
21
+
22
+ LOG_LEVEL_VERBOSE = 3
23
+
24
+ ##
25
+ # Log information messages and below
26
+
27
+ LOG_LEVEL_INFO = 2
28
+
29
+ ##
30
+ # Log panic messages
31
+
32
+ LOG_LEVEL_PANIC = 1
33
+
34
+ ##
35
+ # Turn logging off
36
+
37
+ LOG_LEVEL_OFF = 0
38
+
39
+ ##
40
+ # The string equivalents of the log levels, used for output.
41
+
42
+ LOG_STRINGS = {
43
+ LOG_LEVEL_PANIC => ":PANIC: ",
44
+ LOG_LEVEL_INFO => ":INFO: ",
45
+ LOG_LEVEL_VERBOSE => ":VERBOSE:",
46
+ LOG_LEVEL_DEBUG => ":DEBUG: ",
47
+ LOG_LEVEL_TRACE => ":TRACE: "
48
+ }
49
+
50
+ ##
51
+ # The default options for GenericMonitorLog.
52
+ #
53
+ # {
54
+ # :console => STDERR // An IO object to output to. Defaults to STDERR, set to nil to disable,
55
+ # // or set to an IO object like STDOUT or STDERR.
56
+ # :log_level => Gml::LOG_LEVEL_INFO // The logging level. Defaults to LOG_LEVEL_INFO.
57
+ # :output => nil // The filename or IO object to write log entries to.
58
+ # // Set to nil to disable, or a file name in the form of a string, or
59
+ # // an IO object if you want to manage the log file separately.
60
+ # :time_format => "%c" // The time format. Can be set to the format as specified in
61
+ # // Time.strftime
62
+ # }
63
+
64
+ DEFAULT_OPTIONS = {
65
+ :console => STDERR,
66
+ :log_level => Gml::LOG_LEVEL_INFO,
67
+ :output => nil,
68
+ :time_format => "%c"
69
+ }
70
+
71
+ end
@@ -0,0 +1,83 @@
1
+ require "time"
2
+
3
+ ##
4
+ # This class provides a generic and simple way to log ruby code.
5
+
6
+ class GenericMonitorLog
7
+
8
+ attr_reader :options
9
+
10
+ ##
11
+ # The class constructor.
12
+
13
+ def initialize(options = {})
14
+ raise StandardError.new("'options' must be a Hash or nil.") if !options.is_a?(Hash)
15
+
16
+ @options = DEFAULT_OPTIONS.merge(options)
17
+ end
18
+
19
+ ##
20
+ # The main method that logs the messages.
21
+
22
+ def entry(log_level = Gml::LOG_LEVEL_INFO, log_entry = "", caller_depth = 1)
23
+ if ((log_level <= @options[:log_level]) && (@options[:console] || @options[:output]))
24
+ at = caller_locations()[caller_depth]
25
+ out = "[#{Time.now.strftime(@options[:time_format])}] #{Gml::LOG_STRINGS[log_level]} "
26
+ out << "[#{File.basename(at.absolute_path)}->#{at.label}: #{at.lineno}]"
27
+ out << " - " if log_entry.size > 0
28
+ out << log_entry
29
+
30
+ @options[:console].puts(out) if @options[:console]
31
+
32
+ if (@options[:output])
33
+ if (@options[:output].is_a?(IO))
34
+ @options[:output].puts(out)
35
+
36
+ else
37
+ out << "\n"
38
+ File.write(@options[:output], out, (File.exist?(@options[:output]) ? File.size(@options[:output]) : 0))
39
+ end
40
+
41
+ end
42
+
43
+ end
44
+ end
45
+
46
+ ##
47
+ # Log a panic message. This is a convenience method.
48
+
49
+ def log_panic(log_entry = "")
50
+ entry(Gml::LOG_LEVEL_PANIC, log_entry, 1)
51
+ end
52
+
53
+ ##
54
+ # Log an info message. This is a convenience method.
55
+
56
+ def log_info(log_entry = "")
57
+ entry(Gml::LOG_LEVEL_INFO, log_entry, 1)
58
+ end
59
+
60
+ alias_method :log, :log_info
61
+
62
+ ##
63
+ # Log a verbose message. This is a convenience method.
64
+
65
+ def log_verbose(log_entry = "")
66
+ entry(Gml::LOG_LEVEL_VERBOSE, log_entry, 1)
67
+ end
68
+
69
+ ##
70
+ # Log a debug message. This is a convenience method.
71
+
72
+ def log_debug(log_entry = "")
73
+ entry(Gml::LOG_LEVEL_DEBUG, log_entry, 1)
74
+ end
75
+
76
+ ##
77
+ # Log a trace message. This is a convenience method.
78
+
79
+ def log_trace(log_entry = "")
80
+ entry(Gml::LOG_LEVEL_TRACE, log_entry, 1)
81
+ end
82
+
83
+ end
@@ -0,0 +1,6 @@
1
+ module Gml
2
+ ##
3
+ # The version of the gml gem. Follows Semantic Versioning.
4
+
5
+ VERSION = "1.0.0"
6
+ end
metadata ADDED
@@ -0,0 +1,95 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gml
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Adrian Bacon
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-06-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.12'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.12'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ description: |2
42
+ Gml is a Generic Monitor Logging module/class that
43
+ provides a simple and generic way to log ruby application
44
+ events to a variety of outputs.
45
+ email:
46
+ - adrian.bacon@gmail.com
47
+ executables: []
48
+ extensions: []
49
+ extra_rdoc_files: []
50
+ files:
51
+ - ".gitignore"
52
+ - ".idea/.rakeTasks"
53
+ - ".idea/gml.iml"
54
+ - ".idea/misc.xml"
55
+ - ".idea/modules.xml"
56
+ - ".idea/vcs.xml"
57
+ - ".idea/workspace.xml"
58
+ - CODE_OF_CONDUCT.md
59
+ - Gemfile
60
+ - Gemfile.lock
61
+ - LICENSE
62
+ - README.md
63
+ - Rakefile
64
+ - bin/console
65
+ - bin/setup
66
+ - gml.gemspec
67
+ - lib/gml.rb
68
+ - lib/gml/generic_monitor_log.rb
69
+ - lib/gml/version.rb
70
+ homepage: https://github.com/quicksurf/gml
71
+ licenses:
72
+ - MIT
73
+ metadata:
74
+ allowed_push_host: https://rubygems.org
75
+ post_install_message:
76
+ rdoc_options: []
77
+ require_paths:
78
+ - lib
79
+ required_ruby_version: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ required_rubygems_version: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ requirements: []
90
+ rubyforge_project:
91
+ rubygems_version: 2.5.1
92
+ signing_key:
93
+ specification_version: 4
94
+ summary: Gml - The Generic Monitor Log
95
+ test_files: []