surikat 0.2.3 → 0.2.4
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/workspace.xml +127 -67
- data/README.md +63 -63
- data/lib/surikat.rb +29 -2
- data/lib/surikat/session_manager.rb +0 -6
- data/lib/surikat/version.rb +1 -1
- data/surikat.gemspec +5 -5
- metadata +2 -90
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e7194b79492a3dc3f0ddfb1eab9f8c9df28a7e5f
|
|
4
|
+
data.tar.gz: 58a608261a1f0f878c82c53e0a50bf57eb3ee0a4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9007fdd4f64f21132b6af005d4cfcb304e83b8939d71a6ee1232633a84cda3701513461ff2fed983cc26dad4b1628b3ed77c3c51c5f875c7ceb0c330f5b9fcc8
|
|
7
|
+
data.tar.gz: afeaac0a5e2c5bf024d211a312cc77eec285b35f9f0e47b8a02f7e9c92fba3f300ba9f55bcc4db3baee21416464496e47b48511b63d268a89045940176855540
|
data/.idea/workspace.xml
CHANGED
|
@@ -3,14 +3,7 @@
|
|
|
3
3
|
<component name="ChangeListManager">
|
|
4
4
|
<list default="true" id="66400b9f-bfb7-48ab-a1ab-331b1d21e8c6" name="Default" comment="">
|
|
5
5
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
|
6
|
-
<change beforePath="$PROJECT_DIR$/
|
|
7
|
-
<change beforePath="$PROJECT_DIR$/exe/surikat" beforeDir="false" afterPath="$PROJECT_DIR$/exe/surikat" afterDir="false" />
|
|
8
|
-
<change beforePath="$PROJECT_DIR$/lib/surikat.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/surikat.rb" afterDir="false" />
|
|
9
|
-
<change beforePath="$PROJECT_DIR$/lib/surikat/base_model.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/surikat/base_model.rb" afterDir="false" />
|
|
10
|
-
<change beforePath="$PROJECT_DIR$/lib/surikat/templates/base_spec.rb.tmpl" beforeDir="false" afterPath="$PROJECT_DIR$/lib/surikat/templates/base_spec.rb.tmpl" afterDir="false" />
|
|
11
|
-
<change beforePath="$PROJECT_DIR$/lib/surikat/templates/console.tmpl" beforeDir="false" afterPath="$PROJECT_DIR$/lib/surikat/templates/console.tmpl" afterDir="false" />
|
|
12
|
-
<change beforePath="$PROJECT_DIR$/lib/surikat/version.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/surikat/version.rb" afterDir="false" />
|
|
13
|
-
<change beforePath="$PROJECT_DIR$/surikat-0.2.2.gem" beforeDir="false" afterPath="$PROJECT_DIR$/surikat-0.2.2.gem" afterDir="false" />
|
|
6
|
+
<change beforePath="$PROJECT_DIR$/surikat.gemspec" beforeDir="false" afterPath="$PROJECT_DIR$/surikat.gemspec" afterDir="false" />
|
|
14
7
|
</list>
|
|
15
8
|
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
|
16
9
|
<option name="TRACKING_ENABLED" value="true" />
|
|
@@ -24,8 +17,8 @@
|
|
|
24
17
|
<file leaf-file-name="TODO" pinned="true" current-in-tab="false">
|
|
25
18
|
<entry file="file://$PROJECT_DIR$/TODO">
|
|
26
19
|
<provider selected="true" editor-type-id="text-editor">
|
|
27
|
-
<state relative-caret-position="
|
|
28
|
-
<caret line="
|
|
20
|
+
<state relative-caret-position="476">
|
|
21
|
+
<caret line="28" column="74" selection-start-line="28" selection-start-column="74" selection-end-line="28" selection-end-column="74" />
|
|
29
22
|
</state>
|
|
30
23
|
</provider>
|
|
31
24
|
</entry>
|
|
@@ -34,14 +27,23 @@
|
|
|
34
27
|
<entry file="file://$PROJECT_DIR$/README.md">
|
|
35
28
|
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
|
36
29
|
<state split_layout="SPLIT">
|
|
37
|
-
<first_editor relative-caret-position="
|
|
38
|
-
<caret line="
|
|
30
|
+
<first_editor relative-caret-position="17">
|
|
31
|
+
<caret line="189" column="4" selection-start-line="189" selection-start-column="4" selection-end-line="189" selection-end-column="4" />
|
|
39
32
|
</first_editor>
|
|
40
33
|
<second_editor />
|
|
41
34
|
</state>
|
|
42
35
|
</provider>
|
|
43
36
|
</entry>
|
|
44
37
|
</file>
|
|
38
|
+
<file leaf-file-name="session_manager.rb" pinned="false" current-in-tab="false">
|
|
39
|
+
<entry file="file://$PROJECT_DIR$/lib/surikat/session_manager.rb">
|
|
40
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
41
|
+
<state relative-caret-position="459">
|
|
42
|
+
<caret line="27" column="7" selection-start-line="27" selection-start-column="7" selection-end-line="27" selection-end-column="7" />
|
|
43
|
+
</state>
|
|
44
|
+
</provider>
|
|
45
|
+
</entry>
|
|
46
|
+
</file>
|
|
45
47
|
<file leaf-file-name=".gitignore" pinned="false" current-in-tab="false">
|
|
46
48
|
<entry file="file://$PROJECT_DIR$/.gitignore">
|
|
47
49
|
<provider selected="true" editor-type-id="text-editor">
|
|
@@ -51,16 +53,16 @@
|
|
|
51
53
|
</provider>
|
|
52
54
|
</entry>
|
|
53
55
|
</file>
|
|
54
|
-
<file leaf-file-name="surikat.gemspec" pinned="false" current-in-tab="
|
|
56
|
+
<file leaf-file-name="surikat.gemspec" pinned="false" current-in-tab="true">
|
|
55
57
|
<entry file="file://$PROJECT_DIR$/surikat.gemspec">
|
|
56
58
|
<provider selected="true" editor-type-id="text-editor">
|
|
57
|
-
<state relative-caret-position="
|
|
58
|
-
<caret line="
|
|
59
|
+
<state relative-caret-position="578">
|
|
60
|
+
<caret line="39" column="2" selection-start-line="39" selection-start-column="2" selection-end-line="39" selection-end-column="2" />
|
|
59
61
|
</state>
|
|
60
62
|
</provider>
|
|
61
63
|
</entry>
|
|
62
64
|
</file>
|
|
63
|
-
<file leaf-file-name="version.rb" pinned="false" current-in-tab="
|
|
65
|
+
<file leaf-file-name="version.rb" pinned="false" current-in-tab="false">
|
|
64
66
|
<entry file="file://$PROJECT_DIR$/lib/surikat/version.rb">
|
|
65
67
|
<provider selected="true" editor-type-id="text-editor">
|
|
66
68
|
<state relative-caret-position="17">
|
|
@@ -72,8 +74,13 @@
|
|
|
72
74
|
<file leaf-file-name="surikat.rb" pinned="false" current-in-tab="false">
|
|
73
75
|
<entry file="file://$PROJECT_DIR$/lib/surikat.rb">
|
|
74
76
|
<provider selected="true" editor-type-id="text-editor">
|
|
75
|
-
<state relative-caret-position="
|
|
76
|
-
<caret line="
|
|
77
|
+
<state relative-caret-position="381">
|
|
78
|
+
<caret line="81" lean-forward="true" selection-start-line="81" selection-end-line="81" />
|
|
79
|
+
<folding>
|
|
80
|
+
<element signature="e#2343#9042#0" />
|
|
81
|
+
<element signature="e#9048#9302#0" />
|
|
82
|
+
<element signature="e#9308#10900#0" />
|
|
83
|
+
</folding>
|
|
77
84
|
</state>
|
|
78
85
|
</provider>
|
|
79
86
|
</entry>
|
|
@@ -94,9 +101,6 @@
|
|
|
94
101
|
</component>
|
|
95
102
|
<component name="FindInProjectRecents">
|
|
96
103
|
<findStrings>
|
|
97
|
-
<find>database.</find>
|
|
98
|
-
<find>yaml_config</find>
|
|
99
|
-
<find>.config</find>
|
|
100
104
|
<find>surikat_ses</find>
|
|
101
105
|
<find>app:</find>
|
|
102
106
|
<find>columns_new_</find>
|
|
@@ -124,6 +128,9 @@
|
|
|
124
128
|
<find>puts 71</find>
|
|
125
129
|
<find>puts 'eee</find>
|
|
126
130
|
<find>Author</find>
|
|
131
|
+
<find>puts</find>
|
|
132
|
+
<find>1</find>
|
|
133
|
+
<find>unknown</find>
|
|
127
134
|
</findStrings>
|
|
128
135
|
<replaceStrings>
|
|
129
136
|
<replace>@@routes</replace>
|
|
@@ -172,24 +179,24 @@
|
|
|
172
179
|
<option value="$PROJECT_DIR$/lib/surikat/templates/routes.yml.tmpl" />
|
|
173
180
|
<option value="$PROJECT_DIR$/lib/surikat/templates/application.yml.tmpl" />
|
|
174
181
|
<option value="$PROJECT_DIR$/lib/surikat/session.rb" />
|
|
175
|
-
<option value="$PROJECT_DIR$/lib/surikat/session_manager.rb" />
|
|
176
182
|
<option value="$PROJECT_DIR$/lib/surikat/scaffold.rb" />
|
|
177
183
|
<option value="$PROJECT_DIR$/lib/surikat/new_app.rb" />
|
|
178
184
|
<option value="$PROJECT_DIR$/lib/surikat/templates/test_helper.rb.tmpl" />
|
|
179
185
|
<option value="$PROJECT_DIR$/lib/surikat/templates/crud_queries.rb.tmpl" />
|
|
180
186
|
<option value="$PROJECT_DIR$/lib/surikat/templates/database.yml.tmpl" />
|
|
181
187
|
<option value="$PROJECT_DIR$/lib/surikat/templates/config.ru.tmpl" />
|
|
182
|
-
<option value="$PROJECT_DIR$/TODO" />
|
|
183
188
|
<option value="$PROJECT_DIR$/.gitignore" />
|
|
184
|
-
<option value="$PROJECT_DIR$/README.md" />
|
|
185
|
-
<option value="$PROJECT_DIR$/surikat.gemspec" />
|
|
186
189
|
<option value="$PROJECT_DIR$/bin/console" />
|
|
187
190
|
<option value="$PROJECT_DIR$/lib/surikat/templates/console.tmpl" />
|
|
188
191
|
<option value="$PROJECT_DIR$/exe/surikat" />
|
|
189
|
-
<option value="$PROJECT_DIR$/lib/surikat.rb" />
|
|
190
192
|
<option value="$PROJECT_DIR$/lib/surikat/base_model.rb" />
|
|
191
193
|
<option value="$PROJECT_DIR$/lib/surikat/templates/base_spec.rb.tmpl" />
|
|
194
|
+
<option value="$PROJECT_DIR$/lib/surikat/session_manager.rb" />
|
|
195
|
+
<option value="$PROJECT_DIR$/README.md" />
|
|
196
|
+
<option value="$PROJECT_DIR$/TODO" />
|
|
197
|
+
<option value="$PROJECT_DIR$/lib/surikat.rb" />
|
|
192
198
|
<option value="$PROJECT_DIR$/lib/surikat/version.rb" />
|
|
199
|
+
<option value="$PROJECT_DIR$/surikat.gemspec" />
|
|
193
200
|
</list>
|
|
194
201
|
</option>
|
|
195
202
|
</component>
|
|
@@ -264,7 +271,7 @@
|
|
|
264
271
|
</component>
|
|
265
272
|
<component name="PropertiesComponent">
|
|
266
273
|
<property name="RakeTaksPopup.undocumentedIncluded" value="false" />
|
|
267
|
-
<property name="SearchEverywhereHistoryKey" value="diagram	ACTION	ShowUmlDiagram highlight	ACTION	HighlightUsagesInFile list	null	null list_ty	FILE	file:///Users/alxx/.rvm/gems/ruby-2.4.1/gems/graphql-1.7.7/lib/graphql/list_type.rb generate_t	null	null generate_aaa	null	null exempl	null	null scaf	FILE	file:///Users/alxx/Projects/surikat/lib/surikat/scaffold.rb new_a	FILE	file:///Users/alxx/Projects/surikat/lib/surikat/new_app.rb scaff	FILE	file:///Users/alxx/Projects/surikat/lib/surikat/scaffold.rb" />
|
|
274
|
+
<property name="SearchEverywhereHistoryKey" value="session_ma	FILE	file:///Users/alxx/Projects/surikat/lib/surikat/session_manager.rb diagram	ACTION	ShowUmlDiagram highlight	ACTION	HighlightUsagesInFile list	null	null list_ty	FILE	file:///Users/alxx/.rvm/gems/ruby-2.4.1/gems/graphql-1.7.7/lib/graphql/list_type.rb generate_t	null	null generate_aaa	null	null exempl	null	null scaf	FILE	file:///Users/alxx/Projects/surikat/lib/surikat/scaffold.rb new_a	FILE	file:///Users/alxx/Projects/surikat/lib/surikat/new_app.rb scaff	FILE	file:///Users/alxx/Projects/surikat/lib/surikat/scaffold.rb" />
|
|
268
275
|
<property name="WebServerToolWindowFactoryState" value="false" />
|
|
269
276
|
<property name="nodejs_interpreter_path.stuck_in_default_project" value="/usr/local/bin/node" />
|
|
270
277
|
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
|
|
@@ -304,7 +311,8 @@
|
|
|
304
311
|
<workItem from="1526473553950" duration="20600000" />
|
|
305
312
|
<workItem from="1527061061177" duration="45000" />
|
|
306
313
|
<workItem from="1527080050867" duration="68864000" />
|
|
307
|
-
<workItem from="1527681663233" duration="
|
|
314
|
+
<workItem from="1527681663233" duration="14504000" />
|
|
315
|
+
<workItem from="1528216280645" duration="1564000" />
|
|
308
316
|
</task>
|
|
309
317
|
<task id="LOCAL-00001" summary="no gem">
|
|
310
318
|
<created>1527697580402</created>
|
|
@@ -362,11 +370,53 @@
|
|
|
362
370
|
<option name="project" value="LOCAL" />
|
|
363
371
|
<updated>1527705324011</updated>
|
|
364
372
|
</task>
|
|
365
|
-
<
|
|
373
|
+
<task id="LOCAL-00009" summary="fixed gem dependency issues and a scaffold templating issue">
|
|
374
|
+
<created>1527709554306</created>
|
|
375
|
+
<option name="number" value="00009" />
|
|
376
|
+
<option name="presentableId" value="LOCAL-00009" />
|
|
377
|
+
<option name="project" value="LOCAL" />
|
|
378
|
+
<updated>1527709554306</updated>
|
|
379
|
+
</task>
|
|
380
|
+
<task id="LOCAL-00010" summary="doc fix">
|
|
381
|
+
<created>1527709738220</created>
|
|
382
|
+
<option name="number" value="00010" />
|
|
383
|
+
<option name="presentableId" value="LOCAL-00010" />
|
|
384
|
+
<option name="project" value="LOCAL" />
|
|
385
|
+
<updated>1527709738220</updated>
|
|
386
|
+
</task>
|
|
387
|
+
<task id="LOCAL-00011" summary="doc fix">
|
|
388
|
+
<created>1527709744308</created>
|
|
389
|
+
<option name="number" value="00011" />
|
|
390
|
+
<option name="presentableId" value="LOCAL-00011" />
|
|
391
|
+
<option name="project" value="LOCAL" />
|
|
392
|
+
<updated>1527709744308</updated>
|
|
393
|
+
</task>
|
|
394
|
+
<task id="LOCAL-00012" summary="doc fix">
|
|
395
|
+
<created>1527709982180</created>
|
|
396
|
+
<option name="number" value="00012" />
|
|
397
|
+
<option name="presentableId" value="LOCAL-00012" />
|
|
398
|
+
<option name="project" value="LOCAL" />
|
|
399
|
+
<updated>1527709982180</updated>
|
|
400
|
+
</task>
|
|
401
|
+
<task id="LOCAL-00013" summary="fixed casting of custom types">
|
|
402
|
+
<created>1528217781986</created>
|
|
403
|
+
<option name="number" value="00013" />
|
|
404
|
+
<option name="presentableId" value="LOCAL-00013" />
|
|
405
|
+
<option name="project" value="LOCAL" />
|
|
406
|
+
<updated>1528217781986</updated>
|
|
407
|
+
</task>
|
|
408
|
+
<task id="LOCAL-00014" summary="increased version to 0.2.4">
|
|
409
|
+
<created>1528217824781</created>
|
|
410
|
+
<option name="number" value="00014" />
|
|
411
|
+
<option name="presentableId" value="LOCAL-00014" />
|
|
412
|
+
<option name="project" value="LOCAL" />
|
|
413
|
+
<updated>1528217824781</updated>
|
|
414
|
+
</task>
|
|
415
|
+
<option name="localTasksCounter" value="15" />
|
|
366
416
|
<servers />
|
|
367
417
|
</component>
|
|
368
418
|
<component name="TimeTrackingManager">
|
|
369
|
-
<option name="totallyTimeSpent" value="
|
|
419
|
+
<option name="totallyTimeSpent" value="129024000" />
|
|
370
420
|
</component>
|
|
371
421
|
<component name="TodoView">
|
|
372
422
|
<todo-panel id="selected-file">
|
|
@@ -388,10 +438,10 @@
|
|
|
388
438
|
<window_info anchor="bottom" id="Version Control" order="10" />
|
|
389
439
|
<window_info anchor="right" id="Mongo Explorer" order="3" />
|
|
390
440
|
<window_info anchor="bottom" id="Terminal" order="8" />
|
|
391
|
-
<window_info active="true" content_ui="combo" id="Project" order="0" sideWeight="0.
|
|
441
|
+
<window_info active="true" content_ui="combo" id="Project" order="0" sideWeight="0.49199572" visible="true" weight="0.2512182" />
|
|
392
442
|
<window_info anchor="right" id="Database" order="4" />
|
|
393
443
|
<window_info anchor="bottom" id="Find" order="1" weight="0.32977587" />
|
|
394
|
-
<window_info id="Structure" order="1" sideWeight="0.
|
|
444
|
+
<window_info id="Structure" order="1" sideWeight="0.50800425" side_tool="true" visible="true" weight="0.2512182" />
|
|
395
445
|
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
|
|
396
446
|
<window_info id="Favorites" order="2" side_tool="true" />
|
|
397
447
|
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
|
|
@@ -416,11 +466,15 @@
|
|
|
416
466
|
<MESSAGE value="fixed .gemspec" />
|
|
417
467
|
<MESSAGE value="runtime deps" />
|
|
418
468
|
<MESSAGE value="fixed issues with fresh project" />
|
|
419
|
-
<
|
|
469
|
+
<MESSAGE value="fixed gem dependency issues and a scaffold templating issue" />
|
|
470
|
+
<MESSAGE value="doc fix" />
|
|
471
|
+
<MESSAGE value="fixed casting of custom types" />
|
|
472
|
+
<MESSAGE value="increased version to 0.2.4" />
|
|
473
|
+
<option name="LAST_COMMIT_MESSAGE" value="increased version to 0.2.4" />
|
|
420
474
|
</component>
|
|
421
475
|
<component name="XDebuggerManager">
|
|
422
476
|
<breakpoint-manager>
|
|
423
|
-
<option name="time" value="
|
|
477
|
+
<option name="time" value="4" />
|
|
424
478
|
</breakpoint-manager>
|
|
425
479
|
</component>
|
|
426
480
|
<component name="editorHistoryManager">
|
|
@@ -573,13 +627,6 @@
|
|
|
573
627
|
</state>
|
|
574
628
|
</provider>
|
|
575
629
|
</entry>
|
|
576
|
-
<entry file="file://$PROJECT_DIR$/lib/surikat/session_manager.rb">
|
|
577
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
578
|
-
<state relative-caret-position="338">
|
|
579
|
-
<caret line="57" column="26" selection-start-line="57" selection-start-column="26" selection-end-line="57" selection-end-column="26" />
|
|
580
|
-
</state>
|
|
581
|
-
</provider>
|
|
582
|
-
</entry>
|
|
583
630
|
<entry file="file://$PROJECT_DIR$/lib/surikat/session.rb">
|
|
584
631
|
<provider selected="true" editor-type-id="text-editor">
|
|
585
632
|
<state relative-caret-position="306">
|
|
@@ -635,13 +682,6 @@
|
|
|
635
682
|
</state>
|
|
636
683
|
</provider>
|
|
637
684
|
</entry>
|
|
638
|
-
<entry file="file://$PROJECT_DIR$/TODO">
|
|
639
|
-
<provider selected="true" editor-type-id="text-editor">
|
|
640
|
-
<state relative-caret-position="34">
|
|
641
|
-
<caret line="2" column="22" selection-start-line="2" selection-start-column="22" selection-end-line="2" selection-end-column="22" />
|
|
642
|
-
</state>
|
|
643
|
-
</provider>
|
|
644
|
-
</entry>
|
|
645
685
|
<entry file="file://$PROJECT_DIR$/lib/surikat/templates/config.ru.tmpl">
|
|
646
686
|
<provider selected="true" editor-type-id="text-editor">
|
|
647
687
|
<state relative-caret-position="116">
|
|
@@ -656,16 +696,6 @@
|
|
|
656
696
|
</state>
|
|
657
697
|
</provider>
|
|
658
698
|
</entry>
|
|
659
|
-
<entry file="file://$PROJECT_DIR$/README.md">
|
|
660
|
-
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
|
661
|
-
<state split_layout="SPLIT">
|
|
662
|
-
<first_editor relative-caret-position="532">
|
|
663
|
-
<caret line="384" column="10" selection-start-line="384" selection-start-column="10" selection-end-line="384" selection-end-column="10" />
|
|
664
|
-
</first_editor>
|
|
665
|
-
<second_editor />
|
|
666
|
-
</state>
|
|
667
|
-
</provider>
|
|
668
|
-
</entry>
|
|
669
699
|
<entry file="file://$PROJECT_DIR$/lib/surikat/base_queries.rb">
|
|
670
700
|
<provider selected="true" editor-type-id="text-editor">
|
|
671
701
|
<state relative-caret-position="119">
|
|
@@ -1142,11 +1172,12 @@
|
|
|
1142
1172
|
<point x="0.0" y="14.5" />
|
|
1143
1173
|
</edge>
|
|
1144
1174
|
</edges>
|
|
1145
|
-
<settings layout="Hierarchic Group" zoom="0.8590062111801242" x="269.
|
|
1175
|
+
<settings layout="Hierarchic Group" zoom="0.8590062111801242" x="269.0" y="123.0" />
|
|
1146
1176
|
<SelectedNodes>
|
|
1147
1177
|
<node>activemodel</node>
|
|
1148
1178
|
</SelectedNodes>
|
|
1149
1179
|
<Categories />
|
|
1180
|
+
<SCOPE>All</SCOPE>
|
|
1150
1181
|
</state>
|
|
1151
1182
|
</provider>
|
|
1152
1183
|
</entry>
|
|
@@ -1178,20 +1209,42 @@
|
|
|
1178
1209
|
</state>
|
|
1179
1210
|
</provider>
|
|
1180
1211
|
</entry>
|
|
1181
|
-
<entry file="file://$PROJECT_DIR$/lib/surikat.rb">
|
|
1212
|
+
<entry file="file://$PROJECT_DIR$/lib/surikat/base_model.rb">
|
|
1213
|
+
<provider selected="true" editor-type-id="text-editor" />
|
|
1214
|
+
</entry>
|
|
1215
|
+
<entry file="file://$PROJECT_DIR$/lib/surikat/session_manager.rb">
|
|
1182
1216
|
<provider selected="true" editor-type-id="text-editor">
|
|
1183
|
-
<state relative-caret-position="
|
|
1184
|
-
<caret line="
|
|
1217
|
+
<state relative-caret-position="459">
|
|
1218
|
+
<caret line="27" column="7" selection-start-line="27" selection-start-column="7" selection-end-line="27" selection-end-column="7" />
|
|
1185
1219
|
</state>
|
|
1186
1220
|
</provider>
|
|
1187
1221
|
</entry>
|
|
1188
|
-
<entry file="file://$PROJECT_DIR$/
|
|
1189
|
-
<provider selected="true" editor-type-id="text-editor"
|
|
1222
|
+
<entry file="file://$PROJECT_DIR$/README.md">
|
|
1223
|
+
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
|
1224
|
+
<state split_layout="SPLIT">
|
|
1225
|
+
<first_editor relative-caret-position="17">
|
|
1226
|
+
<caret line="189" column="4" selection-start-line="189" selection-start-column="4" selection-end-line="189" selection-end-column="4" />
|
|
1227
|
+
</first_editor>
|
|
1228
|
+
<second_editor />
|
|
1229
|
+
</state>
|
|
1230
|
+
</provider>
|
|
1190
1231
|
</entry>
|
|
1191
|
-
<entry file="file://$PROJECT_DIR$/
|
|
1232
|
+
<entry file="file://$PROJECT_DIR$/TODO">
|
|
1233
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
1234
|
+
<state relative-caret-position="476">
|
|
1235
|
+
<caret line="28" column="74" selection-start-line="28" selection-start-column="74" selection-end-line="28" selection-end-column="74" />
|
|
1236
|
+
</state>
|
|
1237
|
+
</provider>
|
|
1238
|
+
</entry>
|
|
1239
|
+
<entry file="file://$PROJECT_DIR$/lib/surikat.rb">
|
|
1192
1240
|
<provider selected="true" editor-type-id="text-editor">
|
|
1193
|
-
<state relative-caret-position="
|
|
1194
|
-
<caret line="
|
|
1241
|
+
<state relative-caret-position="381">
|
|
1242
|
+
<caret line="81" lean-forward="true" selection-start-line="81" selection-end-line="81" />
|
|
1243
|
+
<folding>
|
|
1244
|
+
<element signature="e#2343#9042#0" />
|
|
1245
|
+
<element signature="e#9048#9302#0" />
|
|
1246
|
+
<element signature="e#9308#10900#0" />
|
|
1247
|
+
</folding>
|
|
1195
1248
|
</state>
|
|
1196
1249
|
</provider>
|
|
1197
1250
|
</entry>
|
|
@@ -1202,5 +1255,12 @@
|
|
|
1202
1255
|
</state>
|
|
1203
1256
|
</provider>
|
|
1204
1257
|
</entry>
|
|
1258
|
+
<entry file="file://$PROJECT_DIR$/surikat.gemspec">
|
|
1259
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
1260
|
+
<state relative-caret-position="578">
|
|
1261
|
+
<caret line="39" column="2" selection-start-line="39" selection-start-column="2" selection-end-line="39" selection-end-column="2" />
|
|
1262
|
+
</state>
|
|
1263
|
+
</provider>
|
|
1264
|
+
</entry>
|
|
1205
1265
|
</component>
|
|
1206
1266
|
</project>
|
data/README.md
CHANGED
|
@@ -148,61 +148,80 @@ Example:
|
|
|
148
148
|
surikat generate model Book title:string
|
|
149
149
|
```
|
|
150
150
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
Sometimes you need to supply for the frontend things that don't come directly from the database.
|
|
154
|
-
In fact, you can send anything you want; here are a few simple recipes:
|
|
155
|
-
|
|
156
|
-
1 To add an additional field to the ones already provided by the database, the easiest way
|
|
157
|
-
is to define a method in the model.
|
|
158
|
-
|
|
159
|
-
```ruby
|
|
160
|
-
class Person < Surikat::BaseModel
|
|
161
|
-
def favourite_number
|
|
162
|
-
rand(10)
|
|
163
|
-
end
|
|
164
|
-
end
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
Then, you can add `favourite_number` into the `Author` output type, and you're set.
|
|
168
|
-
|
|
169
|
-
2 If you need this field to have arguments:
|
|
151
|
+
#### A Note About Ransack
|
|
170
152
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
def square(num)
|
|
174
|
-
num * num
|
|
175
|
-
end
|
|
176
|
-
end
|
|
177
|
-
```
|
|
153
|
+
Surikat comes with Ransack, so that when you retrieve a collection of ActiveRecord objects, you can
|
|
154
|
+
already filter and sort them using [Ransack search matchers](https://github.com/activerecord-hackery/ransack#search-matchers).
|
|
178
155
|
|
|
179
|
-
|
|
156
|
+
Example query:
|
|
180
157
|
|
|
181
158
|
```graphql
|
|
182
|
-
{
|
|
183
|
-
|
|
184
|
-
|
|
159
|
+
{
|
|
160
|
+
Authors(q: "is_any_good_eq=false&id_lt=20 ") {
|
|
161
|
+
id
|
|
162
|
+
name
|
|
163
|
+
created_at
|
|
164
|
+
is_any_good
|
|
165
|
+
year_of_birth
|
|
185
166
|
}
|
|
186
167
|
}
|
|
187
168
|
```
|
|
188
169
|
|
|
189
|
-
|
|
190
|
-
`favourite_food` and `favourite_drink`, all your query needs to do is to return a Ruby `Hash`
|
|
191
|
-
that has those two keys.
|
|
170
|
+
### Custom Data
|
|
192
171
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
172
|
+
Sometimes you need to supply for the frontend things that don't come directly from the database.
|
|
173
|
+
In fact, you can send anything you want; here are a few simple recipes:
|
|
174
|
+
|
|
175
|
+
1. To add an additional field to the ones already provided by the database, the easiest way
|
|
176
|
+
is to define a method in the model.
|
|
177
|
+
|
|
178
|
+
```ruby
|
|
179
|
+
class Person < Surikat::BaseModel
|
|
180
|
+
def favourite_number
|
|
181
|
+
rand(10)
|
|
182
|
+
end
|
|
183
|
+
end
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Then, you can add `favourite_number` into the `Author` output type, and you're set.
|
|
187
|
+
|
|
188
|
+
2. If you need this field to have arguments:
|
|
189
|
+
|
|
190
|
+
```ruby
|
|
191
|
+
class Person < Surikat::BaseModel
|
|
192
|
+
def square(num)
|
|
193
|
+
num * num
|
|
194
|
+
end
|
|
195
|
+
end
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
And in the query:
|
|
199
|
+
|
|
200
|
+
```graphql
|
|
196
201
|
{
|
|
197
|
-
|
|
198
|
-
|
|
202
|
+
Person(id: 1) {
|
|
203
|
+
square(num: 5)
|
|
204
|
+
}
|
|
199
205
|
}
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
3. Returning custom types is also easy. If you have an output type that defines the fields
|
|
209
|
+
`favourite_food` and `favourite_drink`, all your query needs to do is to return a Ruby `Hash`
|
|
210
|
+
that has those two keys.
|
|
203
211
|
|
|
204
|
-
|
|
205
|
-
|
|
212
|
+
```ruby
|
|
213
|
+
class MyQueries < Surikat::BaseQueries
|
|
214
|
+
def favourite_stuff
|
|
215
|
+
{
|
|
216
|
+
favourite_food: 'air',
|
|
217
|
+
favourite_drink: 'water'
|
|
218
|
+
}
|
|
219
|
+
end
|
|
220
|
+
end
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
This works for arrays, too. You can return an array of such objects, and use them
|
|
224
|
+
in your output types using the brackets notation, for example `[FavouriteStuffType]`.
|
|
206
225
|
|
|
207
226
|
#### Errors
|
|
208
227
|
|
|
@@ -354,7 +373,7 @@ come with a solution to this issue. Until then, you have to adapt the tests to y
|
|
|
354
373
|
|
|
355
374
|
### Web Server
|
|
356
375
|
|
|
357
|
-
Surikat uses
|
|
376
|
+
Surikat uses [Phusion Passenger](https://www.phusionpassenger.com/) as a web server. Simply type
|
|
358
377
|
|
|
359
378
|
```bash
|
|
360
379
|
passenger serve
|
|
@@ -363,25 +382,6 @@ passenger serve
|
|
|
363
382
|
to start a server on port 3000. Then you can use GraphiQL, curl or your actual frontend app to start
|
|
364
383
|
querying the backend.
|
|
365
384
|
|
|
366
|
-
#### A Note About Ransack
|
|
367
|
-
|
|
368
|
-
Surikat comes with Ransack, so that when you retrieve a collection of ActiveRecord objects, you can
|
|
369
|
-
already filter and sort them using [Ransack search matchers](https://github.com/activerecord-hackery/ransack#search-matchers).
|
|
370
|
-
|
|
371
|
-
Example query:
|
|
372
|
-
|
|
373
|
-
```graphql
|
|
374
|
-
{
|
|
375
|
-
Authors(q: "is_any_good_eq=false&id_lt=20 ") {
|
|
376
|
-
id
|
|
377
|
-
name
|
|
378
|
-
created_at
|
|
379
|
-
is_any_good
|
|
380
|
-
year_of_birth
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
```
|
|
384
|
-
|
|
385
385
|
## System Dependencies
|
|
386
386
|
|
|
387
387
|
For improved performance, Surikat uses a C++ library to parse GraplQL queries, [libgraphqlparser](https://github.com/graphql/libgraphqlparser).
|
data/lib/surikat.rb
CHANGED
|
@@ -67,10 +67,36 @@ module Surikat
|
|
|
67
67
|
|
|
68
68
|
if is_array
|
|
69
69
|
raise "List of data of type #{type_name} in field '#{field_name}' may not contain nil values" if type_name.include?('!') && data.include?(nil)
|
|
70
|
-
result = data.to_a.map
|
|
70
|
+
result = data.to_a.map do |x|
|
|
71
|
+
if Types::BASIC.include? type_singular_nobang
|
|
72
|
+
cast_scalar(x, type_singular_nobang)
|
|
73
|
+
else
|
|
74
|
+
r = {}
|
|
75
|
+
type = Surikat.types[type_singular_nobang]
|
|
76
|
+
allowed_fields = x.keys & type['fields'].keys
|
|
77
|
+
allowed_fields.each do |af|
|
|
78
|
+
type_name = type['fields'][af]
|
|
79
|
+
|
|
80
|
+
r[af] = cast(x[af], type_name, type_name.first == '[', af)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
r
|
|
84
|
+
end
|
|
85
|
+
end
|
|
71
86
|
else
|
|
72
87
|
raise "Data of type #{type_name} for field '#{field_name}' may not be nil" if type_name.last == '!' && data.nil?
|
|
73
|
-
|
|
88
|
+
|
|
89
|
+
if Types::BASIC.include? type_singular_nobang
|
|
90
|
+
result = cast_scalar(data, type_singular_nobang)
|
|
91
|
+
else
|
|
92
|
+
result = {}
|
|
93
|
+
type = Surikat.types[type_singular_nobang]
|
|
94
|
+
allowed_fields = data.keys & type['fields'].keys
|
|
95
|
+
allowed_fields.each do |af|
|
|
96
|
+
type_name = type['fields'][af]
|
|
97
|
+
result[af] = cast(data[af], type_name, type_name.first == '[', af)
|
|
98
|
+
end
|
|
99
|
+
end
|
|
74
100
|
end
|
|
75
101
|
result
|
|
76
102
|
end
|
|
@@ -161,6 +187,7 @@ module Surikat
|
|
|
161
187
|
end
|
|
162
188
|
|
|
163
189
|
deep_selectors.each do |s|
|
|
190
|
+
data = data.first if data.class.to_s.include?('ActiveRecord_Relation')
|
|
164
191
|
uncast = data.is_a?(Hash) ? (data[s.name] || data[s.name.to_sym]) : hashify(data.send(s.name), s.selections, fields[s.name])
|
|
165
192
|
hashified_data[s.name] = cast(uncast, fields[s.name], uncast.is_a?(Array), s.name)
|
|
166
193
|
end
|
data/lib/surikat/version.rb
CHANGED
data/surikat.gemspec
CHANGED
|
@@ -32,14 +32,14 @@ Gem::Specification.new do |spec|
|
|
|
32
32
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
33
33
|
spec.require_paths = ["lib"]
|
|
34
34
|
|
|
35
|
-
spec.add_development_dependency "bundler", "~> 1.15"
|
|
35
|
+
# spec.add_development_dependency "bundler", "~> 1.15"
|
|
36
36
|
#spec.add_development_dependency "rake", "~> 10.0"
|
|
37
|
-
spec.add_development_dependency "rspec", "~> 3.0"
|
|
37
|
+
#spec.add_development_dependency "rspec", "~> 3.0"
|
|
38
38
|
spec.add_development_dependency "pry", "~> 0.10"
|
|
39
39
|
|
|
40
|
-
|
|
41
|
-
spec.add_development_dependency "graphql-libgraphqlparser", "~> 1.2", ">= 1.2.0"
|
|
42
|
-
spec.add_development_dependency "oj", "~> 3.3", ">= 3.3.5"
|
|
40
|
+
# spec.add_development_dependency "activesupport", "~> 5.2", ">= 5.2.0"
|
|
41
|
+
# spec.add_development_dependency "graphql-libgraphqlparser", "~> 1.2", ">= 1.2.0"
|
|
42
|
+
# spec.add_development_dependency "oj", "~> 3.3", ">= 3.3.5"
|
|
43
43
|
# spec.add_development_dependency "standalone_migrations", "~> 5.2", ">= 5.2.5"
|
|
44
44
|
# spec.add_development_dependency "ransack", "~> 1.8", ">= 1.8.2"
|
|
45
45
|
|
metadata
CHANGED
|
@@ -1,43 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: surikat
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alex Deva
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-05
|
|
11
|
+
date: 2018-06-05 00:00:00.000000000 Z
|
|
12
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.15'
|
|
20
|
-
type: :development
|
|
21
|
-
prerelease: false
|
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
-
requirements:
|
|
24
|
-
- - "~>"
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: '1.15'
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: rspec
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - "~>"
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: '3.0'
|
|
34
|
-
type: :development
|
|
35
|
-
prerelease: false
|
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
-
requirements:
|
|
38
|
-
- - "~>"
|
|
39
|
-
- !ruby/object:Gem::Version
|
|
40
|
-
version: '3.0'
|
|
41
13
|
- !ruby/object:Gem::Dependency
|
|
42
14
|
name: pry
|
|
43
15
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -52,66 +24,6 @@ dependencies:
|
|
|
52
24
|
- - "~>"
|
|
53
25
|
- !ruby/object:Gem::Version
|
|
54
26
|
version: '0.10'
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: activesupport
|
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
|
58
|
-
requirements:
|
|
59
|
-
- - "~>"
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '5.2'
|
|
62
|
-
- - ">="
|
|
63
|
-
- !ruby/object:Gem::Version
|
|
64
|
-
version: 5.2.0
|
|
65
|
-
type: :development
|
|
66
|
-
prerelease: false
|
|
67
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
68
|
-
requirements:
|
|
69
|
-
- - "~>"
|
|
70
|
-
- !ruby/object:Gem::Version
|
|
71
|
-
version: '5.2'
|
|
72
|
-
- - ">="
|
|
73
|
-
- !ruby/object:Gem::Version
|
|
74
|
-
version: 5.2.0
|
|
75
|
-
- !ruby/object:Gem::Dependency
|
|
76
|
-
name: graphql-libgraphqlparser
|
|
77
|
-
requirement: !ruby/object:Gem::Requirement
|
|
78
|
-
requirements:
|
|
79
|
-
- - "~>"
|
|
80
|
-
- !ruby/object:Gem::Version
|
|
81
|
-
version: '1.2'
|
|
82
|
-
- - ">="
|
|
83
|
-
- !ruby/object:Gem::Version
|
|
84
|
-
version: 1.2.0
|
|
85
|
-
type: :development
|
|
86
|
-
prerelease: false
|
|
87
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
88
|
-
requirements:
|
|
89
|
-
- - "~>"
|
|
90
|
-
- !ruby/object:Gem::Version
|
|
91
|
-
version: '1.2'
|
|
92
|
-
- - ">="
|
|
93
|
-
- !ruby/object:Gem::Version
|
|
94
|
-
version: 1.2.0
|
|
95
|
-
- !ruby/object:Gem::Dependency
|
|
96
|
-
name: oj
|
|
97
|
-
requirement: !ruby/object:Gem::Requirement
|
|
98
|
-
requirements:
|
|
99
|
-
- - "~>"
|
|
100
|
-
- !ruby/object:Gem::Version
|
|
101
|
-
version: '3.3'
|
|
102
|
-
- - ">="
|
|
103
|
-
- !ruby/object:Gem::Version
|
|
104
|
-
version: 3.3.5
|
|
105
|
-
type: :development
|
|
106
|
-
prerelease: false
|
|
107
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
108
|
-
requirements:
|
|
109
|
-
- - "~>"
|
|
110
|
-
- !ruby/object:Gem::Version
|
|
111
|
-
version: '3.3'
|
|
112
|
-
- - ">="
|
|
113
|
-
- !ruby/object:Gem::Version
|
|
114
|
-
version: 3.3.5
|
|
115
27
|
- !ruby/object:Gem::Dependency
|
|
116
28
|
name: oj
|
|
117
29
|
requirement: !ruby/object:Gem::Requirement
|