kramdown-plantuml 1.1.2 → 1.1.3

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: 494e1d003f565fb2e076daa61be11c187248776f6ab76145d7c4f6963d771355
4
- data.tar.gz: 2acbb2c1e2142dbfb1e732013a63f70a9a70d65a6e77c4107970b151a25736b9
3
+ metadata.gz: 51cbb0be0b06278afe3b3d1eb572190a9f7a04fc869454b023854d5d8012e596
4
+ data.tar.gz: 0e7cb4345aeab6972d3b0009b71ddc714f046f5b558ae1d37b334697af39575b
5
5
  SHA512:
6
- metadata.gz: ed8130982476ebe4b9bda233ef2f9bef82bcc9519d5ad9bc463b5d4f2bc858b9357d2a190567261616f7fbf2b485554e4e6895235a104d0159a25a42abe87af1
7
- data.tar.gz: 2423d0759e06ff233f11904c94aaccb5d61d37aa3f2748352b6df3990d7ed49d683c7e5b4456e34ac32db7592bb3a65a3e668f549a08b4e768c0800a0fe281a2
6
+ metadata.gz: c18e9c35a4fef278f506106c1365839e7f58b0b45c8b352912187cd324df373b342400e56f51b9c13278ab199fd5fb6101c63cd02aa25ce9efef07722d7c517a
7
+ data.tar.gz: d822db2c31c38db0f7ce0a5b92221ebf30a55be1f5d011141199d07d94a01b5ddba99a1ba127d13b88219f6135a384d90741315b6e00b88d0e72c20fa1220d2f
@@ -18,7 +18,7 @@ module Kramdown
18
18
 
19
19
  def convert_plantuml_to_svg(plantuml)
20
20
  if plantuml.nil? || plantuml.empty?
21
- @logger.warn 'kramdown-plantuml: PlantUML diagram is empty'
21
+ @logger.warn ' kramdown-plantuml: PlantUML diagram is empty'
22
22
  return plantuml
23
23
  end
24
24
 
@@ -44,8 +44,8 @@ module Kramdown
44
44
  end
45
45
 
46
46
  def log(plantuml)
47
- @logger.debug 'kramdown-plantuml: PlantUML converting diagram:'
48
- @logger.debug_with_prefix 'kramdown-plantuml: ', plantuml
47
+ @logger.debug ' kramdown-plantuml: PlantUML converting diagram:'
48
+ @logger.debug_with_prefix ' kramdown-plantuml: ', plantuml
49
49
  end
50
50
  end
51
51
  end
@@ -26,11 +26,11 @@ module Kramdown
26
26
  ' -nometadata'
27
27
  end
28
28
 
29
- @logger.debug "kramdown-plantuml: Executing '#{cmd}'."
29
+ @logger.debug " kramdown-plantuml: Executing '#{cmd}'."
30
30
 
31
31
  stdout, stderr, status = Open3.capture3 cmd, stdin_data: stdin
32
32
 
33
- @logger.debug "kramdown-plantuml: PlantUML exit code '#{status.exitstatus}'."
33
+ @logger.debug " kramdown-plantuml: PlantUML exit code '#{status.exitstatus}'."
34
34
 
35
35
  PlantUmlResult.new(stdout, stderr, status)
36
36
  end
@@ -4,7 +4,7 @@ require_relative 'console_logger'
4
4
 
5
5
  module Kramdown
6
6
  module PlantUml
7
- # Provides theming support for PlantUML
7
+ # Logs stuff
8
8
  class Logger
9
9
  def initialize(logger)
10
10
  raise ArgumentError, 'logger cannot be nil' if logger.nil?
@@ -45,6 +45,10 @@ module Kramdown
45
45
  self.class.level == :debug
46
46
  end
47
47
 
48
+ def level
49
+ @level ||= level_from_logger || self.class.env
50
+ end
51
+
48
52
  class << self
49
53
  def init
50
54
  inner = nil
@@ -72,6 +76,14 @@ module Kramdown
72
76
  :warn
73
77
  end
74
78
  end
79
+
80
+ private
81
+
82
+ def level_from_logger
83
+ return @logger.level if @logger.respond_to? :level
84
+
85
+ nil
86
+ end
75
87
  end
76
88
  end
77
89
  end
@@ -42,8 +42,8 @@ module Kramdown
42
42
 
43
43
  return if @stderr.nil? || @stderr.empty?
44
44
 
45
- @logger.debug 'kramdown-plantuml: PlantUML log:'
46
- @logger.debug_with_prefix 'kramdown-plantuml: ', @stderr
45
+ @logger.debug ' kramdown-plantuml: PlantUML log:'
46
+ @logger.debug_with_prefix ' kramdown-plantuml: ', @stderr
47
47
  end
48
48
  end
49
49
  end
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: false
2
2
 
3
- require_relative 'hash'
4
3
  require_relative 'logger'
5
4
 
6
5
  module Kramdown
@@ -10,20 +9,18 @@ module Kramdown
10
9
  attr_reader :theme_name, :theme_directory
11
10
 
12
11
  def initialize(options = {})
13
- options = options.symbolize_keys unless options.nil?
14
12
  @logger = Logger.init
15
- @logger.debug "kramdown-plantuml: Options: #{options}"
16
13
  @theme_name, @theme_directory = theme_options(options)
17
14
  end
18
15
 
19
16
  def apply_theme(plantuml)
20
17
  if plantuml.nil? || plantuml.empty?
21
- @logger.debug 'kramdown-plantuml: Empty diagram.'
18
+ @logger.debug ' kramdown-plantuml: Empty diagram.'
22
19
  return plantuml
23
20
  end
24
21
 
25
22
  if @theme_name.nil? || @theme_name.empty?
26
- @logger.debug 'kramdown-plantuml: No theme to apply.'
23
+ @logger.debug ' kramdown-plantuml: No theme to apply.'
27
24
  return plantuml
28
25
  end
29
26
 
@@ -33,6 +30,10 @@ module Kramdown
33
30
  private
34
31
 
35
32
  def theme_options(options)
33
+ options = symbolize_keys(options)
34
+
35
+ @logger.debug " kramdown-plantuml: Options: #{options}"
36
+
36
37
  return nil if options.nil? || !options.key?(:theme)
37
38
 
38
39
  theme = options[:theme] || {}
@@ -42,6 +43,17 @@ module Kramdown
42
43
  [theme_name, theme_directory]
43
44
  end
44
45
 
46
+ def symbolize_keys(options)
47
+ return options if options.nil?
48
+
49
+ array = options.map do |key, value|
50
+ value = value.is_a?(Hash) ? symbolize_keys(value) : value
51
+ [key.to_sym, value]
52
+ end
53
+
54
+ array.to_h
55
+ end
56
+
45
57
  def theme(plantuml)
46
58
  startuml = '@startuml'
47
59
  startuml_index = plantuml.index(startuml) + startuml.length
@@ -51,7 +63,7 @@ module Kramdown
51
63
  theme_string = "\n!theme #{@theme_name}"
52
64
  theme_string << " from #{@theme_directory}" unless @theme_directory.nil?
53
65
 
54
- @logger.debug "kramdown-plantuml: Applying #{theme_string}"
66
+ @logger.debug " kramdown-plantuml: Applying #{theme_string.strip}"
55
67
 
56
68
  /@startuml.*/.match(plantuml) do |match|
57
69
  return plantuml.insert match.end(0), theme_string
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Kramdown
4
4
  module PlantUml
5
- VERSION = '1.1.2'
5
+ VERSION = '1.1.3'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kramdown-plantuml
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Swedbank Pay
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-08-03 00:00:00.000000000 Z
11
+ date: 2021-08-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: kramdown
@@ -173,7 +173,6 @@ files:
173
173
  - lib/kramdown-plantuml/console_logger.rb
174
174
  - lib/kramdown-plantuml/converter.rb
175
175
  - lib/kramdown-plantuml/executor.rb
176
- - lib/kramdown-plantuml/hash.rb
177
176
  - lib/kramdown-plantuml/logger.rb
178
177
  - lib/kramdown-plantuml/plantuml_error.rb
179
178
  - lib/kramdown-plantuml/plantuml_result.rb
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Ruby's Hash class.
4
- class ::Hash
5
- # Via https://stackoverflow.com/a/25835016/2257038
6
- def symbolize_keys
7
- h = map do |k, v|
8
- v_sym = v.instance_of?(Hash) ? v.symbolize_keys : v
9
- [k.to_sym, v_sym]
10
- end
11
-
12
- h.to_h
13
- end
14
- end