railroad_diagrams 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RailroadDiagrams
4
+ VS = 8 # minimum vertical separation between things. For a 3px stroke, must be at least 4
5
+ AR = 10 # radius of arcs
6
+ DIAGRAM_CLASS = 'railroad-diagram' # class to put on the root <svg>
7
+ STROKE_ODD_PIXEL_LENGTH =
8
+ true # is the stroke width an odd (1px, 3px, etc) pixel length?
9
+ INTERNAL_ALIGNMENT =
10
+ 'center' # how to align items when they have extra space. left/right/center
11
+ CHAR_WIDTH = 8.5 # width of each monospace character. play until you find the right value for your font
12
+ COMMENT_CHAR_WIDTH = 7 # comments are in smaller text by default
13
+
14
+ def self.escape_attr(val)
15
+ return val.gsub('&', '&amp;').gsub("'", '&apos;').gsub('"', '&quot;') if val.is_a?(String)
16
+
17
+ '%g' % val
18
+ end
19
+
20
+ def self.escape_html(val)
21
+ escape_attr(val).gsub('<', '&lt;')
22
+ end
23
+ end
24
+
25
+ require_relative 'railroad_diagrams/diagram_item'
26
+ require_relative 'railroad_diagrams/diagram_multi_container'
27
+
28
+ require_relative 'railroad_diagrams/alternating_sequence'
29
+ require_relative 'railroad_diagrams/choice'
30
+ require_relative 'railroad_diagrams/command'
31
+ require_relative 'railroad_diagrams/comment'
32
+ require_relative 'railroad_diagrams/diagram'
33
+ require_relative 'railroad_diagrams/end'
34
+ require_relative 'railroad_diagrams/group'
35
+ require_relative 'railroad_diagrams/horizontal_choice'
36
+ require_relative 'railroad_diagrams/multiple_choice'
37
+ require_relative 'railroad_diagrams/non_terminal'
38
+ require_relative 'railroad_diagrams/one_or_more'
39
+ require_relative 'railroad_diagrams/optional_sequence'
40
+ require_relative 'railroad_diagrams/optional'
41
+ require_relative 'railroad_diagrams/path'
42
+ require_relative 'railroad_diagrams/sequence'
43
+ require_relative 'railroad_diagrams/skip'
44
+ require_relative 'railroad_diagrams/stack'
45
+ require_relative 'railroad_diagrams/start'
46
+ require_relative 'railroad_diagrams/style'
47
+ require_relative 'railroad_diagrams/terminal'
48
+ require_relative 'railroad_diagrams/text_diagram'
49
+ require_relative 'railroad_diagrams/version'
50
+ require_relative 'railroad_diagrams/zero_or_more'