puzzly_api_plugin 0.1.5 → 0.1.6
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/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
|