remexify 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.idea/remexify.iml +1 -1
- data/.idea/workspace.xml +338 -138
- data/README.md +10 -2
- data/lib/generators/remexify_generator.rb +1 -1
- data/lib/remexify/remexify_retriever.rb +46 -9
- data/lib/remexify/remexify_writer.rb +82 -28
- data/lib/remexify/version.rb +2 -2
- data/lib/remexify.rb +2 -0
- data/remexify.gemspec +2 -1
- metadata +20 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a93e9dfa51e23357abc225471d4adb294901243d
|
|
4
|
+
data.tar.gz: 3a8bac5a135a70acbbe60af80dba7493f6431525
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7f50af213117d552b22c5c912dc5c48191cb0708fa1a92d10749b5a0800da99ba0826098d8ac9d404bb2a58eff09d0385af4748bc6f51bb46bccd9e5cfcec868
|
|
7
|
+
data.tar.gz: ffbbe028b3213e4cdaa61f8f74c23d33836c580e856daeea6354c7bb04220852e6c1065fb6ed2d6490a60378e158652078c7570e840176a9b392728da7e60711
|
data/.idea/remexify.iml
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
<orderEntry type="library" scope="PROVIDED" name="activemodel (v3.2.19, rbenv: 2.1.1) [gem]" level="application" />
|
|
19
19
|
<orderEntry type="library" scope="PROVIDED" name="activerecord (v3.2.19, rbenv: 2.1.1) [gem]" level="application" />
|
|
20
20
|
<orderEntry type="library" scope="PROVIDED" name="activeresource (v3.2.19, rbenv: 2.1.1) [gem]" level="application" />
|
|
21
|
-
<orderEntry type="library" scope="PROVIDED" name="activesupport (
|
|
21
|
+
<orderEntry type="library" scope="PROVIDED" name="activesupport (v3.2.19, rbenv: 2.1.1) [gem]" level="application" />
|
|
22
22
|
<orderEntry type="library" scope="PROVIDED" name="arel (v3.0.3, rbenv: 2.1.1) [gem]" level="application" />
|
|
23
23
|
<orderEntry type="library" scope="PROVIDED" name="builder (v3.0.4, rbenv: 2.1.1) [gem]" level="application" />
|
|
24
24
|
<orderEntry type="library" scope="PROVIDED" name="bundler (v1.6.2, rbenv: 2.1.1) [gem]" level="application" />
|
data/.idea/workspace.xml
CHANGED
|
@@ -23,31 +23,11 @@
|
|
|
23
23
|
</component>
|
|
24
24
|
<component name="FileEditorManager">
|
|
25
25
|
<leaf>
|
|
26
|
-
<file leaf-file-name="remexify.gemspec" pinned="false" current="
|
|
26
|
+
<file leaf-file-name="remexify.gemspec" pinned="false" current="false" current-in-tab="false">
|
|
27
27
|
<entry file="file://$PROJECT_DIR$/remexify.gemspec">
|
|
28
28
|
<provider selected="true" editor-type-id="text-editor">
|
|
29
|
-
<state vertical-scroll-proportion="0.
|
|
30
|
-
<caret line="
|
|
31
|
-
<folding />
|
|
32
|
-
</state>
|
|
33
|
-
</provider>
|
|
34
|
-
</entry>
|
|
35
|
-
</file>
|
|
36
|
-
<file leaf-file-name="remexify_generator.rb" pinned="false" current="false" current-in-tab="false">
|
|
37
|
-
<entry file="file://$PROJECT_DIR$/lib/generators/remexify_generator.rb">
|
|
38
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
39
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="570">
|
|
40
|
-
<caret line="23" column="62" selection-start-line="23" selection-start-column="62" selection-end-line="23" selection-end-column="62" />
|
|
41
|
-
<folding />
|
|
42
|
-
</state>
|
|
43
|
-
</provider>
|
|
44
|
-
</entry>
|
|
45
|
-
</file>
|
|
46
|
-
<file leaf-file-name=".gitignore" pinned="false" current="false" current-in-tab="false">
|
|
47
|
-
<entry file="file://$PROJECT_DIR$/.gitignore">
|
|
48
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
49
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="420">
|
|
50
|
-
<caret line="22" column="10" selection-start-line="22" selection-start-column="10" selection-end-line="22" selection-end-column="10" />
|
|
29
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="315" max-vertical-offset="510">
|
|
30
|
+
<caret line="21" column="23" selection-start-line="21" selection-start-column="23" selection-end-line="21" selection-end-column="23" />
|
|
51
31
|
<folding />
|
|
52
32
|
</state>
|
|
53
33
|
</provider>
|
|
@@ -56,18 +36,18 @@
|
|
|
56
36
|
<file leaf-file-name="remexify.rb" pinned="false" current="false" current-in-tab="false">
|
|
57
37
|
<entry file="file://$PROJECT_DIR$/lib/remexify.rb">
|
|
58
38
|
<provider selected="true" editor-type-id="text-editor">
|
|
59
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="
|
|
60
|
-
<caret line="
|
|
39
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="465">
|
|
40
|
+
<caret line="25" column="31" selection-start-line="25" selection-start-column="31" selection-end-line="25" selection-end-column="31" />
|
|
61
41
|
<folding />
|
|
62
42
|
</state>
|
|
63
43
|
</provider>
|
|
64
44
|
</entry>
|
|
65
45
|
</file>
|
|
66
|
-
<file leaf-file-name="
|
|
67
|
-
<entry file="file://$PROJECT_DIR$/lib/
|
|
46
|
+
<file leaf-file-name="displayable_error.rb" pinned="false" current="false" current-in-tab="false">
|
|
47
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify/displayable_error.rb">
|
|
68
48
|
<provider selected="true" editor-type-id="text-editor">
|
|
69
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="
|
|
70
|
-
<caret line="
|
|
49
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="105">
|
|
50
|
+
<caret line="1" column="3" selection-start-line="1" selection-start-column="3" selection-end-line="1" selection-end-column="3" />
|
|
71
51
|
<folding />
|
|
72
52
|
</state>
|
|
73
53
|
</provider>
|
|
@@ -76,28 +56,18 @@
|
|
|
76
56
|
<file leaf-file-name="remexify_retriever.rb" pinned="false" current="false" current-in-tab="false">
|
|
77
57
|
<entry file="file://$PROJECT_DIR$/lib/remexify/remexify_retriever.rb">
|
|
78
58
|
<provider selected="true" editor-type-id="text-editor">
|
|
79
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
|
80
|
-
<caret line="
|
|
59
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="733" max-vertical-offset="1080">
|
|
60
|
+
<caret line="13" column="6" selection-start-line="13" selection-start-column="6" selection-end-line="13" selection-end-column="6" />
|
|
81
61
|
<folding />
|
|
82
62
|
</state>
|
|
83
63
|
</provider>
|
|
84
64
|
</entry>
|
|
85
65
|
</file>
|
|
86
|
-
<file leaf-file-name="
|
|
87
|
-
<entry file="file://$PROJECT_DIR$/lib/remexify/remexify_writer.rb">
|
|
88
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
89
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="158" max-vertical-offset="1260">
|
|
90
|
-
<caret line="26" column="51" selection-start-line="26" selection-start-column="51" selection-end-line="26" selection-end-column="51" />
|
|
91
|
-
<folding />
|
|
92
|
-
</state>
|
|
93
|
-
</provider>
|
|
94
|
-
</entry>
|
|
95
|
-
</file>
|
|
96
|
-
<file leaf-file-name="README.md" pinned="false" current="false" current-in-tab="false">
|
|
66
|
+
<file leaf-file-name="README.md" pinned="false" current="true" current-in-tab="true">
|
|
97
67
|
<entry file="file://$PROJECT_DIR$/README.md">
|
|
98
68
|
<provider selected="true" editor-type-id="text-editor">
|
|
99
|
-
<state vertical-scroll-proportion="
|
|
100
|
-
<caret line="
|
|
69
|
+
<state vertical-scroll-proportion="0.86725664" vertical-offset="1685" max-vertical-offset="2265">
|
|
70
|
+
<caret line="145" column="40" selection-start-line="145" selection-start-column="40" selection-end-line="145" selection-end-column="40" />
|
|
101
71
|
<folding />
|
|
102
72
|
</state>
|
|
103
73
|
</provider>
|
|
@@ -106,52 +76,44 @@
|
|
|
106
76
|
</provider>
|
|
107
77
|
</entry>
|
|
108
78
|
</file>
|
|
109
|
-
<file leaf-file-name="
|
|
110
|
-
<entry file="file://$PROJECT_DIR$/
|
|
79
|
+
<file leaf-file-name="Gemfile" pinned="false" current="false" current-in-tab="false">
|
|
80
|
+
<entry file="file://$PROJECT_DIR$/Gemfile">
|
|
111
81
|
<provider selected="true" editor-type-id="text-editor">
|
|
112
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="
|
|
113
|
-
<caret line="
|
|
82
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="150">
|
|
83
|
+
<caret line="4" column="0" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
|
|
114
84
|
<folding />
|
|
115
85
|
</state>
|
|
116
86
|
</provider>
|
|
117
87
|
</entry>
|
|
118
88
|
</file>
|
|
119
|
-
<file leaf-file-name="
|
|
120
|
-
<entry file="file://$PROJECT_DIR$/lib/
|
|
121
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
122
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="135">
|
|
123
|
-
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
|
124
|
-
<folding />
|
|
125
|
-
</state>
|
|
126
|
-
</provider>
|
|
127
|
-
</entry>
|
|
128
|
-
</file>
|
|
129
|
-
<file leaf-file-name="runtime_error.rb" pinned="false" current="false" current-in-tab="false">
|
|
130
|
-
<entry file="file://$PROJECT_DIR$/lib/remexify/runtime_error.rb">
|
|
89
|
+
<file leaf-file-name="remexify_generator.rb" pinned="false" current="false" current-in-tab="false">
|
|
90
|
+
<entry file="file://$PROJECT_DIR$/lib/generators/remexify_generator.rb">
|
|
131
91
|
<provider selected="true" editor-type-id="text-editor">
|
|
132
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="
|
|
133
|
-
<caret line="
|
|
92
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="570">
|
|
93
|
+
<caret line="24" column="50" selection-start-line="24" selection-start-column="50" selection-end-line="24" selection-end-column="51" />
|
|
134
94
|
<folding />
|
|
135
95
|
</state>
|
|
136
96
|
</provider>
|
|
137
97
|
</entry>
|
|
138
98
|
</file>
|
|
139
|
-
<file leaf-file-name="
|
|
140
|
-
<entry file="file://$PROJECT_DIR$/lib/remexify/
|
|
99
|
+
<file leaf-file-name="standard_error.rb" pinned="false" current="false" current-in-tab="false">
|
|
100
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify/standard_error.rb">
|
|
141
101
|
<provider selected="true" editor-type-id="text-editor">
|
|
142
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
|
143
|
-
<caret line="
|
|
102
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="45" max-vertical-offset="135">
|
|
103
|
+
<caret line="3" column="3" selection-start-line="3" selection-start-column="3" selection-end-line="3" selection-end-column="3" />
|
|
144
104
|
<folding />
|
|
145
105
|
</state>
|
|
146
106
|
</provider>
|
|
147
107
|
</entry>
|
|
148
108
|
</file>
|
|
149
|
-
<file leaf-file-name="
|
|
150
|
-
<entry file="file://$PROJECT_DIR$/lib/remexify/
|
|
109
|
+
<file leaf-file-name="remexify_writer.rb" pinned="false" current="false" current-in-tab="false">
|
|
110
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify/remexify_writer.rb">
|
|
151
111
|
<provider selected="true" editor-type-id="text-editor">
|
|
152
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="
|
|
153
|
-
<caret line="
|
|
154
|
-
<folding
|
|
112
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="465">
|
|
113
|
+
<caret line="6" column="50" selection-start-line="6" selection-start-column="50" selection-end-line="6" selection-end-column="50" />
|
|
114
|
+
<folding>
|
|
115
|
+
<element signature="e#175#4803#0" expanded="false" />
|
|
116
|
+
</folding>
|
|
155
117
|
</state>
|
|
156
118
|
</provider>
|
|
157
119
|
</entry>
|
|
@@ -172,26 +134,26 @@
|
|
|
172
134
|
<option value="$PROJECT_DIR$/lib/generators/active_record/templates/remexify_log.rb" />
|
|
173
135
|
<option value="$PROJECT_DIR$/lib/generators/active_record/remexify_generator.rb" />
|
|
174
136
|
<option value="$PROJECT_DIR$/lib/generators/templates/remexify_log.rb" />
|
|
175
|
-
<option value="$PROJECT_DIR$/lib/generators/remexify_generator.rb" />
|
|
176
137
|
<option value="$PROJECT_DIR$/lib/remexify/runtime_error.rb" />
|
|
177
138
|
<option value="$PROJECT_DIR$/lib/remexify/standard_error.rb" />
|
|
178
139
|
<option value="$PROJECT_DIR$/lib/generators/templates/initialize_remexify.rb" />
|
|
179
140
|
<option value="$PROJECT_DIR$/lib/remexify/displayable_error.rb" />
|
|
141
|
+
<option value="$PROJECT_DIR$/lib/remexify/remexify_retriever.rb" />
|
|
180
142
|
<option value="$PROJECT_DIR$/lib/generators/templates/create_remexify_lognotes.rb" />
|
|
143
|
+
<option value="$PROJECT_DIR$/lib/remexify/version.rb" />
|
|
144
|
+
<option value="$PROJECT_DIR$/remexify.gemspec" />
|
|
145
|
+
<option value="$PROJECT_DIR$/lib/generators/remexify_generator.rb" />
|
|
181
146
|
<option value="$PROJECT_DIR$/lib/remexify.rb" />
|
|
182
147
|
<option value="$PROJECT_DIR$/lib/remexify/remexify_writer.rb" />
|
|
183
|
-
<option value="$PROJECT_DIR$/lib/remexify/remexify_retriever.rb" />
|
|
184
|
-
<option value="$PROJECT_DIR$/lib/remexify/version.rb" />
|
|
185
148
|
<option value="$PROJECT_DIR$/README.md" />
|
|
186
|
-
<option value="$PROJECT_DIR$/remexify.gemspec" />
|
|
187
149
|
</list>
|
|
188
150
|
</option>
|
|
189
151
|
</component>
|
|
190
152
|
<component name="ProjectFrameBounds">
|
|
191
|
-
<option name="x" value="
|
|
192
|
-
<option name="y" value="
|
|
193
|
-
<option name="width" value="
|
|
194
|
-
<option name="height" value="
|
|
153
|
+
<option name="x" value="164" />
|
|
154
|
+
<option name="y" value="38" />
|
|
155
|
+
<option name="width" value="1402" />
|
|
156
|
+
<option name="height" value="869" />
|
|
195
157
|
</component>
|
|
196
158
|
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
|
|
197
159
|
<OptionsSetting value="true" id="Add" />
|
|
@@ -219,6 +181,7 @@
|
|
|
219
181
|
<sortByType />
|
|
220
182
|
</navigator>
|
|
221
183
|
<panes>
|
|
184
|
+
<pane id="Scope" />
|
|
222
185
|
<pane id="ProjectPane">
|
|
223
186
|
<subPane>
|
|
224
187
|
<PATH>
|
|
@@ -285,12 +248,12 @@
|
|
|
285
248
|
</PATH>
|
|
286
249
|
</subPane>
|
|
287
250
|
</pane>
|
|
288
|
-
<pane id="Scope" />
|
|
289
251
|
</panes>
|
|
290
252
|
</component>
|
|
291
253
|
<component name="PropertiesComponent">
|
|
292
254
|
<property name="WebServerToolWindowFactoryState" value="false" />
|
|
293
|
-
<property name="SearchEverywhereHistoryKey" value="gemspe	FILE	file:///Users/works/Documents/OF/RUBY-211/remexify/remexify.gemspec version	FILE	file:///Users/works/Documents/OF/RUBY-211/remexify/lib/remexify/version.rb" />
|
|
255
|
+
<property name="SearchEverywhereHistoryKey" value="gemsp	FILE	file:///Users/works/Documents/OF/RUBY-211/remexify/remexify.gemspec gemspe	FILE	file:///Users/works/Documents/OF/RUBY-211/remexify/remexify.gemspec gem	FILE	file:///Users/works/Documents/OF/RUBY-211/remexify/remexify.gemspec version	FILE	file:///Users/works/Documents/OF/RUBY-211/remexify/lib/remexify/version.rb" />
|
|
256
|
+
<property name="FullScreen" value="false" />
|
|
294
257
|
</component>
|
|
295
258
|
<component name="RecentsManager">
|
|
296
259
|
<key name="MoveFile.RECENT_KEYS">
|
|
@@ -416,24 +379,24 @@
|
|
|
416
379
|
</todo-panel>
|
|
417
380
|
</component>
|
|
418
381
|
<component name="ToolWindowManager">
|
|
419
|
-
<frame x="
|
|
382
|
+
<frame x="164" y="38" width="1402" height="869" extended-state="0" />
|
|
420
383
|
<editor active="true" />
|
|
421
384
|
<layout>
|
|
422
385
|
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
|
423
|
-
<window_info id="
|
|
424
|
-
<window_info id="Terminal" active="false" anchor="top" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.24327785" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
|
425
|
-
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3290653" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
|
|
386
|
+
<window_info id="Terminal" active="false" anchor="top" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.19260204" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
|
426
387
|
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.17678382" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
|
427
|
-
<window_info id="
|
|
428
|
-
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.20174588" sideWeight="0.5" order="1" side_tool="false" content_ui="combo" />
|
|
388
|
+
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3380102" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
|
429
389
|
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
|
430
|
-
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" />
|
|
431
390
|
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
|
432
|
-
<window_info id="
|
|
391
|
+
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" />
|
|
433
392
|
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
|
393
|
+
<window_info id="Regex Tester" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32908162" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" />
|
|
394
|
+
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32780612" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
|
|
395
|
+
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
|
396
|
+
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.21102941" sideWeight="0.5" order="1" side_tool="false" content_ui="combo" />
|
|
397
|
+
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33716476" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
|
434
398
|
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
|
|
435
399
|
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
|
436
|
-
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3393086" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
|
437
400
|
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
|
438
401
|
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.2857143" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
|
439
402
|
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
|
@@ -461,11 +424,186 @@
|
|
|
461
424
|
<breakpoint-manager />
|
|
462
425
|
</component>
|
|
463
426
|
<component name="editorHistoryManager">
|
|
427
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify.rb">
|
|
428
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
429
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="375" max-vertical-offset="465">
|
|
430
|
+
<caret line="25" column="8" selection-start-line="25" selection-start-column="8" selection-end-line="25" selection-end-column="8" />
|
|
431
|
+
</state>
|
|
432
|
+
</provider>
|
|
433
|
+
</entry>
|
|
434
|
+
<entry file="file://$PROJECT_DIR$/lib/generators/templates/initialize_remexify.rb">
|
|
435
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
436
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="135">
|
|
437
|
+
<caret line="0" column="26" selection-start-line="0" selection-start-column="26" selection-end-line="0" selection-end-column="26" />
|
|
438
|
+
</state>
|
|
439
|
+
</provider>
|
|
440
|
+
</entry>
|
|
441
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify/remexify_retriever.rb">
|
|
442
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
443
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="492" max-vertical-offset="1080">
|
|
444
|
+
<caret line="41" column="32" selection-start-line="41" selection-start-column="32" selection-end-line="41" selection-end-column="32" />
|
|
445
|
+
</state>
|
|
446
|
+
</provider>
|
|
447
|
+
</entry>
|
|
448
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify/remexify_writer.rb">
|
|
449
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
450
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="1260" max-vertical-offset="1440">
|
|
451
|
+
<caret line="84" column="0" selection-start-line="84" selection-start-column="0" selection-end-line="84" selection-end-column="0" />
|
|
452
|
+
<folding>
|
|
453
|
+
<element signature="e#175#4803#0" expanded="false" />
|
|
454
|
+
</folding>
|
|
455
|
+
</state>
|
|
456
|
+
</provider>
|
|
457
|
+
</entry>
|
|
458
|
+
<entry file="file://$PROJECT_DIR$/README.md">
|
|
459
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
460
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="1711" max-vertical-offset="2250">
|
|
461
|
+
<caret line="133" column="20" selection-start-line="133" selection-start-column="20" selection-end-line="133" selection-end-column="20" />
|
|
462
|
+
</state>
|
|
463
|
+
</provider>
|
|
464
|
+
<provider editor-type-id="MarkdownPreviewEditor">
|
|
465
|
+
<state />
|
|
466
|
+
</provider>
|
|
467
|
+
</entry>
|
|
468
|
+
<entry file="file://$PROJECT_DIR$/lib/generators/templates/create_remexify_lognotes.rb">
|
|
469
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
470
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="270" max-vertical-offset="645">
|
|
471
|
+
<caret line="18" column="24" selection-start-line="18" selection-start-column="24" selection-end-line="18" selection-end-column="24" />
|
|
472
|
+
</state>
|
|
473
|
+
</provider>
|
|
474
|
+
</entry>
|
|
475
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify/version.rb">
|
|
476
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
477
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="15" max-vertical-offset="135">
|
|
478
|
+
<caret line="1" column="16" selection-start-line="1" selection-start-column="16" selection-end-line="1" selection-end-column="16" />
|
|
479
|
+
</state>
|
|
480
|
+
</provider>
|
|
481
|
+
</entry>
|
|
482
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify/runtime_error.rb">
|
|
483
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
484
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="30" max-vertical-offset="135">
|
|
485
|
+
<caret line="2" column="48" selection-start-line="2" selection-start-column="48" selection-end-line="2" selection-end-column="48" />
|
|
486
|
+
</state>
|
|
487
|
+
</provider>
|
|
488
|
+
</entry>
|
|
489
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify/displayable_error.rb">
|
|
490
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
491
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="15" max-vertical-offset="105">
|
|
492
|
+
<caret line="1" column="3" selection-start-line="1" selection-start-column="3" selection-end-line="1" selection-end-column="3" />
|
|
493
|
+
</state>
|
|
494
|
+
</provider>
|
|
495
|
+
</entry>
|
|
496
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify/standard_error.rb">
|
|
497
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
498
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="45" max-vertical-offset="135">
|
|
499
|
+
<caret line="3" column="3" selection-start-line="3" selection-start-column="3" selection-end-line="3" selection-end-column="3" />
|
|
500
|
+
<folding />
|
|
501
|
+
</state>
|
|
502
|
+
</provider>
|
|
503
|
+
</entry>
|
|
504
|
+
<entry file="file://$PROJECT_DIR$/remexify.gemspec">
|
|
505
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
506
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="195" max-vertical-offset="495">
|
|
507
|
+
<caret line="13" column="46" selection-start-line="13" selection-start-column="46" selection-end-line="13" selection-end-column="46" />
|
|
508
|
+
</state>
|
|
509
|
+
</provider>
|
|
510
|
+
</entry>
|
|
511
|
+
<entry file="file://$PROJECT_DIR$/lib/generators/remexify_generator.rb">
|
|
512
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
513
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="345" max-vertical-offset="570">
|
|
514
|
+
<caret line="23" column="62" selection-start-line="23" selection-start-column="62" selection-end-line="23" selection-end-column="62" />
|
|
515
|
+
<folding />
|
|
516
|
+
</state>
|
|
517
|
+
</provider>
|
|
518
|
+
</entry>
|
|
519
|
+
<entry file="file://$PROJECT_DIR$/.gitignore">
|
|
520
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
521
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="330" max-vertical-offset="420">
|
|
522
|
+
<caret line="22" column="10" selection-start-line="22" selection-start-column="10" selection-end-line="22" selection-end-column="10" />
|
|
523
|
+
</state>
|
|
524
|
+
</provider>
|
|
525
|
+
</entry>
|
|
526
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify.rb">
|
|
527
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
528
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="345" max-vertical-offset="435">
|
|
529
|
+
<caret line="23" column="34" selection-start-line="23" selection-start-column="34" selection-end-line="23" selection-end-column="34" />
|
|
530
|
+
</state>
|
|
531
|
+
</provider>
|
|
532
|
+
</entry>
|
|
533
|
+
<entry file="file://$PROJECT_DIR$/lib/generators/templates/initialize_remexify.rb">
|
|
534
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
535
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="45" max-vertical-offset="135">
|
|
536
|
+
<caret line="3" column="0" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" />
|
|
537
|
+
</state>
|
|
538
|
+
</provider>
|
|
539
|
+
</entry>
|
|
540
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify/remexify_retriever.rb">
|
|
541
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
542
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="315" max-vertical-offset="525">
|
|
543
|
+
<caret line="21" column="7" selection-start-line="21" selection-start-column="7" selection-end-line="21" selection-end-column="7" />
|
|
544
|
+
</state>
|
|
545
|
+
</provider>
|
|
546
|
+
</entry>
|
|
547
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify/remexify_writer.rb">
|
|
548
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
549
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="158" max-vertical-offset="1260">
|
|
550
|
+
<caret line="26" column="51" selection-start-line="26" selection-start-column="51" selection-end-line="26" selection-end-column="51" />
|
|
551
|
+
<folding>
|
|
552
|
+
<element signature="e#175#4803#0" expanded="false" />
|
|
553
|
+
</folding>
|
|
554
|
+
</state>
|
|
555
|
+
</provider>
|
|
556
|
+
</entry>
|
|
557
|
+
<entry file="file://$PROJECT_DIR$/README.md">
|
|
558
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
559
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="615" max-vertical-offset="2145">
|
|
560
|
+
<caret line="64" column="15" selection-start-line="64" selection-start-column="15" selection-end-line="64" selection-end-column="15" />
|
|
561
|
+
</state>
|
|
562
|
+
</provider>
|
|
563
|
+
<provider editor-type-id="MarkdownPreviewEditor">
|
|
564
|
+
<state />
|
|
565
|
+
</provider>
|
|
566
|
+
</entry>
|
|
567
|
+
<entry file="file://$PROJECT_DIR$/lib/generators/templates/create_remexify_lognotes.rb">
|
|
568
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
569
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="270" max-vertical-offset="645">
|
|
570
|
+
<caret line="18" column="24" selection-start-line="18" selection-start-column="24" selection-end-line="18" selection-end-column="24" />
|
|
571
|
+
</state>
|
|
572
|
+
</provider>
|
|
573
|
+
</entry>
|
|
574
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify/version.rb">
|
|
575
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
576
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="135">
|
|
577
|
+
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
|
578
|
+
</state>
|
|
579
|
+
</provider>
|
|
580
|
+
</entry>
|
|
581
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify/runtime_error.rb">
|
|
582
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
583
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="30" max-vertical-offset="135">
|
|
584
|
+
<caret line="2" column="48" selection-start-line="2" selection-start-column="48" selection-end-line="2" selection-end-column="48" />
|
|
585
|
+
</state>
|
|
586
|
+
</provider>
|
|
587
|
+
</entry>
|
|
588
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify/displayable_error.rb">
|
|
589
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
590
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="15" max-vertical-offset="105">
|
|
591
|
+
<caret line="1" column="3" selection-start-line="1" selection-start-column="3" selection-end-line="1" selection-end-column="3" />
|
|
592
|
+
</state>
|
|
593
|
+
</provider>
|
|
594
|
+
</entry>
|
|
595
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify/standard_error.rb">
|
|
596
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
597
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="45" max-vertical-offset="135">
|
|
598
|
+
<caret line="3" column="3" selection-start-line="3" selection-start-column="3" selection-end-line="3" selection-end-column="3" />
|
|
599
|
+
<folding />
|
|
600
|
+
</state>
|
|
601
|
+
</provider>
|
|
602
|
+
</entry>
|
|
464
603
|
<entry file="file://$PROJECT_DIR$/remexify.gemspec">
|
|
465
604
|
<provider selected="true" editor-type-id="text-editor">
|
|
466
605
|
<state vertical-scroll-proportion="0.0" vertical-offset="345" max-vertical-offset="465">
|
|
467
606
|
<caret line="23" column="63" selection-start-line="23" selection-start-column="63" selection-end-line="23" selection-end-column="63" />
|
|
468
|
-
<folding />
|
|
469
607
|
</state>
|
|
470
608
|
</provider>
|
|
471
609
|
</entry>
|
|
@@ -481,7 +619,6 @@
|
|
|
481
619
|
<provider selected="true" editor-type-id="text-editor">
|
|
482
620
|
<state vertical-scroll-proportion="0.0" vertical-offset="45" max-vertical-offset="1275">
|
|
483
621
|
<caret line="3" column="31" selection-start-line="3" selection-start-column="31" selection-end-line="3" selection-end-column="31" />
|
|
484
|
-
<folding />
|
|
485
622
|
</state>
|
|
486
623
|
</provider>
|
|
487
624
|
</entry>
|
|
@@ -489,7 +626,6 @@
|
|
|
489
626
|
<provider selected="true" editor-type-id="text-editor">
|
|
490
627
|
<state vertical-scroll-proportion="0.0" vertical-offset="15" max-vertical-offset="135">
|
|
491
628
|
<caret line="1" column="19" selection-start-line="1" selection-start-column="19" selection-end-line="1" selection-end-column="19" />
|
|
492
|
-
<folding />
|
|
493
629
|
</state>
|
|
494
630
|
</provider>
|
|
495
631
|
</entry>
|
|
@@ -505,54 +641,55 @@
|
|
|
505
641
|
<provider selected="true" editor-type-id="text-editor">
|
|
506
642
|
<state vertical-scroll-proportion="0.0" vertical-offset="30" max-vertical-offset="135">
|
|
507
643
|
<caret line="2" column="48" selection-start-line="2" selection-start-column="48" selection-end-line="2" selection-end-column="48" />
|
|
508
|
-
<folding />
|
|
509
644
|
</state>
|
|
510
645
|
</provider>
|
|
511
646
|
</entry>
|
|
512
|
-
<entry file="file://$PROJECT_DIR
|
|
647
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify/runtime_error.rb">
|
|
513
648
|
<provider selected="true" editor-type-id="text-editor">
|
|
514
|
-
<state vertical-scroll-proportion="0.
|
|
515
|
-
<caret line="
|
|
516
|
-
<folding />
|
|
649
|
+
<state vertical-scroll-proportion="0.05319149" vertical-offset="0" max-vertical-offset="564">
|
|
650
|
+
<caret line="2" column="48" selection-start-line="2" selection-start-column="48" selection-end-line="2" selection-end-column="48" />
|
|
517
651
|
</state>
|
|
518
652
|
</provider>
|
|
519
653
|
</entry>
|
|
520
|
-
<entry file="file://$PROJECT_DIR$/
|
|
654
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify/version.rb">
|
|
521
655
|
<provider selected="true" editor-type-id="text-editor">
|
|
522
|
-
<state vertical-scroll-proportion="0.
|
|
523
|
-
<caret line="
|
|
524
|
-
<folding />
|
|
656
|
+
<state vertical-scroll-proportion="0.05319149" vertical-offset="0" max-vertical-offset="564">
|
|
657
|
+
<caret line="2" column="3" selection-start-line="2" selection-start-column="3" selection-end-line="2" selection-end-column="3" />
|
|
525
658
|
</state>
|
|
526
659
|
</provider>
|
|
527
660
|
</entry>
|
|
528
|
-
<entry file="file://$PROJECT_DIR
|
|
661
|
+
<entry file="file://$PROJECT_DIR$/.gitignore">
|
|
529
662
|
<provider selected="true" editor-type-id="text-editor">
|
|
530
|
-
<state vertical-scroll-proportion="0.
|
|
531
|
-
<caret line="
|
|
532
|
-
<folding />
|
|
663
|
+
<state vertical-scroll-proportion="0.5851064" vertical-offset="0" max-vertical-offset="564">
|
|
664
|
+
<caret line="22" column="10" selection-start-line="22" selection-start-column="10" selection-end-line="22" selection-end-column="10" />
|
|
533
665
|
</state>
|
|
534
666
|
</provider>
|
|
535
667
|
</entry>
|
|
536
|
-
<entry file="file://$
|
|
668
|
+
<entry file="file://$USER_HOME$/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/activerecord-3.2.19/lib/active_record/connection_adapters/abstract/database_statements.rb">
|
|
537
669
|
<provider selected="true" editor-type-id="text-editor">
|
|
538
|
-
<state vertical-scroll-proportion="0.
|
|
539
|
-
<caret line="
|
|
540
|
-
<folding />
|
|
670
|
+
<state vertical-scroll-proportion="0.3321234" vertical-offset="3522" max-vertical-offset="5940">
|
|
671
|
+
<caret line="247" column="10" selection-start-line="247" selection-start-column="10" selection-end-line="247" selection-end-column="10" />
|
|
541
672
|
</state>
|
|
542
673
|
</provider>
|
|
543
674
|
</entry>
|
|
544
|
-
<entry file="file://$
|
|
675
|
+
<entry file="file://$USER_HOME$/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/activerecord-3.2.19/lib/active_record/connection_adapters/sqlite_adapter.rb">
|
|
545
676
|
<provider selected="true" editor-type-id="text-editor">
|
|
546
|
-
<state vertical-scroll-proportion="0.
|
|
547
|
-
<caret line="
|
|
548
|
-
<folding />
|
|
677
|
+
<state vertical-scroll-proportion="0.3321234" vertical-offset="4497" max-vertical-offset="8835">
|
|
678
|
+
<caret line="312" column="10" selection-start-line="312" selection-start-column="10" selection-end-line="312" selection-end-column="10" />
|
|
549
679
|
</state>
|
|
550
680
|
</provider>
|
|
551
681
|
</entry>
|
|
552
|
-
<entry file="file://$
|
|
682
|
+
<entry file="file://$USER_HOME$/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/activerecord-3.2.19/lib/active_record/connection_adapters/mysql_adapter.rb">
|
|
553
683
|
<provider selected="true" editor-type-id="text-editor">
|
|
554
|
-
<state vertical-scroll-proportion="0.
|
|
555
|
-
<caret line="
|
|
684
|
+
<state vertical-scroll-proportion="0.3321234" vertical-offset="5007" max-vertical-offset="6705">
|
|
685
|
+
<caret line="346" column="10" selection-start-line="346" selection-start-column="10" selection-end-line="346" selection-end-column="10" />
|
|
686
|
+
</state>
|
|
687
|
+
</provider>
|
|
688
|
+
</entry>
|
|
689
|
+
<entry file="file://$USER_HOME$/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/activerecord-3.2.19/lib/active_record/connection_adapters/postgresql_adapter.rb">
|
|
690
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
691
|
+
<state vertical-scroll-proportion="1.5027224" vertical-offset="9627" max-vertical-offset="19935">
|
|
692
|
+
<caret line="697" column="10" selection-start-line="697" selection-start-column="10" selection-end-line="697" selection-end-column="10" />
|
|
556
693
|
<folding />
|
|
557
694
|
</state>
|
|
558
695
|
</provider>
|
|
@@ -565,65 +702,128 @@
|
|
|
565
702
|
</state>
|
|
566
703
|
</provider>
|
|
567
704
|
</entry>
|
|
568
|
-
<entry file="file://$PROJECT_DIR$/
|
|
705
|
+
<entry file="file://$PROJECT_DIR$/remexify.gemspec">
|
|
569
706
|
<provider selected="true" editor-type-id="text-editor">
|
|
570
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="
|
|
571
|
-
<caret line="
|
|
707
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="510">
|
|
708
|
+
<caret line="21" column="23" selection-start-line="21" selection-start-column="23" selection-end-line="21" selection-end-column="23" />
|
|
572
709
|
<folding />
|
|
573
710
|
</state>
|
|
574
711
|
</provider>
|
|
575
712
|
</entry>
|
|
713
|
+
<entry file="file://$USER_HOME$/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/railties-3.2.19/lib/rails/generators/base.rb">
|
|
714
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
715
|
+
<state vertical-scroll-proportion="-0.7960199" vertical-offset="480" max-vertical-offset="5940">
|
|
716
|
+
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
|
717
|
+
</state>
|
|
718
|
+
</provider>
|
|
719
|
+
</entry>
|
|
720
|
+
<entry file="file://$APPLICATION_HOME_DIR$/rubystubs21/module.rb">
|
|
721
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
722
|
+
<state vertical-scroll-proportion="0.33333334" vertical-offset="2019" max-vertical-offset="18720">
|
|
723
|
+
<caret line="148" column="8" selection-start-line="148" selection-start-column="8" selection-end-line="148" selection-end-column="8" />
|
|
724
|
+
</state>
|
|
725
|
+
</provider>
|
|
726
|
+
</entry>
|
|
727
|
+
<entry file="file://$USER_HOME$/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/railties-3.2.19/lib/rails/generators.rb">
|
|
728
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
729
|
+
<state vertical-scroll-proportion="0.37313432" vertical-offset="0" max-vertical-offset="5175">
|
|
730
|
+
<caret line="15" column="5" selection-start-line="15" selection-start-column="5" selection-end-line="15" selection-end-column="5" />
|
|
731
|
+
</state>
|
|
732
|
+
</provider>
|
|
733
|
+
</entry>
|
|
734
|
+
<entry file="file://$USER_HOME$/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/railties-4.1.5/lib/rails/generators/named_base.rb">
|
|
735
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
736
|
+
<state vertical-scroll-proportion="0.14925373" vertical-offset="0" max-vertical-offset="3165">
|
|
737
|
+
<caret line="6" column="10" selection-start-line="6" selection-start-column="10" selection-end-line="6" selection-end-column="10" />
|
|
738
|
+
</state>
|
|
739
|
+
</provider>
|
|
740
|
+
</entry>
|
|
576
741
|
<entry file="file://$PROJECT_DIR$/lib/generators/templates/initialize_remexify.rb">
|
|
577
742
|
<provider selected="true" editor-type-id="text-editor">
|
|
578
|
-
<state vertical-scroll-proportion="0.
|
|
743
|
+
<state vertical-scroll-proportion="0.07438017" vertical-offset="0" max-vertical-offset="605">
|
|
579
744
|
<caret line="3" column="0" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="0" />
|
|
745
|
+
</state>
|
|
746
|
+
</provider>
|
|
747
|
+
</entry>
|
|
748
|
+
<entry file="file://$PROJECT_DIR$/lib/generators/templates/create_remexify_lognotes.rb">
|
|
749
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
750
|
+
<state vertical-scroll-proportion="0.23140496" vertical-offset="40" max-vertical-offset="645">
|
|
751
|
+
<caret line="12" column="0" selection-start-line="12" selection-start-column="0" selection-end-line="12" selection-end-column="0" />
|
|
752
|
+
</state>
|
|
753
|
+
</provider>
|
|
754
|
+
</entry>
|
|
755
|
+
<entry file="file://$PROJECT_DIR$/lib/generators/remexify_generator.rb">
|
|
756
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
757
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="570">
|
|
758
|
+
<caret line="24" column="50" selection-start-line="24" selection-start-column="50" selection-end-line="24" selection-end-column="51" />
|
|
580
759
|
<folding />
|
|
581
760
|
</state>
|
|
582
761
|
</provider>
|
|
583
762
|
</entry>
|
|
584
|
-
<entry file="file://$PROJECT_DIR$/
|
|
763
|
+
<entry file="file://$PROJECT_DIR$/Gemfile">
|
|
585
764
|
<provider selected="true" editor-type-id="text-editor">
|
|
586
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="
|
|
587
|
-
<caret line="
|
|
765
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="150">
|
|
766
|
+
<caret line="4" column="0" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
|
|
588
767
|
<folding />
|
|
589
768
|
</state>
|
|
590
769
|
</provider>
|
|
591
770
|
</entry>
|
|
592
|
-
<entry file="file://$PROJECT_DIR$/lib/remexify/
|
|
771
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify/displayable_error.rb">
|
|
593
772
|
<provider selected="true" editor-type-id="text-editor">
|
|
594
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
|
595
|
-
<caret line="
|
|
773
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="105">
|
|
774
|
+
<caret line="1" column="3" selection-start-line="1" selection-start-column="3" selection-end-line="1" selection-end-column="3" />
|
|
596
775
|
<folding />
|
|
597
776
|
</state>
|
|
598
777
|
</provider>
|
|
599
778
|
</entry>
|
|
600
|
-
<entry file="file://$PROJECT_DIR$/lib/
|
|
779
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify/remexify_retriever.rb">
|
|
601
780
|
<provider selected="true" editor-type-id="text-editor">
|
|
602
|
-
<state vertical-scroll-proportion="0.0" vertical-offset="
|
|
603
|
-
<caret line="
|
|
781
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="165" max-vertical-offset="1080">
|
|
782
|
+
<caret line="13" column="6" selection-start-line="13" selection-start-column="6" selection-end-line="13" selection-end-column="6" />
|
|
604
783
|
<folding />
|
|
605
784
|
</state>
|
|
606
785
|
</provider>
|
|
607
786
|
</entry>
|
|
608
|
-
<entry file="file://$PROJECT_DIR$/
|
|
787
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify.rb">
|
|
609
788
|
<provider selected="true" editor-type-id="text-editor">
|
|
610
|
-
<state vertical-scroll-proportion="
|
|
611
|
-
<caret line="
|
|
789
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="465">
|
|
790
|
+
<caret line="25" column="31" selection-start-line="25" selection-start-column="31" selection-end-line="25" selection-end-column="31" />
|
|
612
791
|
<folding />
|
|
613
792
|
</state>
|
|
614
793
|
</provider>
|
|
615
|
-
|
|
616
|
-
|
|
794
|
+
</entry>
|
|
795
|
+
<entry file="file://$PROJECT_DIR$/lib/remexify/remexify_writer.rb">
|
|
796
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
797
|
+
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="465">
|
|
798
|
+
<caret line="6" column="50" selection-start-line="6" selection-start-column="50" selection-end-line="6" selection-end-column="50" />
|
|
799
|
+
<folding>
|
|
800
|
+
<element signature="e#175#4803#0" expanded="false" />
|
|
801
|
+
</folding>
|
|
802
|
+
</state>
|
|
617
803
|
</provider>
|
|
618
804
|
</entry>
|
|
619
|
-
<entry file="file://$PROJECT_DIR$/
|
|
805
|
+
<entry file="file://$PROJECT_DIR$/README.md">
|
|
620
806
|
<provider selected="true" editor-type-id="text-editor">
|
|
621
|
-
<state vertical-scroll-proportion="0.
|
|
622
|
-
<caret line="
|
|
807
|
+
<state vertical-scroll-proportion="0.86725664" vertical-offset="1685" max-vertical-offset="2265">
|
|
808
|
+
<caret line="145" column="40" selection-start-line="145" selection-start-column="40" selection-end-line="145" selection-end-column="40" />
|
|
623
809
|
<folding />
|
|
624
810
|
</state>
|
|
625
811
|
</provider>
|
|
812
|
+
<provider editor-type-id="MarkdownPreviewEditor">
|
|
813
|
+
<state />
|
|
814
|
+
</provider>
|
|
626
815
|
</entry>
|
|
627
816
|
</component>
|
|
817
|
+
<component name="regexState">
|
|
818
|
+
<option name="map">
|
|
819
|
+
<map>
|
|
820
|
+
<entry key="flags" value="0" />
|
|
821
|
+
<entry key="mode" value="3" />
|
|
822
|
+
<entry key="regex" value=":0x[0-9a-fA-F]+" />
|
|
823
|
+
<entry key="replacement" value="" />
|
|
824
|
+
<entry key="text" value="undefined local variable or method `user' for #<#<Class:0x007f9492c00430>:0x007f9434ccab> and add #<#<#<Class:0x007f9492c00430>:0x007f9492c00430>:0x007f9492c00430> whatever and #<Class:0x007f9492c00430>" />
|
|
825
|
+
</map>
|
|
826
|
+
</option>
|
|
827
|
+
</component>
|
|
628
828
|
</project>
|
|
629
829
|
|
data/README.md
CHANGED
|
@@ -62,7 +62,7 @@ In a rails app, you may invoke the `error()` like this:
|
|
|
62
62
|
raise e
|
|
63
63
|
end
|
|
64
64
|
|
|
65
|
-
Remexify have
|
|
65
|
+
Remexify have 4 static functions:
|
|
66
66
|
|
|
67
67
|
def write(level, obj, options = {}); end;
|
|
68
68
|
def info(obj, options = {}); end;
|
|
@@ -135,4 +135,12 @@ timestamps | N/A | timestamp of the error when it was created, and last updated.
|
|
|
135
135
|
4. Push to the branch (`git push origin my-new-feature`)
|
|
136
136
|
5. Create a new Pull Request
|
|
137
137
|
|
|
138
|
-
by Adam Pahlevi Baihaqi
|
|
138
|
+
by Adam Pahlevi Baihaqi
|
|
139
|
+
|
|
140
|
+
## History
|
|
141
|
+
|
|
142
|
+
- v.1.0.0 Initial version. Supporting PostgreSQL and Rails 3/4 to log info/error/warning/user-defined error level.
|
|
143
|
+
- v.1.1.0
|
|
144
|
+
- User can configure `censor_strings`, which would delete trace if its string contains one of the censored string.
|
|
145
|
+
- Adding the level options, which would allow retriever to retrieve `all`/`today` log of certain level.
|
|
146
|
+
- Increased accuracy: Error that occurred more than one time that involve unprintable object that have memory address, will have its memory address stripped only to display the class information.
|
|
@@ -1,19 +1,22 @@
|
|
|
1
|
+
require "singleton"
|
|
2
|
+
|
|
1
3
|
module Remexify
|
|
2
4
|
module Retrieve
|
|
3
5
|
class << self
|
|
4
6
|
def all(options = {})
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
logs = Remexify.config.model.all
|
|
8
|
+
logs = Remexify::Retrieve::Filter.instance.order logs, options
|
|
9
|
+
logs = Remexify::Retrieve::Filter.instance.level logs, options
|
|
10
|
+
|
|
11
|
+
logs.to_a
|
|
9
12
|
end
|
|
10
13
|
|
|
11
14
|
def today(options = {})
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
logs = Remexify.config.model.where(created_at: Time.now.beginning_of_day..Time.now.end_of_day).all
|
|
16
|
+
logs = Remexify::Retrieve::Filter.instance.order logs, options
|
|
17
|
+
logs = Remexify::Retrieve::Filter.instance.level logs, options
|
|
18
|
+
|
|
19
|
+
logs.to_a
|
|
17
20
|
end
|
|
18
21
|
|
|
19
22
|
def where_fingerprint_is(fingerprint)
|
|
@@ -22,6 +25,40 @@ module Remexify
|
|
|
22
25
|
end
|
|
23
26
|
end
|
|
24
27
|
|
|
28
|
+
class Remexify::Retrieve::Filter
|
|
29
|
+
include Singleton
|
|
30
|
+
|
|
31
|
+
def order(obj, options)
|
|
32
|
+
if options[:order]
|
|
33
|
+
obj = obj.order(options[:order])
|
|
34
|
+
end
|
|
35
|
+
obj
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def level(obj, options)
|
|
39
|
+
lvl_option = options[:level]
|
|
40
|
+
if lvl_option
|
|
41
|
+
lvl = lvl_option.gsub(/[^0-9]/, "")
|
|
42
|
+
raise "Level must all be a number" if (lvl =~ /^[0-9]+$/).nil?
|
|
43
|
+
|
|
44
|
+
if lvl_option =~ />=/
|
|
45
|
+
obj = obj.where("level >= ?", lvl)
|
|
46
|
+
elsif lvl_option =~ /<=/
|
|
47
|
+
obj = obj.where("level <= ?", lvl)
|
|
48
|
+
elsif lvl_option =~ />/
|
|
49
|
+
obj = obj.where("level > ?", lvl)
|
|
50
|
+
elsif lvl_option =~ /</
|
|
51
|
+
obj = obj.where("level < ?", lvl)
|
|
52
|
+
elsif lvl_option =~ /=/
|
|
53
|
+
obj = obj.where("level = ?", lvl)
|
|
54
|
+
else
|
|
55
|
+
raise "Unknown operator for level"
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
obj
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
25
62
|
class << self
|
|
26
63
|
def delete_all_logs
|
|
27
64
|
Remexify.config.model.delete_all
|
|
@@ -1,20 +1,30 @@
|
|
|
1
|
+
$cached_error = []
|
|
2
|
+
|
|
1
3
|
module Remexify
|
|
2
4
|
class << self
|
|
3
5
|
# options = class, method, line, file, params/param/parameters, desc/description
|
|
4
|
-
|
|
5
|
-
|
|
6
|
+
# extract_params_from, object
|
|
7
|
+
def write(level, message_object, options = {})
|
|
8
|
+
if (message_object.is_a?(StandardError) || message_object.is_a?(RuntimeError)) && message_object.already_logged
|
|
6
9
|
return
|
|
7
10
|
end
|
|
8
11
|
|
|
9
12
|
message = "message is nil"
|
|
10
13
|
backtrace = "backtrace is nil"
|
|
11
14
|
|
|
12
|
-
if
|
|
13
|
-
message =
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
if message_object.class <= Exception
|
|
16
|
+
message = message_object.message
|
|
17
|
+
# censor some text
|
|
18
|
+
backtrace = message_object.backtrace.clone
|
|
19
|
+
if Remexify.config.censor_strings.is_a?(Array)
|
|
20
|
+
Remexify.config.censor_strings.each do |str|
|
|
21
|
+
backtrace.reject! { |b| !((b =~ /#{str}/i).nil?) }
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
backtrace = backtrace.join("\n")
|
|
25
|
+
elsif message_object.class <= String
|
|
26
|
+
message = message_object
|
|
27
|
+
backtrace = ""
|
|
18
28
|
end
|
|
19
29
|
|
|
20
30
|
# standardize into options[:parameters]
|
|
@@ -23,6 +33,30 @@ module Remexify
|
|
|
23
33
|
options[:parameters] = options[:parameter] if options[:parameter]
|
|
24
34
|
options[:parameters] ||= ""
|
|
25
35
|
|
|
36
|
+
# will override the options[:parameters] if this block execute successfully
|
|
37
|
+
if options[:extract_params_from]
|
|
38
|
+
ar_message_objectect = options[:extract_params_from]
|
|
39
|
+
if ar_message_objectect.class < ActiveRecord::Base
|
|
40
|
+
if ar_message_objectect.respond_to?(:attribute_names) && ar_message_objectect.respond_to?(:read_attribute)
|
|
41
|
+
ar_attributes = ar_message_objectect.attribute_names
|
|
42
|
+
attributes = {}
|
|
43
|
+
ar_attributes.each do |attr|
|
|
44
|
+
attributes[attr.to_s] = ar_message_objectect.read_attribute attr.to_sym
|
|
45
|
+
end
|
|
46
|
+
options[:parameters] = attributes
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# if object is given
|
|
52
|
+
if options[:object]
|
|
53
|
+
# and is an active record
|
|
54
|
+
if options[:object].class < ActiveRecord::Base
|
|
55
|
+
# append to message
|
|
56
|
+
message << "\n\nActiveRecord error messages:\n" << options[:object].errors.full_messages.join("\n")
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
26
60
|
# standardize into options[:description]
|
|
27
61
|
options[:description] = options[:desc] if options[:desc]
|
|
28
62
|
options[:description] ||= ""
|
|
@@ -32,6 +66,9 @@ module Remexify
|
|
|
32
66
|
class_name = Time.now.strftime("%Y%m%d") if class_name.blank?
|
|
33
67
|
|
|
34
68
|
# generate hash
|
|
69
|
+
# strip hex from class in order to increase accuracy of logged error, if any;
|
|
70
|
+
# so: #<#<Class:0x007f9492c00430>:0x007f9434ccab> will just be #<#<Class>>
|
|
71
|
+
message = message.gsub(/:0x[0-9a-fA-F]+/i, "")
|
|
35
72
|
hashed = "#{message}#{class_name}"
|
|
36
73
|
md5 = Digest::MD5.hexdigest hashed
|
|
37
74
|
|
|
@@ -41,38 +78,55 @@ module Remexify
|
|
|
41
78
|
log.frequency += 1
|
|
42
79
|
log.save
|
|
43
80
|
else
|
|
44
|
-
config.model.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
81
|
+
md5 = config.model.connection.quote md5
|
|
82
|
+
message = config.model.connection.quote message
|
|
83
|
+
backtrace = backtrace.blank? ? "null" : config.model.connection.quote(backtrace)
|
|
84
|
+
class_name = config.model.connection.quote(class_name)
|
|
85
|
+
method = options[:method].blank? ? "null" : config.model.connection.quote(options[:method])
|
|
86
|
+
line = options[:line].blank? ? "null" : config.model.connection.quote(options[:line])
|
|
87
|
+
file = options[:file].blank? ? "null" : config.model.connection.quote(options[:file])
|
|
88
|
+
parameters = options[:parameters].blank? ? "null" : config.model.connection.quote(options[:parameters].inspect)
|
|
89
|
+
descriptions = options[:description].blank? ? "null" : config.model.connection.quote(options[:description])
|
|
90
|
+
time_now = config.model.connection.quote(Time.now.strftime("%Y-%m-%d %H:%M:%S"))
|
|
91
|
+
|
|
92
|
+
if config.model.connection.transaction_open?
|
|
93
|
+
config.model.connection.rollback_transaction
|
|
94
|
+
end
|
|
95
|
+
config.model.connection.begin_transaction
|
|
96
|
+
config.model.connection.execute <<-SQL
|
|
97
|
+
INSERT INTO #{config.model.table_name} (
|
|
98
|
+
md5, level, message, backtrace,
|
|
99
|
+
class_name, method_name, line, file_name,
|
|
100
|
+
parameters, description, created_at, updated_at)
|
|
101
|
+
VALUES (#{md5}, #{Integer level}, #{message}, #{backtrace}, #{class_name},
|
|
102
|
+
#{method}, #{line}, #{file}, #{parameters}, #{descriptions},
|
|
103
|
+
#{time_now}, #{time_now});
|
|
104
|
+
SQL
|
|
105
|
+
config.model.connection.commit_transaction
|
|
56
106
|
end
|
|
57
107
|
|
|
58
108
|
# mark already logged if DisplayableError
|
|
59
|
-
if
|
|
60
|
-
|
|
109
|
+
if message_object.is_a?(StandardError) || message_object.is_a?(DisplayableError)
|
|
110
|
+
message_object.already_logged = true
|
|
61
111
|
end
|
|
62
112
|
|
|
63
113
|
nil # don't return anything for logging!
|
|
64
114
|
end
|
|
65
115
|
|
|
66
|
-
def info(
|
|
67
|
-
write INFO,
|
|
116
|
+
def info(message_object, options = {})
|
|
117
|
+
write INFO, message_object, options
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
def warning(message_object, options = {})
|
|
121
|
+
write WARNING, message_object, options
|
|
68
122
|
end
|
|
69
123
|
|
|
70
|
-
def
|
|
71
|
-
write
|
|
124
|
+
def error(message_object, options = {})
|
|
125
|
+
write ERROR, message_object, options
|
|
72
126
|
end
|
|
73
127
|
|
|
74
|
-
def
|
|
75
|
-
write
|
|
128
|
+
def fatal(message_object, options = {})
|
|
129
|
+
write FATAL, message_object, options
|
|
76
130
|
end
|
|
77
131
|
end
|
|
78
132
|
|
data/lib/remexify/version.rb
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
module Remexify
|
|
2
|
-
VERSION = "1.
|
|
3
|
-
end
|
|
2
|
+
VERSION = "1.1.0"
|
|
3
|
+
end
|
data/lib/remexify.rb
CHANGED
data/remexify.gemspec
CHANGED
|
@@ -23,5 +23,6 @@ Gem::Specification.new do |spec|
|
|
|
23
23
|
spec.add_development_dependency "rake"
|
|
24
24
|
spec.add_development_dependency "railties", ">= 3.2.6", "< 5"
|
|
25
25
|
spec.add_development_dependency "rails", "~> 3"
|
|
26
|
-
spec.add_development_dependency "activesupport"
|
|
26
|
+
spec.add_development_dependency "activesupport", "~> 3.0"
|
|
27
|
+
spec.add_development_dependency "activerecord", "~> 3.0"
|
|
27
28
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: remexify
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Adam Pahlevi
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-
|
|
11
|
+
date: 2014-10-02 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -76,16 +76,30 @@ dependencies:
|
|
|
76
76
|
name: activesupport
|
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
|
78
78
|
requirements:
|
|
79
|
-
- - "
|
|
79
|
+
- - "~>"
|
|
80
80
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: '0'
|
|
81
|
+
version: '3.0'
|
|
82
82
|
type: :development
|
|
83
83
|
prerelease: false
|
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
|
85
85
|
requirements:
|
|
86
|
-
- - "
|
|
86
|
+
- - "~>"
|
|
87
87
|
- !ruby/object:Gem::Version
|
|
88
|
-
version: '0'
|
|
88
|
+
version: '3.0'
|
|
89
|
+
- !ruby/object:Gem::Dependency
|
|
90
|
+
name: activerecord
|
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
|
92
|
+
requirements:
|
|
93
|
+
- - "~>"
|
|
94
|
+
- !ruby/object:Gem::Version
|
|
95
|
+
version: '3.0'
|
|
96
|
+
type: :development
|
|
97
|
+
prerelease: false
|
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
99
|
+
requirements:
|
|
100
|
+
- - "~>"
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: '3.0'
|
|
89
103
|
description: A gem that make your system a log handler as well, by saving any error
|
|
90
104
|
to your database system
|
|
91
105
|
email:
|