ruby-graphviz 0.9.6 → 0.9.7

Sign up to get free protection for your applications and to get access to all the features.
data/AUTHORS CHANGED
@@ -3,6 +3,7 @@ Brandon Coleman <metrix1978@gmail.com>
3
3
  Dave Burt <http://github.com/dburt>
4
4
  Miguel Cabrera <http://mfcabrera.com>
5
5
  obruening <http://github.com/obruening>
6
+ reactive <http://github.com/reactive>
6
7
 
7
8
  Thanks to :
8
9
 
@@ -1,3 +1,9 @@
1
+ 0.9.7 :
2
+ * Issue #2: Small bug correction in escape_path_containing_blanks (by Andreas Ronge)
3
+ * Issue #4: New find_executable (by reactive)
4
+ * Issue #3: Tempfiles created in current working directory only in Windows
5
+ * Issue #6: Respect "none" format in output options hash and respect String output-filename when the "none" format is selected. See examples/sample27.rb (by Dave Burt)
6
+
1
7
  0.9.6 :
2
8
  * jRuby support (by obruening)
3
9
  * Issue #1 : STDOUT in binmode
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/ruby
2
+
3
+ $:.unshift( "../lib" );
4
+ require "graphviz"
5
+
6
+ puts GraphViz.new(:G){ |g|
7
+ (g.hello - g.none) [:style => :bold, :label => " dburt says"]
8
+ }.save( :none => String )
@@ -15,7 +15,7 @@
15
15
  # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
16
 
17
17
  module Constants
18
- RGV_VERSION = "0.9.6"
18
+ RGV_VERSION = "0.9.7"
19
19
 
20
20
  ## Const: Output formats
21
21
  FORMATS = [
data/lib/graphviz.rb CHANGED
@@ -22,9 +22,7 @@ rescue
22
22
  IS_JRUBY= false
23
23
  end
24
24
 
25
-
26
25
  require 'tempfile'
27
- # require 'mkmf'
28
26
 
29
27
  require 'graphviz/node'
30
28
  require 'graphviz/edge'
@@ -370,15 +368,15 @@ class GraphViz
370
368
 
371
369
  xDOTScript = "#{@oGraphType} #{@name} {\n" << xDOTScript
372
370
 
373
- xOutputString = false
374
- xOutput = if @format != "none"
371
+ xOutputString = (@filename == String ||
372
+ @output.any? {|format, file| file == String })
373
+
374
+ xOutput =
375
+ if @format.to_s == "none" || @output.any? {|fmt, fn| fmt.to_s == "none" }
376
+ xDOTScript
377
+ else
375
378
  ## Act: Save script and send it to dot
376
- t = if /Windows/.match( ENV['OS'] )
377
- Tempfile::open( File.basename($0), "." )
378
- else
379
- Tempfile::open( File.basename($0) )
380
- end
381
-
379
+ t = Tempfile::open( File.basename($0) )
382
380
  t.print( xDOTScript )
383
381
  t.close
384
382
 
@@ -392,39 +390,27 @@ class GraphViz
392
390
  xOutputWithFile = ""
393
391
  xOutputWithoutFile = ""
394
392
  unless @format.nil?
395
- if @filename.nil?
396
- xOutputWithoutFile = "-T#{@format} "
397
- elsif @filename == String
393
+ if @filename.nil? || @filename == String
398
394
  xOutputWithoutFile = "-T#{@format} "
399
- xOutputString = true
400
395
  else
401
396
  xOutputWithFile = "-T#{@format} -o#{@filename} "
402
397
  end
403
398
  end
404
399
  @output.each do |format, file|
405
- if file.nil?
400
+ if file.nil? || file == String
406
401
  xOutputWithoutFile << "-T#{format} "
407
- elsif file == String
408
- xOutputWithoutFile << "-T#{format} "
409
- xOutputString = true
410
402
  else
411
403
  xOutputWithFile << "-T#{format} -o#{file} "
412
404
  end
413
405
  end
414
406
 
415
- #xCmd = "#{cmd} #{xOutputWithFile} #{xOutputWithoutFile} #{t.path}"
416
- #if /Windows/.match( ENV['OS'] )
417
-
418
407
  if IS_JRUBY
419
408
  xCmd = "#{cmd} -q#{@errors} #{xOutputWithFile} #{xOutputWithoutFile} #{t.path}"
420
409
  else
421
410
  xCmd = "\"#{cmd}\" -q#{@errors} #{xOutputWithFile} #{xOutputWithoutFile} #{t.path}"
422
411
  end
423
- #end
424
412
 
425
413
  output_from_command( xCmd )
426
- else
427
- xDOTScript
428
414
  end
429
415
 
430
416
  if xOutputString
@@ -662,15 +648,6 @@ class GraphViz
662
648
  end
663
649
  end
664
650
 
665
- # def find_executable( ) #:nodoc:
666
- # cmd = find_executable0( @prog )
667
- # if cmd == nil and @path != nil
668
- # __cmd = File.join( @path, @prog )
669
- # cmd = __cmd if File.executable?( __cmd )
670
- # end
671
- # return cmd
672
- # end
673
-
674
651
  # Since this code is an adaptation of Launchy::Application#find_executable
675
652
  # (http://copiousfreetime.rubyforge.org/launchy/Launchy/Application.html)
676
653
  # it follow is licence :
@@ -687,17 +664,29 @@ class GraphViz
687
664
  # OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
688
665
  # CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
689
666
  def find_executable(bin = @prog, *paths) #:nodoc:
690
-
691
667
  paths = ENV['PATH'].split(File::PATH_SEPARATOR) if paths.empty?
692
668
  paths.each do |path|
693
- file = File.join(path, add_exe_suffix(bin))
669
+ file = File.join(path,bin)
694
670
  if File.executable?(file) then
695
671
  return file
672
+ elsif RUBY_PLATFORM =~ /mswin|mingw/
673
+ found_ext = (ENV['PATHEXT'] || '.exe;.bat;.com').split(";").find {|ext| File.executable?(file + ext) }
674
+ return file + found_ext if found_ext
696
675
  end
697
676
  end
698
677
  return nil
699
678
  end
700
-
679
+ # def find_executable(bin = @prog, *paths) #:nodoc:
680
+ #
681
+ # paths = ENV['PATH'].split(File::PATH_SEPARATOR) if paths.empty?
682
+ # paths.each do |path|
683
+ # file = File.join(path, add_exe_suffix(bin))
684
+ # if File.executable?(file) then
685
+ # return file
686
+ # end
687
+ # end
688
+ # return nil
689
+ # end
701
690
 
702
691
  def add_exe_suffix(prog)
703
692
  if /Windows/.match( ENV['OS'] )
@@ -710,7 +699,7 @@ class GraphViz
710
699
 
711
700
 
712
701
  def escape_path_containing_blanks(path)
713
- path.gsub!(File::ALT_SEPARATOR, File::SEPARATOR)
702
+ path.gsub!(File::ALT_SEPARATOR, File::SEPARATOR) if File::ALT_SEPARATOR
714
703
  path_elements = path.split(File::SEPARATOR)
715
704
  path_elements.map! do |element|
716
705
  if element.include?(' ')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-graphviz
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.6
4
+ version: 0.9.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gregoire Lejeune
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-12-05 00:00:00 +01:00
12
+ date: 2009-12-21 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -30,11 +30,11 @@ extensions: []
30
30
 
31
31
  extra_rdoc_files:
32
32
  - README.rdoc
33
- - ChangeLog
33
+ - ChangeLog.rdoc
34
34
  - COPYING
35
35
  - AUTHORS
36
36
  files:
37
- - ChangeLog
37
+ - ChangeLog.rdoc
38
38
  - COPYING
39
39
  - README.rdoc
40
40
  - AUTHORS
@@ -87,6 +87,7 @@ files:
87
87
  - examples/sample24.rb
88
88
  - examples/sample25.rb
89
89
  - examples/sample26.rb
90
+ - examples/sample27.rb
90
91
  - examples/shapes.rb
91
92
  - examples/test.xml
92
93
  - examples/testorder.rb