markdoc 1.2.1 → 2.0.0

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: 903c73cf0ff9c9c6b3b9caaf41c0d9fd6ebda60624259acae36e09fa8fd4f81a
4
- data.tar.gz: aad92c597c2acc1f40449d7e5f1feaa608140831bbd88d22640e77e23796e620
3
+ metadata.gz: a313ccc3aef3a547c0d688e8a84dac9097c6fad2e7e5e27e46475311646e1e67
4
+ data.tar.gz: 4491396850eac63988494d4e68f110db83813304a9cc1bab00458eb5875e497e
5
5
  SHA512:
6
- metadata.gz: fee4a4c2de9b2350c3df3991c6b6a3c11640fe7026f741e6eb62bb50475fc5adb6492004fb24e304231cbdfa1c9beba8de527b1d79a76e8e497e27bae0d66498
7
- data.tar.gz: a2e44199fb3ed992890ce7a74d028b90e2d708c28eaa5cb9db34746784c11c4283d3134ecbdf72bf67c4077a7c2f3256ff5605f3a5bf5113d8b9db6a5cb15501
6
+ metadata.gz: 949e3a80919e9b9b54f624b659c5bbb72ca0cf9b7746c9080dd8fd08a27b012147099cc2c50397d68694f05a717eb8265d14bb058146b8174416cb59dbce9db3
7
+ data.tar.gz: a32fbb8e268d9035ff15c4b2d93726e48a9bb5ab3fb9af6e13c95a7d8979f7b6ee57b1d469c23871c6179b3d2b83c0da9c6658351cf8932a66c6ecf777682f7b
data/bin/markdoc CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'markdoc'
4
5
 
data/bin/pseudo2svg CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  # Pseudo code to Graphviz converter
4
5
  #
data/bin/sequence2svg CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  # Sequence definition to image converter using sequence.pic macros.
4
5
  # http://www.umlgraph.org/doc/seq-intro.html
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'polyglot'
2
4
  require 'treetop'
3
5
 
@@ -13,14 +15,17 @@ module Markdoc
13
15
 
14
16
  class ActionLiteral < Treetop::Runtime::SyntaxNode
15
17
  def out(file)
16
- file.write %Q(#{id} [shape=box label="#{label}"]\n)
18
+ file.write %(#{id} [shape=box label="#{label}"]\n)
17
19
  end
20
+
18
21
  def id
19
22
  sentence.id
20
23
  end
24
+
21
25
  def label
22
26
  sentence.value
23
27
  end
28
+
24
29
  def ends
25
30
  [id]
26
31
  end
@@ -28,33 +33,34 @@ module Markdoc
28
33
 
29
34
  class IfLiteral < Treetop::Runtime::SyntaxNode
30
35
  def out(file)
31
- file.write %Q(#{id} [shape=diamond label="#{cond.value}"]\n)
36
+ file.write %(#{id} [shape=diamond label="#{cond.value}"]\n)
32
37
 
33
38
  unless yes.nil?
34
39
  yes.out(file)
35
- file.write %Q( #{id} -> #{yes.id} [label="Yes"]\n)
40
+ file.write %( #{id} -> #{yes.id} [label="Yes"]\n)
36
41
  end
37
42
  unless no.nil?
38
43
  no.out(file)
39
- file.write %Q( #{id} -> #{no.id} [label="No"]\n)
44
+ file.write %( #{id} -> #{no.id} [label="No"]\n)
40
45
  end
41
46
  end
42
47
 
43
48
  def id
44
49
  cond.id
45
50
  end
51
+
46
52
  def ends
47
53
  ary = []
48
- if yes.elements.empty?
49
- ary << yes.id
50
- else
51
- ary << yes.elements.last.ends
52
- end
53
- if no.elements.empty?
54
- ary << no.id
55
- else
56
- ary << no.elements.last.ends
57
- end
54
+ ary << if yes.elements.empty?
55
+ yes.id
56
+ else
57
+ yes.elements.last.ends
58
+ end
59
+ ary << if no.elements.empty?
60
+ no.id
61
+ else
62
+ no.elements.last.ends
63
+ end
58
64
  ary.flatten
59
65
  end
60
66
  end
@@ -63,6 +69,7 @@ module Markdoc
63
69
  def value
64
70
  text_value.strip
65
71
  end
72
+
66
73
  def id
67
74
  @id ||= Register.id
68
75
  end
@@ -73,11 +80,10 @@ module Markdoc
73
80
  prev = nil
74
81
  elements.each do |node|
75
82
  next if node.nil?
83
+
76
84
  node.out(file)
77
- unless prev.nil?
78
- prev.ends.each do |endid|
79
- file.write %Q(#{endid} -> #{node.id}\n)
80
- end
85
+ prev&.ends&.each do |endid|
86
+ file.write %(#{endid} -> #{node.id}\n)
81
87
  end
82
88
  prev = node
83
89
  end
@@ -90,11 +96,11 @@ module Markdoc
90
96
  def ends
91
97
  ary = []
92
98
  elements.each do |node|
93
- if node.elements.empty?
94
- ary << node.id
95
- else
96
- ary << node.ends
97
- end
99
+ ary << if node.elements.empty?
100
+ node.id
101
+ else
102
+ node.ends
103
+ end
98
104
  end
99
105
  ary.flatten
100
106
  end
@@ -104,7 +110,7 @@ module Markdoc
104
110
  parser = PseudocodeParser.new
105
111
  tree = parser.parse(code)
106
112
 
107
- if(tree.nil?)
113
+ if tree.nil?
108
114
  puts parser.failure_reason
109
115
  raise "Can't generate graphviz code"
110
116
  else
@@ -118,9 +124,7 @@ module Markdoc
118
124
  graphviz = file.path
119
125
  end
120
126
 
121
- if format == :graphviz
122
- return IO.read(graphviz)
123
- end
127
+ return IO.read(graphviz) if format == :graphviz
124
128
 
125
129
  image = Tempfile.new([digest, ".#{format}"])
126
130
  image.close
@@ -1,9 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'redcarpet'
2
4
  require 'pygments'
3
5
 
4
6
  module Markdoc
5
7
  class Renderer < Redcarpet::Render::HTML
6
-
7
8
  def block_code(code, language)
8
9
  case language
9
10
  when 'pseudo', 'pseudocode'
@@ -17,27 +18,27 @@ module Markdoc
17
18
 
18
19
  # removes xml or doctype meta info
19
20
  def wrap_svg(source)
20
- stripped = source.
21
- sub(/<\?xml[^>]+>/i, '').
22
- sub(/<!DOCTYPE[^>]+>/im, '').
23
- gsub(/<!\-\-[^>]+\-\->/, '')
21
+ stripped = source
22
+ .sub(/<\?xml[^>]+>/i, '')
23
+ .sub(/<!DOCTYPE[^>]+>/im, '')
24
+ .gsub(/<!--[^>]+-->/, '')
24
25
 
25
- %Q(<div class="svg-holder">\n#{stripped}\n</div>)
26
+ %(<div class="svg-holder">\n#{stripped}\n</div>)
26
27
  end
27
28
 
28
29
  def doc_header
29
- <<-END
30
- <html>
31
- <head>
32
- <title>Doc</title>
33
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
34
- <style>
35
- #{IO.read File.expand_path('../../../css/style.css', __FILE__)}
36
- #{IO.read File.expand_path('../../../css/pygments.css', __FILE__)}
37
- </style>
38
- </head>
39
- <body>
40
- END
30
+ <<~HEADER
31
+ <html>
32
+ <head>
33
+ <title>Doc</title>
34
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
35
+ <style>
36
+ #{IO.read File.expand_path('../../css/style.css', __dir__)}
37
+ #{IO.read File.expand_path('../../css/pygments.css', __dir__)}
38
+ </style>
39
+ </head>
40
+ <body>
41
+ HEADER
41
42
  end
42
43
 
43
44
  def doc_footer
@@ -1,21 +1,23 @@
1
+ # frozen_string_literal: false
2
+
1
3
  module Markdoc
2
4
  module Sequence
3
5
  DEFAULTS = {
4
6
  diagram: {
5
7
  offsetx: 10,
6
8
  offsety: 10,
7
- width: 900,
8
- height: 600
9
+ width: 900,
10
+ height: 600
9
11
  },
10
12
  role: {
11
13
  font: "'Roboto Condensed', sans-serif",
12
14
  border: '#3c4260',
13
- fill: '#dcd7d7',
14
- radius: 2,
15
+ fill: '#dcd7d7',
16
+ radius: 2,
15
17
  spacing: 100,
16
- width: 100,
17
- height: 55,
18
- line: 3,
18
+ width: 100,
19
+ height: 55,
20
+ line: 3
19
21
  },
20
22
  message: {
21
23
  color: '#3c4260',
@@ -23,10 +25,10 @@ module Markdoc
23
25
  size: 11,
24
26
  spacing: 40,
25
27
  offset: 100, # from top
26
- line: 3,
28
+ line: 3,
27
29
  dash: '4,2'
28
30
  }
29
- }
31
+ }.freeze
30
32
 
31
33
  def self.draw(code)
32
34
  diagram = Diagram.new(code)
@@ -60,8 +62,8 @@ module Markdoc
60
62
  self.font = args[:ui][:font]
61
63
  end
62
64
 
63
- def <=> o
64
- column <=> o.column
65
+ def <=>(other)
66
+ column <=> other.column
65
67
  end
66
68
 
67
69
  def type
@@ -80,11 +82,11 @@ module Markdoc
80
82
  end
81
83
 
82
84
  def center
83
- x + width/2
85
+ x + width / 2
84
86
  end
85
87
 
86
88
  def x
87
- offsetx + column*(width + spacing)
89
+ offsetx + column * (width + spacing)
88
90
  end
89
91
 
90
92
  def y
@@ -95,18 +97,18 @@ module Markdoc
95
97
  elements = []
96
98
  case type
97
99
  when :actor
98
- elements << %Q[<g transform="translate(#{x+10},0)"><path d="M74,64 a30,30 0 0,0 -27,-27 a16,18 0 1,0 -16,0 a30,30 0, 0,0 -27,27 z" stroke-width="#{line}" fill="#{fill}" stroke="#{border}"/></g>]
99
- elements << %Q[<text x="#{x+46-2*id.size}" y="#{y+height-5}" font-family="#{font}" font-size="12" fill="#{border}">#{id}</text>]
100
+ elements << %[<g transform="translate(#{x + 10},0)"><path d="M74,64 a30,30 0 0,0 -27,-27 a16,18 0 1,0 -16,0 a30,30 0, 0,0 -27,27 z" stroke-width="#{line}" fill="#{fill}" stroke="#{border}"/></g>]
101
+ elements << %(<text x="#{x + 46 - 2 * id.size}" y="#{y + height - 5}" font-family="#{font}" font-size="12" fill="#{border}">#{id}</text>)
100
102
  else
101
- elements << %Q[<rect fill="#{fill}" stroke="#{border}" rx="#{radius}" ry="#{radius}" x="#{x}" y="#{y}" width="#{width}" height="#{height}" stroke-width="#{line}"/>]
102
- elements << %Q[<text x="#{x+10}" y="#{y+20}" font-family="#{font}" font-size="12" fill="#{border}">#{label}</text>]
103
+ elements << %(<rect fill="#{fill}" stroke="#{border}" rx="#{radius}" ry="#{radius}" x="#{x}" y="#{y}" width="#{width}" height="#{height}" stroke-width="#{line}"/>)
104
+ elements << %(<text x="#{x + 10}" y="#{y + 20}" font-family="#{font}" font-size="12" fill="#{border}">#{label}</text>)
103
105
  end
104
106
 
105
107
  x1 = center
106
108
  y1 = offsety + height
107
109
  x2 = center
108
110
  y2 = messages.last.y + 10
109
- elements << %Q[<line x1="#{x1}" y1="#{y1}" x2="#{x2}" y2="#{y2}" stroke="#{border}" stroke-width="#{line}"/>]
111
+ elements << %(<line x1="#{x1}" y1="#{y1}" x2="#{x2}" y2="#{y2}" stroke="#{border}" stroke-width="#{line}"/>)
110
112
 
111
113
  elements.join("\n")
112
114
  end
@@ -134,17 +136,19 @@ module Markdoc
134
136
  self.dash = args[:ui][:dash]
135
137
 
136
138
  if op.index('~')
137
- options << %Q[stroke-dasharray="#{dash}"]
139
+ options << %(stroke-dasharray="#{dash}")
138
140
  elsif op.index('-').nil?
139
- raise "Message direction must be one of ->, ~>, <-, <~"
141
+ raise 'Message direction must be one of ->, ~>, <-, <~'
140
142
  end
141
143
 
142
144
  if op.index('>')
143
- self.source, self.dest = args[:role1], args[:role2]
145
+ self.source = args[:role1]
146
+ self.dest = args[:role2]
144
147
  elsif op.index('<')
145
- self.source, self.dest = args[:role2], args[:role1]
148
+ self.source = args[:role2]
149
+ self.dest = args[:role1]
146
150
  else
147
- raise "Message direction must be one of ->, ~>, <-, <~"
151
+ raise 'Message direction must be one of ->, ~>, <-, <~'
148
152
  end
149
153
 
150
154
  source.messages << self
@@ -155,36 +159,35 @@ module Markdoc
155
159
  role1, role2 = *(source < dest ? [source, dest] : [dest, source])
156
160
  elements = []
157
161
 
162
+ x1 = role1.center
158
163
  if role1.eql?(role2)
159
- x1 = role1.center
160
164
  y1 = y
161
165
  x2 = x1 + 50
162
166
  y2 = y1 + spacing
163
167
 
164
- elements << %Q(<polyline points="#{x1},#{y1} #{x2},#{y1} #{x2},#{y2} #{x1+5},#{y2}" fill="none" stroke-width="2" stroke-linejoin="round" stroke="#{color}" #{options.join ' '}/>)
165
- elements << %Q(<polygon points="#{x1+10},#{y2-5} #{x1},#{y2} #{x1+10},#{y2+5}" fill="#{color}"/>)
166
- elements << %Q(<text x="#{x1+10}" y="#{y1-5}" font-family="#{font}" font-size="#{size}" fill="#{color}">#{label}</text>)
168
+ elements << %(<polyline points="#{x1},#{y1} #{x2},#{y1} #{x2},#{y2} #{x1 + 5},#{y2}" fill="none" stroke-width="2" stroke-linejoin="round" stroke="#{color}" #{options.join ' '}/>)
169
+ elements << %(<polygon points="#{x1 + 10},#{y2 - 5} #{x1},#{y2} #{x1 + 10},#{y2 + 5}" fill="#{color}"/>)
170
+ elements << %(<text x="#{x1 + 10}" y="#{y1 - 5}" font-family="#{font}" font-size="#{size}" fill="#{color}">#{label}</text>)
167
171
  else
168
- x1 = role1.center
169
172
  x2 = role2.center
170
173
 
171
174
  if role1 == source
172
175
  x2 -= 10
173
- elements << %Q(<polygon points="#{x2},#{y-5} #{x2+10},#{y} #{x2},#{y+5}" fill="#{color}"/>)
176
+ elements << %(<polygon points="#{x2},#{y - 5} #{x2 + 10},#{y} #{x2},#{y + 5}" fill="#{color}"/>)
174
177
  else
175
178
  x1 += 10
176
- elements << %Q(<polygon points="#{x1},#{y-5} #{x1-10},#{y} #{x1},#{y+5}" fill="#{color}"/>)
179
+ elements << %(<polygon points="#{x1},#{y - 5} #{x1 - 10},#{y} #{x1},#{y + 5}" fill="#{color}"/>)
177
180
  end
178
181
 
179
- elements << %Q(<line x1="#{x1}" y1="#{y}" x2="#{x2}" y2="#{y}" stroke="#{color}" stroke-width="2" #{options.join ' '}/>)
180
- elements << %Q(<text x="#{x1+40}" y="#{y-5}" font-family="#{font}" font-size="#{size}" fill="#{color}">#{label}</text>)
182
+ elements << %(<line x1="#{x1}" y1="#{y}" x2="#{x2}" y2="#{y}" stroke="#{color}" stroke-width="2" #{options.join ' '}/>)
183
+ elements << %(<text x="#{x1 + 40}" y="#{y - 5}" font-family="#{font}" font-size="#{size}" fill="#{color}">#{label}</text>)
181
184
 
182
- if comment.size > 0
185
+ if comment.size.positive?
183
186
  x = role2.prev.center + 15
184
- elements << %Q(<path fill="#eeeeee" d="M#{x2-30},#{y+1} L#{x2-30},#{y+10} H#{x} V#{y+2*spacing - 25} H#{x2} V#{y+10} H#{x2-20} z" />)
185
- elements << %Q(<text x="#{x+5}" y="#{y+23}" font-family="#{font}" font-size="#{size}" fill="#{color}">)
187
+ elements << %(<path fill="#eeeeee" d="M#{x2 - 30},#{y + 1} L#{x2 - 30},#{y + 10} H#{x} V#{y + 2 * spacing - 25} H#{x2} V#{y + 10} H#{x2 - 20} z" />)
188
+ elements << %(<text x="#{x + 5}" y="#{y + 23}" font-family="#{font}" font-size="#{size}" fill="#{color}">)
186
189
  split(comment).each_with_index do |line, i|
187
- elements << %Q(<tspan x="#{x+5}" y="#{y+23+13*i}">#{line}</tspan>)
190
+ elements << %(<tspan x="#{x + 5}" y="#{y + 23 + 13 * i}">#{line}</tspan>)
188
191
  end
189
192
  elements << '</text>'
190
193
  end
@@ -194,7 +197,7 @@ module Markdoc
194
197
  end
195
198
 
196
199
  def y
197
- offset + row*spacing
200
+ offset + row * spacing
198
201
  end
199
202
 
200
203
  private
@@ -210,10 +213,9 @@ module Markdoc
210
213
  line = word
211
214
  end
212
215
  end
213
- ary << line if line.length > 0
216
+ ary << line if line.length.positive?
214
217
  ary
215
218
  end
216
-
217
219
  end
218
220
 
219
221
  class Diagram
@@ -233,14 +235,14 @@ module Markdoc
233
235
  end
234
236
 
235
237
  def find(id)
236
- roles.detect{|role| role.id == id.strip} or raise("Non-declared role: #{id}")
238
+ roles.detect { |role| role.id == id.strip } or raise("Non-declared role: #{id}")
237
239
  end
238
240
 
239
241
  def parse
240
242
  input.split("\n").each do |line|
241
243
  next if line.strip.empty?
242
244
 
243
- if matches = line.match(/^(?<id>[a-zA-Z0-9_ \t]+) *= *(?<label>[a-zA-Z0-9_ \t]+)/)
245
+ if (matches = line.match(/^(?<id>[a-zA-Z0-9_ \t]+) *= *(?<label>[a-zA-Z0-9_ \t]+)/))
244
246
  # User = Actor
245
247
  roles << Role.new(
246
248
  id: matches[:id],
@@ -249,7 +251,7 @@ module Markdoc
249
251
  diagram: attributes[:diagram],
250
252
  ui: attributes[:role]
251
253
  )
252
- elsif matches = line.match(/^(?<role1>[a-zA-Z0-9_ \t]+) *(?<op>[<\-~>]{2}) *(?<role2>[a-zA-Z0-9_ \t]+):(?<label>[^#]+)#?(?<comment>.*)/)
254
+ elsif (matches = line.match(/^(?<role1>[a-zA-Z0-9_ \t]+) *(?<op>[<\-~>]{2}) *(?<role2>[a-zA-Z0-9_ \t]+):(?<label>[^#]+)#?(?<comment>.*)/))
253
255
  # User -> Web : Login
254
256
  messages << Message.new(
255
257
  role1: find(matches[:role1]),
@@ -263,8 +265,8 @@ module Markdoc
263
265
  )
264
266
  self.rows += 1
265
267
  # comment takes 1 more row
266
- self.rows += 1 if matches[:comment].length > 0
267
- elsif matches = line.match(/^(?<role>[a-zA-Z0-9_ \t]+) *:(?<label>[^#]+)#?(?<comment>.*)/)
268
+ self.rows += 1 if matches[:comment].length.positive?
269
+ elsif (matches = line.match(/^(?<role>[a-zA-Z0-9_ \t]+) *:(?<label>[^#]+)#?(?<comment>.*)/))
268
270
  # Web : Save the form
269
271
  messages << Message.new(
270
272
  role1: find(matches[:role]),
@@ -290,11 +292,7 @@ module Markdoc
290
292
  end
291
293
 
292
294
  def print
293
- template % {
294
- width: width,
295
- height: height,
296
- content: (roles + messages).map(&:print).join("\n")
297
- }
295
+ format(template, width: width, height: height, content: (roles + messages).map(&:print).join("\n"))
298
296
  end
299
297
 
300
298
  def height
@@ -311,13 +309,12 @@ module Markdoc
311
309
  private
312
310
 
313
311
  def template
314
- '<svg xmlns="http://www.w3.org/2000/svg" '+
315
- 'xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" '+
316
- 'width="%{width}" height="%{height}" '+
317
- 'viewBox="0 0 %{width} %{height}">'+
318
- '%{content}</svg>'
312
+ '<svg xmlns="http://www.w3.org/2000/svg" ' \
313
+ 'xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" ' \
314
+ 'width="%<width>s" height="%<height>s" ' \
315
+ 'viewBox="0 0 %<width>s %<height>s">' \
316
+ '%<content>s</svg>'
319
317
  end
320
-
321
318
  end
322
319
  end
323
320
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Markdoc
2
- VERSION = '1.2.1'
4
+ VERSION = '2.0.0'
3
5
  end
data/lib/markdoc.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'digest'
2
4
  require 'tempfile'
3
5
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: markdoc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
- - Lkhagva Ochirkhuyag
7
+ - Ochirkhuyag.L
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-23 00:00:00.000000000 Z
11
+ date: 2022-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: polyglot
@@ -25,61 +25,61 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0.3'
27
27
  - !ruby/object:Gem::Dependency
28
- name: redcarpet
28
+ name: pygments.rb
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '3.2'
33
+ version: '2.3'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '3.2'
40
+ version: '2.3'
41
41
  - !ruby/object:Gem::Dependency
42
- name: treetop
42
+ name: redcarpet
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.6'
47
+ version: '3.5'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.6'
54
+ version: '3.5'
55
55
  - !ruby/object:Gem::Dependency
56
- name: pygments.rb
56
+ name: treetop
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '1.6'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '1.6'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">"
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 10.0.0
75
+ version: '13.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">"
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 10.0.0
82
+ version: '13.0'
83
83
  description: Markdown with support for pseudocode to flowchart and sequence diagram
84
84
  generation
85
85
  email: ochkoo@gmail.com
@@ -113,14 +113,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - ">="
115
115
  - !ruby/object:Gem::Version
116
- version: 1.9.2
116
+ version: 2.7.6
117
117
  required_rubygems_version: !ruby/object:Gem::Requirement
118
118
  requirements:
119
119
  - - ">="
120
120
  - !ruby/object:Gem::Version
121
121
  version: '0'
122
122
  requirements: []
123
- rubygems_version: 3.0.3
123
+ rubygems_version: 3.1.6
124
124
  signing_key:
125
125
  specification_version: 4
126
126
  summary: Markdown to HTML converter with diagrams