Module: Dyndoc
- Defined in:
- lib/dyndoc-converter.rb,
lib/dyndoc-software.rb
Overview
require ‘pandoc-ruby’
Defined Under Namespace
Modules: Converter
Constant Summary collapse
- SOFTWARE =
{}
Class Method Summary collapse
- .pdflatex ⇒ Object
- .R ⇒ Object
- .software ⇒ Object
- .software?(software) ⇒ Boolean
- .software_init(force = false) ⇒ Object
- .which_path(bin) ⇒ Object
Class Method Details
.pdflatex ⇒ Object
67 68 69 70 71 72 73 74 |
# File 'lib/dyndoc-software.rb', line 67 def self.pdflatex # this has to be initialized each time you need pdflatex since TEXINPUTS could change! if ENV['TEXINPUTS'] "env TEXINPUTS=#{ENV['TEXINPUTS']}" + (RUBY_PLATFORM=~/mingw32/ ? "; " : " ") + SOFTWARE[:pdflatex] else SOFTWARE[:pdflatex] end end |
.R ⇒ Object
76 77 78 |
# File 'lib/dyndoc-software.rb', line 76 def self.R SOFTWARE[:R] end |
.software ⇒ Object
59 60 61 |
# File 'lib/dyndoc-software.rb', line 59 def self.software SOFTWARE end |
.software?(software) ⇒ Boolean
63 64 65 |
# File 'lib/dyndoc-software.rb', line 63 def self.software?(software) software - SOFTWARE.keys end |
.software_init(force = false) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/dyndoc-software.rb', line 5 def self.software_init(force=false) unless SOFTWARE[:R] if RUBY_PLATFORM=~/mingw32/ cmd=Dir[File.join(ENV["HomeDrive"],"Program Files","R","**","R.exe")] SOFTWARE[:R]=cmd[0] unless cmd.empty? else cmd=`type "R"` SOFTWARE[:R]=cmd.strip.split(" ")[2] unless cmd.empty? end end unless SOFTWARE[:Rscript] if RUBY_PLATFORM=~/mingw32/ cmd=Dir[File.join(ENV["HomeDrive"],"Program Files","R","**","Rscript.exe")] SOFTWARE[:Rscript]=cmd[0] unless cmd.empty? else cmd=`type "Rscript"` SOFTWARE[:R]=cmd.strip.split(" ")[2] unless cmd.empty? end end unless SOFTWARE[:ruby] cmd=`type "ruby"` SOFTWARE[:ruby]=cmd.strip.split(" ")[2] unless cmd.empty? end unless SOFTWARE[:pdflatex] cmd=`type "pdflatex"` if RUBY_PLATFORM =~ /msys/ SOFTWARE[:pdflatex]="pdflatex" else SOFTWARE[:pdflatex]=cmd.empty? ? "pdflatex" : cmd.strip.split(" ")[2] end end unless SOFTWARE[:pandoc] if File.exist? File.join(ENV["HOME"],".cabal","bin","pandoc") SOFTWARE[:pandoc]=File.join(ENV["HOME"],".cabal","bin","pandoc") else cmd = `which pandoc`.strip SOFTWARE[:pandoc]=cmd unless cmd.empty? #cmd=`type "pandoc"` #SOFTWARE[:pandoc]=cmd.strip.split(" ")[2] unless cmd.empty? end end unless SOFTWARE[:ttm] cmd=`type "ttm"` SOFTWARE[:ttm]=cmd.strip.split(" ")[2] unless cmd.empty? end end |
.which_path(bin) ⇒ Object
13 14 15 16 17 18 19 20 21 |
# File 'lib/dyndoc-converter.rb', line 13 def Dyndoc.which_path(bin) begin cmd=`which #{bin}`.strip cmd=DyndocMsys2.global_path_msys2mingw(cmd) if RUBY_PLATFORM =~ /mingw/ rescue cmd=bin end return cmd end |