os 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. data/README.rdoc +10 -3
  2. data/VERSION +1 -1
  3. data/lib/os.rb +20 -2
  4. data/spec/spec.os.rb +3 -3
  5. metadata +2 -2
@@ -1,6 +1,3 @@
1
- OS
2
-
3
-
4
1
  The OS gem allows for some easy telling if you're on windows or not.
5
2
 
6
3
  require 'os'
@@ -13,7 +10,17 @@ require 'os'
13
10
  >> OS.java?
14
11
  => true
15
12
 
13
+ >> OS.ruby_exe
14
+ => "c:\ruby18\bin\ruby.exe" # or "/usr/local/bin/ruby" or what not
15
+
16
+ >> OS.posix?
17
+ => false
18
+
16
19
  If there are any other features you'd like, let me know.
17
20
 
18
21
  github.com/rdp/os
19
22
 
23
+
24
+ Related:
25
+ Gem.ruby
26
+ Platform gem
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.0
1
+ 0.5.0
data/lib/os.rb CHANGED
@@ -22,7 +22,25 @@ class OS
22
22
 
23
23
  # true for linux, os x, cygwin
24
24
  def self.posix?
25
- !OS.windows?
25
+ @posix ||=
26
+ begin
27
+ if OS.windows?
28
+ begin
29
+ begin
30
+ # what if we're on interix...
31
+ # untested, of course
32
+ Process.wait fork{}
33
+ true
34
+ rescue NotImplementedError
35
+ false
36
+ end
37
+ end
38
+ else
39
+ # assume non windows is posix
40
+ true
41
+ end
42
+ end
43
+
26
44
  end
27
45
 
28
46
  class << self
@@ -60,7 +78,7 @@ class OS
60
78
  end
61
79
  end
62
80
 
63
- def self.ruby_exe
81
+ def self.ruby_bin
64
82
  @ruby_exe ||= begin
65
83
  require 'rbconfig'
66
84
  config = RbConfig::CONFIG
@@ -8,7 +8,7 @@ describe "OS" do
8
8
  it "has a windows? method" do
9
9
  if RUBY_PLATFORM =~ /mingw|mswin/
10
10
  assert OS.windows? == true
11
- assert OS.windoze? == true
11
+ assert OS.doze? == true
12
12
  assert OS.posix? == false
13
13
  else # ltodo jruby
14
14
  if RUBY_PLATFORM =~ /linux/
@@ -34,9 +34,9 @@ describe "OS" do
34
34
 
35
35
  it "should have a ruby.exe method" do
36
36
  if OS.windows?
37
- assert OS.ruby_exe.include? 'ruby.exe'
37
+ assert OS.ruby_bin.include?('ruby.exe')
38
38
  else
39
- OS.ruby
39
+ assert OS.ruby_bin.include?('ruby') && OS.ruby_bin.include?('/')
40
40
  end
41
41
  end
42
42
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: os
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - rdp
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-01-13 00:00:00 -07:00
12
+ date: 2010-01-14 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency