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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c00f52554c35f88d0c6283a1a28c17d5d3bba862fbe08e75a242c7008da31650
4
- data.tar.gz: 5d764e13ebda544f65aa2a1cdc6bc1afc8c667830b66297651b5fa483ce1c4f6
3
+ metadata.gz: 45bdb8faa3538443ada11b4f7c084240a600506befa7575f68b82594ab30f42f
4
+ data.tar.gz: 2fa8f399c64a9314ac68eac4881625b11ff439c34562537e33044ab8e7abc9fc
5
5
  SHA512:
6
- metadata.gz: 75d7792582ba9dd5db783abeefc48b2eb840548b0ad4715918355d288a1b06a40c0fc949e93f45324cdc8d31d99eb922d240bb0a59b06bf68599c46f0b585959
7
- data.tar.gz: a2bee80691743891fc78a79494db88faa47a97a087ff5e6e487a119bf5df9b5b24765e7f36e65a71746fd0b98c9dd4b7009a5e02a022202cfa4154b957d70a5a
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
- select { |_id, topic| modules.key?(topic.module_id) }
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
- select { |_id, topic| mod.id == topic.module_id }
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
- CACHE_SCHEMA_ID = 'cacheSchemaId'
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
@@ -11,5 +11,9 @@ module PuzzlyApiPlugin
11
11
  def to_s
12
12
  to_json
13
13
  end
14
+
15
+ def info message
16
+ Jekyll.logger.info "Puzzly:", message
17
+ end
14
18
  end
15
19
  end
@@ -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::CACHE_SCHEMA_ID])
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
- raise "Cache should have schema file or schema id"
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
- raise "Cache should have only schema file or schema id"
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
@@ -23,5 +23,9 @@ module PuzzlyApiPlugin
23
23
  def to_identity
24
24
  Identity.create(self)
25
25
  end
26
+
27
+ def warn message
28
+ Jekyll.logger.warn log_category = "Review your file #{path}:", message
29
+ end
26
30
  end
27
31
  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
- self[MetadataFields::CONSUMES_TOPICS] = consumesTopics
19
- self[MetadataFields::PRODUCES_TOPICS] = producesTopics
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, module_id, schema_id, name, description)
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
- class JSONPage < Jekyll::Page
4
- def initialize(site, base, dir, name, content)
5
- @site = site
6
- @base = base
7
- @dir = dir
8
- @name = name
10
+ self.data = {}
11
+ self.content = content
9
12
 
10
- self.data = {}
11
- self.content = content
13
+ process(@name)
14
+ end
12
15
 
13
- process(@name)
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PuzzlyApiPlugin
4
- VERSION = '0.1.5'
4
+ VERSION = '0.1.6'
5
5
  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 { |_id, topic| topic.to_identity })
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.split(",").each do |topic_id|
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.split(",").each do |topic_id|
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.5
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-03 00:00:00.000000000 Z
11
+ date: 2020-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll