Class: RSGenerator
Class Method Summary collapse
Instance Method Summary collapse
- #draw_pdf ⇒ Object
- #draw_png ⇒ Object
- #draw_svg ⇒ Object
- #draw_tree ⇒ Object
-
#initialize(params = {}) ⇒ RSGenerator
constructor
A new instance of RSGenerator.
Constructor Details
#initialize(params = {}) ⇒ RSGenerator
Returns a new instance of RSGenerator.
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/rsyntaxtree.rb', line 48 def initialize(params = {}) new_params = {} params.each do |key, value| case key when "data" data = URI.unescape(value) data = data.gsub('-AMP-', '&').gsub('-PRIME-', "'").gsub('-SCOLON-', ';') new_params[key] = data when "symmetrize", "color", "autosub" new_params[key] = value == "on"? true : false when "fontsize" new_params[key] = value.to_i when "fontstyle" if value == "sans-serif" new_params["font"] = FONT_DIR + "/DroidSans.ttf" elsif value == "serif" new_params["font"] = FONT_DIR + "/DroidSerif-Regular.ttf" elsif value == "jp-gothic" new_params["font"] = FONT_DIR + "/ipagp.ttf" elsif value == "jp-mincho" new_params["font"] = FONT_DIR + "/ipamp.ttf" elsif value == "cjk" new_params["font"] = FONT_DIR + "/wqy-zenhei.ttf" elsif value == "aru" new_params["font"] = FONT_DIR + "/ArialUnicode.ttf" elsif value == "tnr" new_params["font"] = FONT_DIR + "/TimesNewRoman.ttf" end else new_params[key] = value end end @params = { "symmetrize" => true, "color" => true, "autosub" => false, "fontsize" => 18, "format" => "png", "leafstyle" => "auto", "font" => FONT_DIR + "/ipagp.ttf", "filename" => "syntree", "data" => "", } @params.merge! new_params end |
Class Method Details
.check_data(text) ⇒ Object
97 98 99 100 101 |
# File 'lib/rsyntaxtree.rb', line 97 def self.check_data(text) # StringParser.validate_text(text) sp = StringParser.new(text) sp.valid? end |
Instance Method Details
#draw_pdf ⇒ Object
108 109 110 111 |
# File 'lib/rsyntaxtree.rb', line 108 def draw_pdf @params["format"] = "pdf" draw_tree end |
#draw_png ⇒ Object
103 104 105 106 |
# File 'lib/rsyntaxtree.rb', line 103 def draw_png @params["format"] = "png" draw_tree end |
#draw_svg ⇒ Object
113 114 115 116 |
# File 'lib/rsyntaxtree.rb', line 113 def draw_svg @params["format"] = "svg" draw_svg end |
#draw_tree ⇒ Object
118 119 120 121 122 123 124 125 126 |
# File 'lib/rsyntaxtree.rb', line 118 def draw_tree sp = StringParser.new(@params["data"]) sp.parse sp.auto_subscript if @params["autosub"] elist = sp.get_elementlist graph = TreeGraph.new(elist, @params["symmetrize"], @params["color"], @params["leafstyle"], @params["font"], @params["fontsize"], @params["format"]) graph.to_blob(@params["format"]) end |