asciidoctor-diagram 1.3.0.preview.3 → 1.3.0.preview.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0d2afa05e275154704010cd26743547999d25f7b
4
+ data.tar.gz: 35f0709598867295eeca7435718eaad9e7f6cae4
5
+ SHA512:
6
+ metadata.gz: 4c5137cb403ced6164b826f22c76f485c0bd75e89b6017ea83c96c939fe97987d5576e3caa808a8b3f42082e428098a831c379a97e5f1f445da3270ff4e6d041
7
+ data.tar.gz: 1a4608f53e812b5c1cc205c24636d3fefaa5149c33410ca6ceace5402ef11d289695cc74a6846381b3689f3fd9ff127973bdc0104ea26a86e0649a57e3ec410c
data/CHANGELOG.adoc CHANGED
@@ -8,8 +8,10 @@ Enhancements::
8
8
  * Add support for Actdiag diagrams (requires Actdiag to be installed separately)
9
9
  * Add support for Seqdiag diagrams (requires Seqdiag to be installed separately)
10
10
  * Add support for Nwdiag diagrams (requires Nwdiag to be installed separately)
11
- * Updated PlantUML to revision 8004 (23/08/2014)
11
+ * Updated PlantUML to revision 8021 (14/03/2015)
12
12
  * Remove dependency on RJB to simplify installation
13
+ * Add diagram scaling support using the scale attribute
14
+ * Add Ditaa command line option support using the options attribute
13
15
 
14
16
  Bug Fixes::
15
17
 
data/README.adoc CHANGED
@@ -14,6 +14,12 @@ The extension takes care of running the diagram processor to generate the images
14
14
 
15
15
  This gem was inspired by the https://code.google.com/p/asciidoc-plantuml/[AsciiDoc PlantUML filter] for AsciiDoc Python.
16
16
 
17
+ == Status
18
+
19
+ image:https://travis-ci.org/asciidoctor/asciidoctor-diagram.svg?branch=master["Linux Build Status", link="https://travis-ci.org/asciidoctor/asciidoctor-diagram"]
20
+
21
+ image:https://ci.appveyor.com/api/projects/status/4r4gkk5gy3igs6nh/branch/master?svg=true["Windows Build Status", link="https://ci.appveyor.com/project/asciidoctor/asciidoctor-diagram"]
22
+
17
23
  == Installation
18
24
 
19
25
  Add this line to your application's Gemfile:
@@ -91,6 +97,12 @@ The diagram blocks support the following attributes:
91
97
  . `target` (or 2nd position): the basename of the file to generate. If not specified an auto-generated name will be used.
92
98
  . `format` (or 3rd position): the output format. PlantUML blocks support `png`, `svg` and `txt`. Graphviz, Shaape and BlockDiag support `png` and `svg`. Ditaa only supports `png`.
93
99
 
100
+ Once you have all of this in place and your original AsciiDoc file contains a diagram block, it's time to build it into an HTML file with Asciidoctor Diagram magic!
101
+ When executing Asciidoctor, you must reference the Adciidoctor Diagram library, otherwise your diagam blocks won't be recognized as such. When executing Asciidoctor from the command line, do it using the -r parameter to reference this external library:
102
+
103
+ $ asciidoctor -r asciidoctor-diagram doc.adoc
104
+
105
+
94
106
  == Contributing
95
107
 
96
108
  . Fork it
data/Rakefile CHANGED
@@ -1,7 +1,12 @@
1
1
  require 'rubygems/package_task'
2
2
  require 'rspec/core/rake_task'
3
3
 
4
- RSpec::Core::RakeTask.new(:test)
4
+ test = RSpec::Core::RakeTask.new(:test)
5
+
6
+ if ENV['APPVEYOR']
7
+ # Exclude diagram types that require external libraries that are difficult to build on Windows.
8
+ test.exclude_pattern = 'spec/**/{blockdiag,shaape}_spec.rb'
9
+ end
5
10
 
6
11
  task :default => :test
7
12
 
@@ -2,4 +2,5 @@ require 'asciidoctor-diagram/blockdiag'
2
2
  require 'asciidoctor-diagram/ditaa'
3
3
  require 'asciidoctor-diagram/graphviz'
4
4
  require 'asciidoctor-diagram/plantuml'
5
+ require 'asciidoctor-diagram/salt'
5
6
  require 'asciidoctor-diagram/shaape'
@@ -10,12 +10,15 @@ module Asciidoctor
10
10
  end
11
11
  Java.classpath.concat JARS
12
12
 
13
- def ditaa(code)
13
+ def ditaa(code, attrs)
14
14
  Java.load
15
15
 
16
16
  response = Java.send_request(
17
17
  :url => '/ditaa',
18
- :body => code
18
+ :body => code,
19
+ :headers => {
20
+ 'X-Options' => attrs.delete('options') || ''
21
+ }
19
22
  )
20
23
 
21
24
  unless response[:code] == 200
@@ -26,8 +29,26 @@ module Asciidoctor
26
29
  end
27
30
 
28
31
  def self.included(mod)
29
- mod.register_format(:png, :image) do |c|
30
- ditaa(c.to_s)
32
+ mod.register_format(:png, :image) do |c, _, attrs|
33
+ ditaa(c.to_s, attrs)
34
+ end
35
+ end
36
+
37
+ def create_source(parent, reader, attributes)
38
+ source = super(parent, reader, attributes)
39
+ source.extend DitaaSource
40
+ source
41
+ end
42
+
43
+ module DitaaSource
44
+ def should_process?(image_file, image_metadata)
45
+ super(image_file, image_metadata) || image_metadata['options'] != attributes['options']
46
+ end
47
+
48
+ def create_image_metadata
49
+ metadata = super
50
+ metadata['options'] = attributes['options']
51
+ metadata
31
52
  end
32
53
  end
33
54
  end
@@ -27,6 +27,8 @@ module Asciidoctor
27
27
  # File.read(source.to_s)
28
28
  # end
29
29
  def register_format(format, type, &block)
30
+ raise "Unsupported output type: #{type}" unless type == :image || type == :literal
31
+
30
32
  unless @default_format
31
33
  @default_format = format
32
34
  end
@@ -35,7 +37,7 @@ module Asciidoctor
35
37
  :type => type,
36
38
  :generator => block
37
39
  }
38
- end
40
+ end
39
41
 
40
42
  # Returns the registered formats
41
43
  #
@@ -93,13 +95,19 @@ module Asciidoctor
93
95
 
94
96
  raise "#{self.class.name} does not support output format #{format}" unless generator_info
95
97
 
96
- case generator_info[:type]
97
- when :image
98
- create_image_block(parent, source, attributes, format, generator_info)
99
- when :literal
100
- create_literal_block(parent, source, attributes, generator_info)
101
- else
102
- raise "Unsupported output format: #{format}"
98
+ begin
99
+ case generator_info[:type]
100
+ when :literal
101
+ create_literal_block(parent, source, attributes, generator_info)
102
+ else
103
+ create_image_block(parent, source, attributes, format, generator_info)
104
+ end
105
+ rescue => e
106
+ text = "Failed to generate image: #{e.message}"
107
+ warn %(asciidoctor-diagram: ERROR: #{text})
108
+ text << "\n"
109
+ text << source.code
110
+ Asciidoctor::Block.new parent, :listing, :source => text, :attributes => attributes
103
111
  end
104
112
  end
105
113
 
@@ -133,10 +141,12 @@ module Asciidoctor
133
141
  metadata = {}
134
142
  end
135
143
 
144
+ image_attributes = attributes.dup
145
+
136
146
  if !File.exists?(image_file) || source.should_process?(image_file, metadata)
137
147
  params = IMAGE_PARAMS[format]
138
148
 
139
- result = instance_exec(source, parent, &generator_info[:generator])
149
+ result = instance_exec(source, parent, image_attributes, &generator_info[:generator])
140
150
 
141
151
  result.force_encoding(params[:encoding])
142
152
 
@@ -148,12 +158,25 @@ module Asciidoctor
148
158
  File.open(metadata_file, 'w') { |f| JSON.dump(metadata, f) }
149
159
  end
150
160
 
151
- image_attributes = attributes.dup
152
161
  image_attributes['target'] = image_name
162
+
163
+ scale = image_attributes['scale']
164
+ if scalematch = /(\d+)%/.match(scale)
165
+ scale_factor = scalematch[1].to_i / 100.0
166
+ else
167
+ scale_factor = 1.0
168
+ end
169
+
153
170
  if /html/i =~ parent.document.attributes['backend']
154
- image_attributes['width'] ||= metadata['width'] if metadata['width']
155
- image_attributes['height'] ||= metadata['height'] if metadata['height']
171
+ image_attributes.delete('scale')
172
+ if metadata['width'] && !image_attributes['width']
173
+ image_attributes['width'] = (metadata['width'] * scale_factor).to_i
174
+ end
175
+ if metadata['height'] && !image_attributes['height']
176
+ image_attributes['height'] = (metadata['height'] * scale_factor).to_i
177
+ end
156
178
  end
179
+
157
180
  image_attributes['alt'] ||= if title_text = attributes['title']
158
181
  title_text
159
182
  elsif target = attributes['target']
@@ -165,6 +188,16 @@ module Asciidoctor
165
188
  Asciidoctor::Block.new parent, :image, :content_model => :empty, :attributes => image_attributes
166
189
  end
167
190
 
191
+ def scale(size, factor)
192
+ if match = /(\d+)(.*)/.match(size)
193
+ value = match[1].to_i
194
+ unit = match[2]
195
+ (value * factor).to_i.to_s + unit
196
+ else
197
+ size
198
+ end
199
+ end
200
+
168
201
  def image_output_dir(parent)
169
202
  document = parent.document
170
203
 
@@ -270,6 +303,8 @@ module Asciidoctor
270
303
  class BasicSource
271
304
  include DiagramSource
272
305
 
306
+ attr_reader :attributes
307
+
273
308
  def initialize(attributes)
274
309
  @attributes = attributes
275
310
  end
@@ -40,22 +40,46 @@ module Asciidoctor
40
40
 
41
41
  def self.included(mod)
42
42
  mod.register_format(:png, :image) do |c, p|
43
- plantuml(p, c.to_s, 'uml', 'image/png')
43
+ plantuml(p, c.to_s, mod.tag, 'image/png')
44
44
  end
45
45
  mod.register_format(:svg, :image) do |c, p|
46
- plantuml(p, c.to_s, 'uml', 'image/svg+xml')
46
+ plantuml(p, c.to_s, mod.tag, 'image/svg+xml')
47
47
  end
48
48
  mod.register_format(:txt, :literal) do |c, p|
49
- plantuml(p, c.to_s, 'uml', 'text/plain;charset=utf-8')
49
+ plantuml(p, c.to_s, mod.tag, 'text/plain;charset=utf-8')
50
50
  end
51
51
  end
52
52
  end
53
53
 
54
54
  class PlantUmlBlockProcessor < Extensions::DiagramBlockProcessor
55
+ def self.tag
56
+ 'uml'
57
+ end
58
+
55
59
  include PlantUml
56
60
  end
57
61
 
58
62
  class PlantUmlBlockMacroProcessor < Extensions::DiagramBlockMacroProcessor
63
+ def self.tag
64
+ 'uml'
65
+ end
66
+
67
+ include PlantUml
68
+ end
69
+
70
+ class SaltBlockProcessor < Extensions::DiagramBlockProcessor
71
+ def self.tag
72
+ 'salt'
73
+ end
74
+
75
+ include PlantUml
76
+ end
77
+
78
+ class SaltBlockMacroProcessor < Extensions::DiagramBlockMacroProcessor
79
+ def self.tag
80
+ 'salt'
81
+ end
82
+
59
83
  include PlantUml
60
84
  end
61
85
  end
@@ -0,0 +1,9 @@
1
+ require 'asciidoctor/extensions'
2
+ require_relative 'version'
3
+
4
+ Asciidoctor::Extensions.register do
5
+ require_relative 'plantuml/extension'
6
+
7
+ block Asciidoctor::Diagram::SaltBlockProcessor, :salt
8
+ block_macro Asciidoctor::Diagram::SaltBlockMacroProcessor, :salt
9
+ end
@@ -31,7 +31,7 @@ module Asciidoctor
31
31
 
32
32
  raise "#{tool} image generation failed" unless result_code == 0
33
33
 
34
- File.read(target_file.path, :mode => 'rb')
34
+ File.binread(target_file.path)
35
35
  ensure
36
36
  target_file.unlink
37
37
  end
@@ -4,7 +4,7 @@ module Asciidoctor
4
4
  module Java
5
5
  def self.classpath
6
6
  @classpath ||= [
7
- File.expand_path(File.join('../..', 'asciidoctor-diagram-java-1.3.1.jar'), File.dirname(__FILE__))
7
+ File.expand_path(File.join('../..', 'asciidoctor-diagram-java-1.3.2.jar'), File.dirname(__FILE__))
8
8
  ]
9
9
  end
10
10
 
@@ -1,5 +1,5 @@
1
1
  module Asciidoctor
2
2
  module Diagram
3
- VERSION = "1.3.0.preview.3"
3
+ VERSION = "1.3.0.preview.4"
4
4
  end
5
5
  end
data/lib/plantuml.jar CHANGED
Binary file
data/spec/ditaa_spec.rb CHANGED
@@ -118,4 +118,70 @@ Doc Writer <doc@example.com>
118
118
  expect(target).to match /\.png$/
119
119
  expect(File.exists?(target)).to be true
120
120
  end
121
+
122
+ it "should support ditaa options as attributes" do
123
+ doc = <<-eos
124
+ = Hello, PlantUML!
125
+ Doc Writer <doc@example.com>
126
+
127
+ == First Section
128
+
129
+ [ditaa, options="--no-shadows --no-separation --round-corners --scale 2.5"]
130
+ ----
131
+ +--------+ +-------+ +-------+
132
+ | | --+ ditaa +--> | |
133
+ | Text | +-------+ |diagram|
134
+ |Document| |!magic!| | |
135
+ | {d}| | | | |
136
+ +---+----+ +-------+ +-------+
137
+ : ^
138
+ | Lots of work |
139
+ +-------------------------+
140
+ ----
141
+ eos
142
+
143
+ d = Asciidoctor.load StringIO.new(doc)
144
+ expect(d).to_not be_nil
145
+
146
+ b = d.find { |b| b.context == :image }
147
+ expect(b).to_not be_nil
148
+ target = b.attributes['target']
149
+ expect(target).to match /\.png$/
150
+ expect(File.exists?(target)).to be true
151
+ end
152
+
153
+ it "should regenerate images when options change" do
154
+ doc = <<-eos
155
+ = Hello, PlantUML!
156
+ Doc Writer <doc@example.com>
157
+
158
+ == First Section
159
+
160
+ [ditaa, options="{opts}"]
161
+ ----
162
+ +--------+ +-------+ +-------+
163
+ | | --+ ditaa +--> | |
164
+ | Text | +-------+ |diagram|
165
+ |Document| |!magic!| | |
166
+ | {d}| | | | |
167
+ +---+----+ +-------+ +-------+
168
+ : ^
169
+ | Lots of work |
170
+ +-------------------------+
171
+ ----
172
+ eos
173
+
174
+ d = Asciidoctor.load StringIO.new(doc.sub('{opts}', 'no-shadow'))
175
+ b = d.find { |b| b.context == :image }
176
+ target = b.attributes['target']
177
+ mtime1 = File.mtime(target)
178
+
179
+ sleep 1
180
+
181
+ d = Asciidoctor.load StringIO.new(doc.sub('{opts}', 'round-corners'))
182
+
183
+ mtime2 = File.mtime(target)
184
+
185
+ expect(mtime2).to be > mtime1
186
+ end
121
187
  end
@@ -335,7 +335,7 @@ User -> (Start)
335
335
  ----
336
336
  eos
337
337
 
338
- d = Asciidoctor.load StringIO.new(doc), :attributes => {'backend' => 'docbook5' }
338
+ d = Asciidoctor.load StringIO.new(doc), :attributes => {'backend' => 'docbook5'}
339
339
  expect(d).to_not be_nil
340
340
 
341
341
  b = d.find { |b| b.context == :image }
@@ -347,4 +347,142 @@ User -> (Start)
347
347
  expect(b.attributes['width']).to be_nil
348
348
  expect(b.attributes['height']).to be_nil
349
349
  end
350
+
351
+ it "should support salt diagrams using salt block type" do
352
+ doc = <<-eos
353
+ = Hello, PlantUML!
354
+ Doc Writer <doc@example.com>
355
+
356
+ == First Section
357
+
358
+ [salt, format="png"]
359
+ ----
360
+ {
361
+ Just plain text
362
+ [This is my button]
363
+ () Unchecked radio
364
+ (X) Checked radio
365
+ [] Unchecked box
366
+ [X] Checked box
367
+ "Enter text here "
368
+ ^This is a droplist^
369
+ }
370
+ ----
371
+ eos
372
+
373
+ d = Asciidoctor.load StringIO.new(doc), :attributes => {'backend' => 'docbook5'}
374
+ expect(d).to_not be_nil
375
+
376
+ b = d.find { |b| b.context == :image }
377
+ expect(b).to_not be_nil
378
+
379
+ target = b.attributes['target']
380
+ expect(File.exists?(target)).to be true
381
+
382
+ expect(b.attributes['width']).to be_nil
383
+ expect(b.attributes['height']).to be_nil
384
+ end
385
+
386
+ it "should support salt diagrams using plantuml block type" do
387
+ doc = <<-eos
388
+ = Hello, PlantUML!
389
+ Doc Writer <doc@example.com>
390
+
391
+ == First Section
392
+
393
+ [plantuml, format="png"]
394
+ ----
395
+ salt
396
+ {
397
+ Just plain text
398
+ [This is my button]
399
+ () Unchecked radio
400
+ (X) Checked radio
401
+ [] Unchecked box
402
+ [X] Checked box
403
+ "Enter text here "
404
+ ^This is a droplist^
405
+ }
406
+ ----
407
+ eos
408
+
409
+ d = Asciidoctor.load StringIO.new(doc), :attributes => {'backend' => 'docbook5'}
410
+ expect(d).to_not be_nil
411
+
412
+ b = d.find { |b| b.context == :image }
413
+ expect(b).to_not be_nil
414
+
415
+ target = b.attributes['target']
416
+ expect(File.exists?(target)).to be true
417
+
418
+ expect(b.attributes['width']).to be_nil
419
+ expect(b.attributes['height']).to be_nil
420
+ end
421
+
422
+ it "should support salt diagrams containing tree widgets" do
423
+ doc = <<-eos
424
+ = Hello, PlantUML!
425
+ Doc Writer <doc@example.com>
426
+
427
+ == First Section
428
+
429
+ [plantuml, format="png"]
430
+ ----
431
+ salt
432
+ {
433
+ {T
434
+ +A
435
+ ++a
436
+ }
437
+ }
438
+ ----
439
+ eos
440
+
441
+ d = Asciidoctor.load StringIO.new(doc), :attributes => {'backend' => 'docbook5'}
442
+ expect(d).to_not be_nil
443
+
444
+ b = d.find { |b| b.context == :image }
445
+ expect(b).to_not be_nil
446
+
447
+ target = b.attributes['target']
448
+ expect(File.exists?(target)).to be true
449
+
450
+ expect(b.attributes['width']).to be_nil
451
+ expect(b.attributes['height']).to be_nil
452
+ end
453
+
454
+ it "should support scaling diagrams" do
455
+ doc = <<-eos
456
+ = Hello, PlantUML!
457
+ Doc Writer <doc@example.com>
458
+
459
+ == First Section
460
+
461
+ [plantuml, format="png"]
462
+ ----
463
+ A -> B
464
+ ----
465
+ eos
466
+
467
+ scaled_doc = <<-eos
468
+ = Hello, PlantUML!
469
+ Doc Writer <doc@example.com>
470
+
471
+ == First Section
472
+
473
+ [plantuml, format="png", scale="150%"]
474
+ ----
475
+ A -> B
476
+ ----
477
+ eos
478
+
479
+ d = Asciidoctor.load StringIO.new(doc), :attributes => {'backend' => 'html5'}
480
+ unscaled_image = d.find { |b| b.context == :image }
481
+
482
+ d = Asciidoctor.load StringIO.new(scaled_doc), :attributes => {'backend' => 'html5'}
483
+ scaled_image = d.find { |b| b.context == :image }
484
+
485
+ expect(scaled_image.attributes['width']).to be_within(1).of(unscaled_image.attributes['width'] * 1.5)
486
+ expect(scaled_image.attributes['height']).to be_within(1).of(unscaled_image.attributes['height'] * 1.5)
487
+ end
350
488
  end
metadata CHANGED
@@ -1,78 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asciidoctor-diagram
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0.preview.3
5
- prerelease: 6
4
+ version: 1.3.0.preview.4
6
5
  platform: ruby
7
6
  authors:
8
7
  - Pepijn Van Eeckhoudt
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2014-11-30 00:00:00.000000000 Z
11
+ date: 2015-03-29 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
19
  version: '1.3'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - "~>"
28
25
  - !ruby/object:Gem::Version
29
26
  version: '1.3'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ">="
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rspec
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - ">="
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - ">="
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: asciidoctor
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ~>
59
+ - - "~>"
68
60
  - !ruby/object:Gem::Version
69
61
  version: 1.5.0
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ~>
66
+ - - "~>"
76
67
  - !ruby/object:Gem::Version
77
68
  version: 1.5.0
78
69
  description: Asciidoctor diagramming extension
@@ -90,7 +81,7 @@ files:
90
81
  - examples/README.adoc
91
82
  - examples/design.adoc
92
83
  - examples/features.adoc
93
- - lib/asciidoctor-diagram-java-1.3.1.jar
84
+ - lib/asciidoctor-diagram-java-1.3.2.jar
94
85
  - lib/asciidoctor-diagram.rb
95
86
  - lib/asciidoctor-diagram/blockdiag.rb
96
87
  - lib/asciidoctor-diagram/blockdiag/extension.rb
@@ -101,6 +92,7 @@ files:
101
92
  - lib/asciidoctor-diagram/graphviz/extension.rb
102
93
  - lib/asciidoctor-diagram/plantuml.rb
103
94
  - lib/asciidoctor-diagram/plantuml/extension.rb
95
+ - lib/asciidoctor-diagram/salt.rb
104
96
  - lib/asciidoctor-diagram/shaape.rb
105
97
  - lib/asciidoctor-diagram/shaape/extension.rb
106
98
  - lib/asciidoctor-diagram/util/binaryio.rb
@@ -123,27 +115,26 @@ files:
123
115
  homepage: https://github.com/asciidoctor/asciidoctor-diagram
124
116
  licenses:
125
117
  - MIT
118
+ metadata: {}
126
119
  post_install_message:
127
120
  rdoc_options: []
128
121
  require_paths:
129
122
  - lib
130
123
  required_ruby_version: !ruby/object:Gem::Requirement
131
- none: false
132
124
  requirements:
133
- - - ! '>='
125
+ - - ">="
134
126
  - !ruby/object:Gem::Version
135
127
  version: '0'
136
128
  required_rubygems_version: !ruby/object:Gem::Requirement
137
- none: false
138
129
  requirements:
139
- - - ! '>'
130
+ - - ">"
140
131
  - !ruby/object:Gem::Version
141
132
  version: 1.3.1
142
133
  requirements: []
143
134
  rubyforge_project:
144
- rubygems_version: 1.8.23.2
135
+ rubygems_version: 2.4.5
145
136
  signing_key:
146
- specification_version: 3
137
+ specification_version: 4
147
138
  summary: An extension for asciidoctor that adds support for UML diagram generation
148
139
  using PlantUML
149
140
  test_files:
Binary file