puzzly_api_plugin 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/puzzly_api_plugin/collection/topics.rb +19 -2
- data/lib/puzzly_api_plugin/fields.rb +1 -2
- data/lib/puzzly_api_plugin/generator.rb +26 -0
- data/lib/puzzly_api_plugin/jsonable.rb +4 -0
- data/lib/puzzly_api_plugin/metadata/api.rb +24 -0
- data/lib/puzzly_api_plugin/metadata/cache.rb +19 -3
- data/lib/puzzly_api_plugin/metadata/context.rb +13 -1
- data/lib/puzzly_api_plugin/metadata/metadata.rb +4 -0
- data/lib/puzzly_api_plugin/metadata/module.rb +33 -2
- data/lib/puzzly_api_plugin/metadata/query.rb +20 -0
- data/lib/puzzly_api_plugin/metadata/schema.rb +20 -0
- data/lib/puzzly_api_plugin/metadata/table.rb +20 -0
- data/lib/puzzly_api_plugin/metadata/topic.rb +17 -3
- data/lib/puzzly_api_plugin/page.rb +15 -14
- data/lib/puzzly_api_plugin/version.rb +1 -1
- data/lib/puzzly_api_plugin/view/context.rb +2 -1
- data/lib/puzzly_api_plugin/view/module.rb +2 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 45bdb8faa3538443ada11b4f7c084240a600506befa7575f68b82594ab30f42f
|
4
|
+
data.tar.gz: 2fa8f399c64a9314ac68eac4881625b11ff439c34562537e33044ab8e7abc9fc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 606ffb37200d9d46c1dc5d8d5f17ac5d1d46146f40627b1ad46e33e7b3ffe4b57338cf677c851773b72afb1872cf7d02907fde3381e06f4d9f45a5f0f1a391d1
|
7
|
+
data.tar.gz: 417e47584d268f0eff52badc51707055e863289ec24f8280d86f70201bf68881a7a208853c154c9c28812ef2eb6dae5f99b2cf377b75b98b9ebe5188533a3f8f
|
@@ -10,11 +10,28 @@ module PuzzlyApiPlugin
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def get_by_modules modules
|
13
|
-
|
13
|
+
topics = []
|
14
|
+
modules.each do |_id, mod|
|
15
|
+
mod_topics = get_by_module(mod)
|
16
|
+
topics = topics + mod_topics
|
17
|
+
end
|
18
|
+
|
19
|
+
topics
|
14
20
|
end
|
15
21
|
|
16
22
|
def get_by_module mod
|
17
|
-
|
23
|
+
topics = []
|
24
|
+
mod.consumesTopics.each do |topic_id|
|
25
|
+
topic = TopicsCollection.instance.get_by_id topic_id
|
26
|
+
topics.push topic
|
27
|
+
end
|
28
|
+
|
29
|
+
mod.producesTopics.each do |topic_id|
|
30
|
+
topic = TopicsCollection.instance.get_by_id topic_id
|
31
|
+
topics.push topic
|
32
|
+
end
|
33
|
+
|
34
|
+
topics
|
18
35
|
end
|
19
36
|
|
20
37
|
def get_by_schema schema
|
@@ -60,8 +60,7 @@ module PuzzlyApiPlugin
|
|
60
60
|
CACHE_NAME = 'cacheName'
|
61
61
|
CACHE_DESCRIPTION = 'cacheDescription'
|
62
62
|
CACHE_SCHEMA_FILE = 'cacheSchemaFile'
|
63
|
-
|
64
|
-
|
63
|
+
|
65
64
|
CONTEXT_ID = 'contextId'
|
66
65
|
CONTEXT_NAME = 'contextName'
|
67
66
|
CONTEXT_DESCRIPTION = 'contextDescription'
|
@@ -5,6 +5,8 @@ module PuzzlyApiPlugin
|
|
5
5
|
safe true
|
6
6
|
|
7
7
|
def generate(site)
|
8
|
+
clean(site)
|
9
|
+
|
8
10
|
site.documents.each do |document|
|
9
11
|
collection = PuzzlyApiPlugin.const_get("#{document.collection.label.capitalize}Collection").instance
|
10
12
|
collection.add(document)
|
@@ -53,6 +55,30 @@ module PuzzlyApiPlugin
|
|
53
55
|
end
|
54
56
|
end
|
55
57
|
|
58
|
+
def clean(site)
|
59
|
+
destination = site.config["destination"]
|
60
|
+
clean_collection_directory("#{destination}/apis")
|
61
|
+
clean_collection_directory("#{destination}/caches")
|
62
|
+
clean_collection_directory("#{destination}/contexts")
|
63
|
+
clean_collection_directory("#{destination}/modules")
|
64
|
+
clean_collection_directory("#{destination}/queries")
|
65
|
+
clean_collection_directory("#{destination}/schemas")
|
66
|
+
clean_collection_directory("#{destination}/tables")
|
67
|
+
clean_collection_directory("#{destination}/topics")
|
68
|
+
end
|
69
|
+
|
70
|
+
def clean_collection_directory(path)
|
71
|
+
if(!Dir.exist?(path))
|
72
|
+
return
|
73
|
+
end
|
74
|
+
|
75
|
+
Dir.foreach(path) do |file|
|
76
|
+
if ((file.to_s != ".") and (file.to_s != ".."))
|
77
|
+
File.delete("#{path}/#{file}")
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
56
82
|
def render(site, view)
|
57
83
|
content = view.render
|
58
84
|
path = view.path
|
@@ -17,6 +17,30 @@ module PuzzlyApiPlugin
|
|
17
17
|
self[MetadataFields::DESCRIPTION] = description
|
18
18
|
self[MetadataFields::GRAPHQL_FILE] = graphQL_file
|
19
19
|
self[MetadataFields::SWAGGER_FILE] = swagger_file
|
20
|
+
|
21
|
+
validate
|
22
|
+
end
|
23
|
+
|
24
|
+
def validate
|
25
|
+
if(module_id.nil?)
|
26
|
+
warn "Please set #{YAMLFields::MODULE_ID} property"
|
27
|
+
end
|
28
|
+
|
29
|
+
if(name.nil?)
|
30
|
+
warn "Please set #{YAMLFields::API_NAME} property"
|
31
|
+
end
|
32
|
+
|
33
|
+
if(description.nil?)
|
34
|
+
warn "Please set #{YAMLFields::API_DESCRIPTION} property"
|
35
|
+
end
|
36
|
+
|
37
|
+
if(graphQL_file.nil?)
|
38
|
+
warn "Please set #{YAMLFields::API_GRAPHQL_FILE} property"
|
39
|
+
end
|
40
|
+
|
41
|
+
if(swagger_file.nil?)
|
42
|
+
warn "Please set #{YAMLFields::API_SWAGGER_FILE} property"
|
43
|
+
end
|
20
44
|
end
|
21
45
|
|
22
46
|
def module_id
|
@@ -8,7 +8,7 @@ module PuzzlyApiPlugin
|
|
8
8
|
document.data[YAMLFields::CACHE_NAME],
|
9
9
|
document.data[YAMLFields::CACHE_DESCRIPTION],
|
10
10
|
document.data[YAMLFields::CACHE_SCHEMA_FILE],
|
11
|
-
document.data[YAMLFields::
|
11
|
+
document.data[YAMLFields::SCHEMA_ID])
|
12
12
|
end
|
13
13
|
|
14
14
|
def initialize(document, module_id, name, description, schema_file, schema_id)
|
@@ -18,12 +18,28 @@ module PuzzlyApiPlugin
|
|
18
18
|
self[MetadataFields::SCHEMA_FILE] = schema_file
|
19
19
|
self[MetadataFields::SCHEMA_ID] = schema_id
|
20
20
|
|
21
|
+
validate
|
22
|
+
end
|
23
|
+
|
24
|
+
def validate
|
25
|
+
if(module_id.nil?)
|
26
|
+
warn "Please set #{YAMLFields::MODULE_ID} property"
|
27
|
+
end
|
28
|
+
|
29
|
+
if(name.nil?)
|
30
|
+
warn "Please set #{YAMLFields::CACHE_NAME} property"
|
31
|
+
end
|
32
|
+
|
33
|
+
if(description.nil?)
|
34
|
+
warn "Please set #{YAMLFields::CACHE_DESCRIPTION} property"
|
35
|
+
end
|
36
|
+
|
21
37
|
if(schema_file.nil? && schema_id.nil?)
|
22
|
-
|
38
|
+
warn "Please set #{YAMLFields::CACHE_SCHEMA_FILE} or #{YAMLFields::SCHEMA_ID} property"
|
23
39
|
end
|
24
40
|
|
25
41
|
if(!schema_file.nil? && !schema_id.nil?)
|
26
|
-
|
42
|
+
warn "Please set only one between #{YAMLFields::CACHE_SCHEMA_FILE} and #{YAMLFields::SCHEMA_ID} properties"
|
27
43
|
end
|
28
44
|
end
|
29
45
|
|
@@ -11,10 +11,22 @@ module PuzzlyApiPlugin
|
|
11
11
|
def initialize(document, name, description)
|
12
12
|
super(document, name)
|
13
13
|
self[MetadataFields::DESCRIPTION] = description
|
14
|
+
|
15
|
+
validate
|
16
|
+
end
|
17
|
+
|
18
|
+
def validate
|
19
|
+
if(name.nil?)
|
20
|
+
warn "Please set #{YAMLFields::CONTEXT_NAME} property"
|
21
|
+
end
|
22
|
+
|
23
|
+
if(description.nil?)
|
24
|
+
warn "Please set #{YAMLFields::CONTEXT_DESCRIPTION} property"
|
25
|
+
end
|
14
26
|
end
|
15
27
|
|
16
28
|
def description
|
17
29
|
self[MetadataFields::DESCRIPTION]
|
18
|
-
end
|
30
|
+
end
|
19
31
|
end
|
20
32
|
end
|
@@ -15,8 +15,39 @@ module PuzzlyApiPlugin
|
|
15
15
|
super(document, name)
|
16
16
|
self[MetadataFields::CONTEXT_ID] = context_id
|
17
17
|
self[MetadataFields::DESCRIPTION] = description
|
18
|
-
|
19
|
-
|
18
|
+
if(consumesTopics.nil?)
|
19
|
+
consumesTopics = ""
|
20
|
+
end
|
21
|
+
self[MetadataFields::CONSUMES_TOPICS] = consumesTopics.split(",")
|
22
|
+
|
23
|
+
if(producesTopics.nil?)
|
24
|
+
producesTopics = ""
|
25
|
+
end
|
26
|
+
self[MetadataFields::PRODUCES_TOPICS] = producesTopics.split(",")
|
27
|
+
|
28
|
+
validate
|
29
|
+
end
|
30
|
+
|
31
|
+
def validate
|
32
|
+
if(context_id.nil?)
|
33
|
+
warn "Please set #{YAMLFields::CONTEXT_ID} property"
|
34
|
+
end
|
35
|
+
|
36
|
+
if(name.nil?)
|
37
|
+
warn "Please set #{YAMLFields::MODULE_NAME} property"
|
38
|
+
end
|
39
|
+
|
40
|
+
if(description.nil?)
|
41
|
+
warn "Please set #{YAMLFields::MODULE_DESCRIPTION} property"
|
42
|
+
end
|
43
|
+
|
44
|
+
if(consumesTopics.nil?)
|
45
|
+
warn "Please set #{YAMLFields::MODULE_CONSUMES_TOPICS} property"
|
46
|
+
end
|
47
|
+
|
48
|
+
if(producesTopics.nil?)
|
49
|
+
warn "Please set #{YAMLFields::MODULE_PRODUCES_TOPICS} property"
|
50
|
+
end
|
20
51
|
end
|
21
52
|
|
22
53
|
def context_id
|
@@ -15,6 +15,26 @@ module PuzzlyApiPlugin
|
|
15
15
|
self[MetadataFields::MODULE_ID] = module_id
|
16
16
|
self[MetadataFields::DESCRIPTION] = description
|
17
17
|
self[MetadataFields::SCHEMA_FILE] = schema_file
|
18
|
+
|
19
|
+
validate
|
20
|
+
end
|
21
|
+
|
22
|
+
def validate
|
23
|
+
if(module_id.nil?)
|
24
|
+
warn "Please set #{YAMLFields::MODULE_ID} property"
|
25
|
+
end
|
26
|
+
|
27
|
+
if(name.nil?)
|
28
|
+
warn "Please set #{YAMLFields::QUERY_NAME} property"
|
29
|
+
end
|
30
|
+
|
31
|
+
if(description.nil?)
|
32
|
+
warn "Please set #{YAMLFields::QUERY_DESCRIPTION} property"
|
33
|
+
end
|
34
|
+
|
35
|
+
if(schema_file.nil?)
|
36
|
+
warn "Please set #{YAMLFields::QUERY_SCHEMA_FILE} property"
|
37
|
+
end
|
18
38
|
end
|
19
39
|
|
20
40
|
def module_id
|
@@ -15,6 +15,26 @@ module PuzzlyApiPlugin
|
|
15
15
|
self[MetadataFields::CONTEXT_ID] = context_id
|
16
16
|
self[MetadataFields::DESCRIPTION] = description
|
17
17
|
self[MetadataFields::FILE] = file
|
18
|
+
|
19
|
+
validate
|
20
|
+
end
|
21
|
+
|
22
|
+
def validate
|
23
|
+
if(context_id.nil?)
|
24
|
+
warn "Please set #{YAMLFields::CONTEXT_ID} property"
|
25
|
+
end
|
26
|
+
|
27
|
+
if(name.nil?)
|
28
|
+
warn "Please set #{YAMLFields::SCHEMA_NAME} property"
|
29
|
+
end
|
30
|
+
|
31
|
+
if(description.nil?)
|
32
|
+
warn "Please set #{YAMLFields::SCHEMA_DESCRIPTION} property"
|
33
|
+
end
|
34
|
+
|
35
|
+
if(file.nil?)
|
36
|
+
warn "Please set #{YAMLFields::SCHEMA_FILE} property"
|
37
|
+
end
|
18
38
|
end
|
19
39
|
|
20
40
|
def context_id
|
@@ -15,6 +15,26 @@ module PuzzlyApiPlugin
|
|
15
15
|
self[MetadataFields::MODULE_ID] = module_id
|
16
16
|
self[MetadataFields::DESCRIPTION] = description
|
17
17
|
self[MetadataFields::SCHEMA_FILE] = schema_file
|
18
|
+
|
19
|
+
validate
|
20
|
+
end
|
21
|
+
|
22
|
+
def validate
|
23
|
+
if(module_id.nil?)
|
24
|
+
warn "Please set #{YAMLFields::MODULE_ID} property"
|
25
|
+
end
|
26
|
+
|
27
|
+
if(name.nil?)
|
28
|
+
warn "Please set #{YAMLFields::TABLE_NAME} property"
|
29
|
+
end
|
30
|
+
|
31
|
+
if(description.nil?)
|
32
|
+
warn "Please set #{YAMLFields::TABLE_DESCRIPTION} property"
|
33
|
+
end
|
34
|
+
|
35
|
+
if(schema_file.nil?)
|
36
|
+
warn "Please set #{YAMLFields::TABLE_SCHEMA_FILE} property"
|
37
|
+
end
|
18
38
|
end
|
19
39
|
|
20
40
|
def module_id
|
@@ -4,17 +4,31 @@ module PuzzlyApiPlugin
|
|
4
4
|
class Topic < Metadata
|
5
5
|
def self.create(document)
|
6
6
|
Topic.new(document,
|
7
|
-
document.data[YAMLFields::MODULE_ID],
|
8
7
|
document.data[YAMLFields::SCHEMA_ID],
|
9
8
|
document.data[YAMLFields::TOPIC_NAME],
|
10
9
|
document.data[YAMLFields::TOPIC_DESCRIPTION])
|
11
10
|
end
|
12
11
|
|
13
|
-
def initialize(document,
|
12
|
+
def initialize(document, schema_id, name, description)
|
14
13
|
super(document, name)
|
15
|
-
self[MetadataFields::MODULE_ID] = module_id
|
16
14
|
self[MetadataFields::SCHEMA_ID] = schema_id
|
17
15
|
self[MetadataFields::DESCRIPTION] = description
|
16
|
+
|
17
|
+
validate
|
18
|
+
end
|
19
|
+
|
20
|
+
def validate
|
21
|
+
if(schema_id.nil?)
|
22
|
+
warn "Please set #{YAMLFields::SCHEMA_ID} property"
|
23
|
+
end
|
24
|
+
|
25
|
+
if(name.nil?)
|
26
|
+
warn "Please set #{YAMLFields::TABLE_NAME} property"
|
27
|
+
end
|
28
|
+
|
29
|
+
if(description.nil?)
|
30
|
+
warn "Please set #{YAMLFields::TABLE_DESCRIPTION} property"
|
31
|
+
end
|
18
32
|
end
|
19
33
|
|
20
34
|
def module_id
|
@@ -1,19 +1,20 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
module PuzzlyApiPlugin
|
3
|
+
class JSONPage < Jekyll::Page
|
4
|
+
def initialize(site, base, dir, name, content)
|
5
|
+
@site = site
|
6
|
+
@base = base
|
7
|
+
@dir = dir
|
8
|
+
@name = name
|
2
9
|
|
3
|
-
|
4
|
-
|
5
|
-
@site = site
|
6
|
-
@base = base
|
7
|
-
@dir = dir
|
8
|
-
@name = name
|
10
|
+
self.data = {}
|
11
|
+
self.content = content
|
9
12
|
|
10
|
-
|
11
|
-
|
13
|
+
process(@name)
|
14
|
+
end
|
12
15
|
|
13
|
-
|
16
|
+
def render_with_liquid?
|
17
|
+
false
|
18
|
+
end
|
14
19
|
end
|
15
|
-
|
16
|
-
def render_with_liquid?
|
17
|
-
false
|
18
|
-
end
|
19
|
-
end
|
20
|
+
end
|
@@ -10,6 +10,7 @@ module PuzzlyApiPlugin
|
|
10
10
|
caches = CachesCollection.instance.get_by_modules modules
|
11
11
|
queries = QueriesCollection.instance.get_by_modules modules
|
12
12
|
tables = TablesCollection.instance.get_by_modules modules
|
13
|
+
|
13
14
|
topics = TopicsCollection.instance.get_by_modules modules
|
14
15
|
|
15
16
|
ContextView.new(context,
|
@@ -19,7 +20,7 @@ module PuzzlyApiPlugin
|
|
19
20
|
caches.map { |_id, cache| cache.to_identity },
|
20
21
|
queries.map { |_id, query| query.to_identity },
|
21
22
|
tables.map { |_id, table| table.to_identity },
|
22
|
-
topics.map { |
|
23
|
+
topics.map { |topic| topic.to_identity })
|
23
24
|
end
|
24
25
|
|
25
26
|
def initialize(context, modules, schemas, apis, caches, queries, tables, topics)
|
@@ -10,19 +10,17 @@ module PuzzlyApiPlugin
|
|
10
10
|
tables = TablesCollection.instance.get_by_module mod
|
11
11
|
|
12
12
|
consumesTopics = []
|
13
|
-
mod.consumesTopics.
|
13
|
+
mod.consumesTopics.each do |topic_id|
|
14
14
|
topic = TopicsCollection.instance.get_by_id topic_id
|
15
15
|
consumesTopics.push topic.to_identity
|
16
16
|
end
|
17
17
|
|
18
18
|
producesTopics = []
|
19
|
-
mod.producesTopics.
|
19
|
+
mod.producesTopics.each do |topic_id|
|
20
20
|
topic = TopicsCollection.instance.get_by_id topic_id
|
21
21
|
producesTopics.push topic.to_identity
|
22
22
|
end
|
23
23
|
|
24
|
-
topics = TopicsCollection.instance.get_by_module mod
|
25
|
-
|
26
24
|
ModuleView.new(context.to_identity,
|
27
25
|
mod,
|
28
26
|
apis.map { |_id, api| api.to_identity },
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puzzly_api_plugin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mr. Braz
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-03-
|
11
|
+
date: 2020-03-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jekyll
|