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 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