gnuplot 2.1 → 2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/gnuplot.rb +44 -8
  2. metadata +7 -4
data/lib/gnuplot.rb CHANGED
@@ -7,6 +7,45 @@ require 'matrix'
7
7
 
8
8
  module Gnuplot
9
9
 
10
+ # Trivial implementation of the which command that uses the PATH environment
11
+ # variable to attempt to find the given application. The application must
12
+ # be executable and reside in one of the directories in the PATH environment
13
+ # to be found. The first match that is found will be returned.
14
+ #
15
+ # bin [String] The name of the executable to search for.
16
+ #
17
+ # Return the full path to the first match or nil if no match is found.
18
+ #
19
+ def Gnuplot.which ( bin )
20
+ return bin if File::executable? bin
21
+
22
+ path = ENV['PATH'] # || ENV['WHAT_EVER_WINDOWS_PATH_VAR_IS']
23
+ path.split(File::PATH_SEPARATOR).each do |dir|
24
+ candidate = File::join dir, bin.strip
25
+ return candidate if File::executable? candidate
26
+ end
27
+
28
+ # This is an implementation that works when the which command is
29
+ # available.
30
+ #
31
+ # IO.popen("which #{bin}") { |io| return io.readline.chomp }
32
+
33
+ return nil
34
+ end
35
+
36
+ # Find the path to the gnuplot executable. The name of the executable can
37
+ # be specified using the RB_GNUPLOT environment variable but will default to
38
+ # the command 'gnuplot'.
39
+ #
40
+ # persist [bool] Add the persist flag to the gnuplot executable
41
+ #
42
+ # Return the path to the gnuplot executable or nil if one cannot be found.
43
+ def Gnuplot.gnuplot( persist = true )
44
+ cmd = which( ENV['RB_GNUPLOT'] || 'gnuplot' )
45
+ cmd += " -persist" if persist
46
+ cmd
47
+ end
48
+
10
49
  # Open a gnuplot process that exists in the current PATH. If the persist
11
50
  # flag is true then the -persist flag is added to the command line. The
12
51
  # path to the gnuplot executable is determined using the 'which' command.
@@ -15,12 +54,9 @@ module Gnuplot
15
54
  #
16
55
  # <b>todo</b> Add a method to pass the gnuplot path to the function.
17
56
 
18
- def Gnuplot.open(persist=true)
19
- cmd = ""
20
- IO.popen( "which gnuplot" ) { |io| cmd = io.readline.chomp }
21
- cmd += " -persist" if persist
22
-
23
- IO::popen(cmd, "w") { |io| yield io }
57
+ def Gnuplot.open( persist=true )
58
+ cmd = Gnuplot.gnuplot( persist ) or raise 'gnuplot not found'
59
+ IO::popen( cmd, "w") { |io| yield io }
24
60
  end
25
61
 
26
62
 
@@ -181,7 +217,7 @@ module Gnuplot
181
217
  case @data
182
218
  when nil then nil
183
219
  when String then nil
184
- else @data.to_gplot
220
+ else @data.to_gsplot
185
221
  end
186
222
  end
187
223
 
@@ -192,7 +228,7 @@ class Array
192
228
  def to_gplot
193
229
  if ( self[0].kind_of? Array ) then
194
230
  tmp = self[0].zip( *self[1..-1] )
195
- tmp.collect { |a| a.join(" ") }.join("\n") + "\n"
231
+ tmp.collect { |a| a.join(" ") }.join("\n") + "\ne"
196
232
  elsif ( self[0].kind_of? Numeric ) then
197
233
  s = ""
198
234
  self.length.times { |i| s << "#{self[i]}\n" }
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.8.1
2
+ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: gnuplot
5
5
  version: !ruby/object:Gem::Version
6
- version: "2.1"
7
- date: 2004-11-17
6
+ version: "2.2"
7
+ date: 2005-11-14 00:00:00 -05:00
8
8
  summary: Utility library to aid in interacting with gnuplot
9
9
  require_paths:
10
10
  - lib
11
- author: Gordon James Miller
12
11
  email: gmiller@bittwiddlers.com
13
12
  homepage: http://rgplot.rubyforge.org
14
13
  rubyforge_project: rgplot
@@ -25,6 +24,10 @@ required_ruby_version: !ruby/object:Gem::Version::Requirement
25
24
  version: 0.0.0
26
25
  version:
27
26
  platform: ruby
27
+ signing_key:
28
+ cert_chain:
29
+ authors:
30
+ - Gordon James Miller
28
31
  files:
29
32
  - lib/gnuplot.rb
30
33
  test_files: []