os 0.5.0 → 0.6.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 +8 -4
  2. data/VERSION +1 -1
  3. data/lib/os.rb +19 -17
  4. data/spec/spec.os.rb +12 -2
  5. metadata +2 -2
@@ -10,17 +10,21 @@ require 'os'
10
10
  >> OS.java?
11
11
  => true
12
12
 
13
- >> OS.ruby_exe
13
+ >> OS.ruby_bin
14
14
  => "c:\ruby18\bin\ruby.exe" # or "/usr/local/bin/ruby" or what not
15
15
 
16
16
  >> OS.posix?
17
17
  => false
18
18
 
19
+ >> OS.mac?
20
+ => false
21
+
19
22
  If there are any other features you'd like, let me know.
20
23
 
21
24
  github.com/rdp/os
22
25
 
23
-
24
26
  Related:
25
- Gem.ruby
26
- Platform gem
27
+
28
+ Gem.ruby method
29
+
30
+ the Platform gem
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.0
1
+ 0.6.0
data/lib/os.rb CHANGED
@@ -34,13 +34,13 @@ class OS
34
34
  rescue NotImplementedError
35
35
  false
36
36
  end
37
+ end
38
+ else
39
+ # assume non windows is posix
40
+ true
37
41
  end
38
- else
39
- # assume non windows is posix
40
- true
41
- end
42
42
  end
43
-
43
+
44
44
  end
45
45
 
46
46
  class << self
@@ -50,18 +50,15 @@ class OS
50
50
  def self.bits
51
51
  @bits ||= begin
52
52
  require 'rbconfig'
53
- host_os = RbConfig::CONFIG['host_os']
54
- if host_os =~ /32/
53
+ if RbConfig::CONFIG['host_cpu'] =~ /_64$/ # x86_64
54
+ 64
55
+ elsif RbConfig::CONFIG['host_os'] =~ /32$/ # mingw32, mswin32
55
56
  32
56
- else
57
- if host_os =~ /64/
57
+ else # cygwin only...I think
58
+ if 1.size == 8
58
59
  64
59
- else # cygwin...
60
- if (1<<32).class == Fixnum
61
- 64
62
- else
63
- 32
64
- end
60
+ else
61
+ 32
65
62
  end
66
63
  end
67
64
  end
@@ -77,7 +74,7 @@ class OS
77
74
  end
78
75
  end
79
76
  end
80
-
77
+
81
78
  def self.ruby_bin
82
79
  @ruby_exe ||= begin
83
80
  require 'rbconfig'
@@ -85,4 +82,9 @@ class OS
85
82
  File::join(config['bindir'], config['ruby_install_name']) + config['EXEEXT']
86
83
  end
87
84
  end
88
- end
85
+
86
+ def self.mac?
87
+ RUBY_PLATFORM =~ /darwin/
88
+ end
89
+
90
+ end
@@ -21,6 +21,8 @@ describe "OS" do
21
21
  it "has a bits method" do
22
22
  if RUBY_PLATFORM =~ /mingw32/
23
23
  assert OS.bits == 32
24
+ elsif RUBY_PLATFORM =~ /64/ # linux...
25
+ assert OS.bits == 64
24
26
  end
25
27
  end
26
28
 
@@ -34,9 +36,17 @@ describe "OS" do
34
36
 
35
37
  it "should have a ruby.exe method" do
36
38
  if OS.windows?
37
- assert OS.ruby_bin.include?('ruby.exe')
39
+ assert OS.ruby_bin.include?('ruby.exe')
38
40
  else
39
- assert OS.ruby_bin.include?('ruby') && OS.ruby_bin.include?('/')
41
+ assert OS.ruby_bin.include?('ruby') && OS.ruby_bin.include?('/')
42
+ end
43
+ end
44
+
45
+ it "should have a mac? method" do
46
+ if RUBY_PLATFORM =~ /darwin/
47
+ assert OS.mac?
48
+ else
49
+ assert !OS.mac?
40
50
  end
41
51
  end
42
52
 
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.5.0
4
+ version: 0.6.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-14 00:00:00 -07:00
12
+ date: 2010-01-15 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency