os_name 0.1.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +22 -0
- data/.travis.yml +25 -0
- data/Gemfile +10 -0
- data/README.md +3 -1
- data/bin/os_name +8 -8
- data/lib/os_name.rb +75 -0
- data/lib/os_name/version.rb +3 -0
- data/os_name.gemspec +11 -11
- metadata +8 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4aba0133bb193a5996b37cade8dd989abdc0ec6b
|
4
|
+
data.tar.gz: 1769dcffe9400eb9a6f06dff380408592a2d0cf8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d02102b829d3f6f631cc7e5cc4cb405a980f047137d91467b8aae579359c3b64ffe069f89c6f9c71b8cd6518f5f125c8722240a7cb20b2d698427e221fe7a19b
|
7
|
+
data.tar.gz: c7728a6c6dc2f477e638dba898aa77b679078f9f334801ee9c0e403761c6bdc847bd109e02eefc32c9d837cc66cc6f48211bff12ce3decb1b6e07e63e37373a5
|
data/.gitignore
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
*.gem
|
2
|
+
*.rbc
|
3
|
+
.bundle
|
4
|
+
.config
|
5
|
+
.yardoc
|
6
|
+
Gemfile.lock
|
7
|
+
InstalledFiles
|
8
|
+
_yardoc
|
9
|
+
coverage
|
10
|
+
doc/
|
11
|
+
lib/bundler/man
|
12
|
+
pkg
|
13
|
+
rdoc
|
14
|
+
spec/reports
|
15
|
+
test/tmp
|
16
|
+
test/version_tmp
|
17
|
+
tmp
|
18
|
+
*.bundle
|
19
|
+
*.so
|
20
|
+
*.o
|
21
|
+
*.a
|
22
|
+
mkmf.log
|
data/.travis.yml
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
before_install:
|
2
|
+
- gem update bundler
|
3
|
+
bundler_args: --without development
|
4
|
+
language: ruby
|
5
|
+
env:
|
6
|
+
global:
|
7
|
+
- CODECLIMATE_REPO_TOKEN=1fa179913fd57a6d2aab7013a56a224c3837561da507f5cff8f10e13c425d289
|
8
|
+
rvm:
|
9
|
+
- 1.9.3
|
10
|
+
- 2.0.0
|
11
|
+
- 2.1
|
12
|
+
- rbx-2
|
13
|
+
- ruby-head
|
14
|
+
matrix:
|
15
|
+
include:
|
16
|
+
- rvm: jruby-19mode
|
17
|
+
env: JRUBY_OPTS="$JRUBY_OPTS --debug"
|
18
|
+
- rvm: jruby-head
|
19
|
+
env: JRUBY_OPTS="$JRUBY_OPTS --debug"
|
20
|
+
allow_failures:
|
21
|
+
- rvm: rbx-2
|
22
|
+
- rvm: jruby-head
|
23
|
+
- rvm: ruby-head
|
24
|
+
fast_finish: true
|
25
|
+
script: bundle exec rake
|
data/Gemfile
ADDED
data/README.md
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
# `OSName`
|
2
2
|
|
3
|
-
[![Gem Version](
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/os_name.svg)][gem]
|
4
4
|
[![Build Status](https://travis-ci.org/JuanitoFatas/comer_de_tapas.svg)][travis]
|
5
5
|
[![Dependency Status](https://gemnasium.com/JuanitoFatas/os_name.svg)][gemnasium]
|
6
6
|
[![Inline docs ](http://inch-ci.org/github/JuanitoFatas/os_name.svg)][docs]
|
7
7
|
[![Code Climate](https://codeclimate.com/github/JuanitoFatas/os_name.png)][codeclimate]
|
8
8
|
[![Coverage](https://codeclimate.com/github/JuanitoFatas/os_name/coverage.png)][coverage]
|
9
|
+
[![PullReview stats](https://www.pullreview.com/github/JuanitoFatas/os_name/badges/master.svg?)][pull-review]
|
9
10
|
|
10
11
|
[gem]: https://rubygems.org/gems/os_name
|
11
12
|
[travis]: https://travis-ci.org/JuanitoFatas/os_name
|
@@ -13,6 +14,7 @@
|
|
13
14
|
[docs]: http://inch-ci.org/github/juanitofatas/os_name
|
14
15
|
[codeclimate]: https://codeclimate.com/github/JuanitoFatas/os_name
|
15
16
|
[coverage]: https://codeclimate.com/github/JuanitoFatas/os_name
|
17
|
+
[pull-review]: https://www.pullreview.com/github/JuanitoFatas/os_name/reviews/master
|
16
18
|
|
17
19
|
Get the name of the current operating system.
|
18
20
|
|
data/bin/os_name
CHANGED
@@ -2,17 +2,17 @@
|
|
2
2
|
|
3
3
|
Signal.trap('INT') { abort }
|
4
4
|
|
5
|
-
$:.unshift File.join(File.dirname(__FILE__), *%w{ .. lib })
|
6
|
-
|
7
5
|
require 'optparse'
|
8
|
-
|
6
|
+
require_relative '../lib/os_name'
|
9
7
|
|
10
8
|
OptionParser.new do |opts|
|
11
|
-
opts.banner =
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
9
|
+
opts.banner = 'Usage: os_name [options]'
|
10
|
+
|
11
|
+
opts.on('-v', '--version', 'os_name version') do |_|
|
12
|
+
puts OSName::VERSION
|
13
|
+
exit
|
14
|
+
end
|
15
|
+
|
16
16
|
end.parse!
|
17
17
|
|
18
18
|
puts Class.new.extend(OSName).os_name
|
data/lib/os_name.rb
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
require 'os_name/version'
|
2
|
+
|
3
|
+
# Operating System Name
|
4
|
+
module OSName
|
5
|
+
# Win32 platform version mapping
|
6
|
+
WIN32 = {
|
7
|
+
'6.4' => '10',
|
8
|
+
'6.3' => '8.1',
|
9
|
+
'6.2' => '8',
|
10
|
+
'6.1' => '7',
|
11
|
+
'6.0' => 'Vista',
|
12
|
+
'5.1' => 'XP',
|
13
|
+
'5.0' => '2000',
|
14
|
+
'4.9' => 'ME',
|
15
|
+
'4.1' => '98',
|
16
|
+
'4.0' => '95'
|
17
|
+
}
|
18
|
+
|
19
|
+
# OS X platform version mapping
|
20
|
+
OSX = {
|
21
|
+
'14' => 'Yosemite',
|
22
|
+
'13' => 'Mavericks',
|
23
|
+
'12' => 'Mountain Lion',
|
24
|
+
'11' => 'Lion',
|
25
|
+
'10' => 'Snow Leopard',
|
26
|
+
'9' => 'Leopard',
|
27
|
+
'8' => 'Tiger',
|
28
|
+
'7' => 'Panther',
|
29
|
+
'6' => 'Jaguar',
|
30
|
+
'5' => 'Puma'
|
31
|
+
}
|
32
|
+
|
33
|
+
# Return Operating System name with given os and version.
|
34
|
+
#
|
35
|
+
# @param os [String] Operating System: darwin, linux, win32.
|
36
|
+
# @param version [String] version (release): 14.0.0, 3.13.0-24-generic, 5.1.2600.
|
37
|
+
# @return [String] the name of operating system.
|
38
|
+
#
|
39
|
+
# Usage:
|
40
|
+
# > os_name 'darwin', '14.0.0'
|
41
|
+
# => 'OS X Yosemite'
|
42
|
+
# > os_name 'linux', '3.13.0-24-generic'
|
43
|
+
# => 'Linux 3.13'
|
44
|
+
# os_name 'win32', '5.1.2600'
|
45
|
+
# => 'Windows XP'
|
46
|
+
# os_name 'win32'
|
47
|
+
# => 'Windows'
|
48
|
+
def os_name os=nil, version=nil
|
49
|
+
if !os && version
|
50
|
+
raise ArgumentError, "You can't specify a `version` without specfying `os`"
|
51
|
+
end
|
52
|
+
|
53
|
+
os ||= platform.os
|
54
|
+
version ||= platform.version
|
55
|
+
|
56
|
+
case os
|
57
|
+
when 'darwin'
|
58
|
+
id = OSX.fetch version.split('.')[0]
|
59
|
+
'OS X' + (id ? " #{id}" : '')
|
60
|
+
when 'linux'
|
61
|
+
id = version.sub(/^(\d+\.\d+).*/, '\1')
|
62
|
+
'Linux' + (id ? " #{id}" : '')
|
63
|
+
when 'win32'
|
64
|
+
id = WIN32[version.slice(0, 3)]
|
65
|
+
'Windows' + (id ? " #{id}" : '')
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
private
|
70
|
+
|
71
|
+
# @return [Gem::Platform] Current machine's platform information.
|
72
|
+
def platform
|
73
|
+
@platform ||= Gem::Platform.local
|
74
|
+
end
|
75
|
+
end
|
data/os_name.gemspec
CHANGED
@@ -4,19 +4,19 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
require 'os_name/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
7
|
+
spec.name = 'os_name'
|
8
8
|
spec.version = OSName::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
11
|
-
spec.summary =
|
9
|
+
spec.authors = ['Juanito Fatas']
|
10
|
+
spec.email = ['katehuang0320@gmail.com']
|
11
|
+
spec.summary = 'Get the name of the current operating system. Example: OS X Yosemite'
|
12
12
|
spec.description = spec.summary
|
13
|
-
spec.homepage =
|
14
|
-
spec.license =
|
13
|
+
spec.homepage = 'https://github.com/juanitofatas/os_name'
|
14
|
+
spec.license = 'MIT'
|
15
15
|
|
16
|
-
spec.files =
|
17
|
-
spec.executables = %w[os_name]
|
18
|
-
spec.test_files = Dir.glob('spec/**/*')
|
19
|
-
spec.require_paths = ["lib"]
|
16
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
20
17
|
|
21
|
-
spec.
|
18
|
+
spec.executables = %w(os_name)
|
19
|
+
spec.require_paths = ['lib']
|
20
|
+
|
21
|
+
spec.add_development_dependency 'bundler', '>= 1.3.0'
|
22
22
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: os_name
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juanito Fatas
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -32,10 +32,15 @@ executables:
|
|
32
32
|
extensions: []
|
33
33
|
extra_rdoc_files: []
|
34
34
|
files:
|
35
|
+
- ".gitignore"
|
36
|
+
- ".travis.yml"
|
37
|
+
- Gemfile
|
35
38
|
- LICENSE
|
36
39
|
- README.md
|
37
40
|
- Rakefile
|
38
41
|
- bin/os_name
|
42
|
+
- lib/os_name.rb
|
43
|
+
- lib/os_name/version.rb
|
39
44
|
- os_name.gemspec
|
40
45
|
homepage: https://github.com/juanitofatas/os_name
|
41
46
|
licenses:
|
@@ -57,7 +62,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
57
62
|
version: '0'
|
58
63
|
requirements: []
|
59
64
|
rubyforge_project:
|
60
|
-
rubygems_version: 2.
|
65
|
+
rubygems_version: 2.4.2
|
61
66
|
signing_key:
|
62
67
|
specification_version: 4
|
63
68
|
summary: 'Get the name of the current operating system. Example: OS X Yosemite'
|