class Text2isometric::Commands
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
# File lib/text2isometric.rb, line 11 def initialize(*args) super @output_dir = File.expand_path('~') + "/isometric" end
Public Instance Methods
cube()
click to toggle source
# File lib/text2isometric.rb, line 49 def cube cube = <<CUBE ....... .... .... .... .... .... t .... .... o ... |... p ...| | .... .... | | .... .... | | .... .... | | f .... ... | | r | | | o | e | | n | d | | t | i | | | s | ...... | .... e ..... | ..... n ..... | ..... a ....|.... l . p CUBE print cube end
front(text)
click to toggle source
# File lib/text2isometric.rb, line 39 def front(text) create_isometric(text, 'front') end
instgrafflescript()
click to toggle source
# File lib/text2isometric.rb, line 22 def instgrafflescript script_path = File.expand_path('../../templates/isometric-text.scpt',__FILE__) dest_path = File.expand_path('~') + "/Library/Scripts/Applications/OmniGraffle/" system "cp -v #{script_path} #{dest_path}" end
plane(text)
click to toggle source
# File lib/text2isometric.rb, line 34 def plane(text) create_isometric(text, 'plane') end
side(text)
click to toggle source
# File lib/text2isometric.rb, line 29 def side(text) create_isometric(text, 'side') end
top(text)
click to toggle source
# File lib/text2isometric.rb, line 44 def top(text) create_isometric(text, 'top') end
version()
click to toggle source
# File lib/text2isometric.rb, line 17 def version print Text2isometric::VERSION + "\n" end
Private Instance Methods
create_isometric(text, axis)
click to toggle source
# File lib/text2isometric.rb, line 79 def create_isometric(text, axis) system "rm -Rf #{@output_dir}" system "mkdir -p #{@output_dir}" r = {} if options[:size] r['size'] = options[:size] else r['size'] = '80' end unless options[:font].empty? r['color'] = options[:color] else r['color'] = 'black' end unless options[:font].empty? r['font'] = options[:font] else r['font'] = 'black' end r['text'] = text r['transform_class'] = axis erb_path = File.expand_path('../../templates/text.html.erb',__FILE__) template = File.read(erb_path) namespace = OpenStruct.new( r:r ) result = ERB.new(template).result(namespace.instance_eval { binding }) File.open("#{@output_dir}/text.html", 'w') { |file| file.write(result)} #html -> png system "/usr/local/bin/webkit2png -F --transparent -o #{@output_dir}/out #{@output_dir}/text.html" system "/usr/local/bin/convert #{@output_dir}/out-full.png -define png:big-depth=16 -define png:color-type=6 -trim #{@output_dir}/trim.png" system "mv #{@output_dir}/trim.png #{@output_dir}/isometric.png" print "created:\n" print "#{@output_dir}/isometric.png\n" end