os 1.0.0 → 1.0.1
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.
- checksums.yaml +4 -4
- data/ChangeLog +3 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +15 -10
- data/README.rdoc +3 -0
- data/Rakefile +1 -0
- data/VERSION +1 -1
- data/lib/os.rb +22 -0
- data/os.gemspec +6 -14
- data/spec/os_spec.rb +20 -4
- metadata +37 -8
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 1477aa871c9207710b6d5ac5ffbac3d3ce68b5c6
         | 
| 4 | 
            +
              data.tar.gz: e7ea7749f846a01f4906d4ecf1cc83692b8ddfc6
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: fda9a548d80869cc3fdc0fc3da2593889e0f147e845ad79ab5b7b74b23c64d3483a230778ee1d3b92b397767f45a3a498cf2f5601765d80eb1e82e4656108089
         | 
| 7 | 
            +
              data.tar.gz: 9424bce41996a0a77429377f274df819e213ab7e1f704d2e85c96d2ddae7d681598ec463676892f3ba5e2022e1b8535b058f93fce61d0bcf84df0fd1c949b923
         | 
    
        data/ChangeLog
    CHANGED
    
    
    
        data/Gemfile
    CHANGED
    
    
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,29 +1,34 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 | 
            +
              specs:
         | 
| 4 | 
            +
                os (1.0.1)
         | 
| 3 5 |  | 
| 4 6 | 
             
            GEM
         | 
| 5 7 | 
             
              remote: http://rubygems.org/
         | 
| 6 8 | 
             
              specs:
         | 
| 7 | 
            -
                diff-lcs (1.1. | 
| 8 | 
            -
                 | 
| 9 | 
            -
                 | 
| 10 | 
            -
                  bundler (~> 1.0.0)
         | 
| 11 | 
            -
                  git (>= 1.2.5)
         | 
| 12 | 
            -
                  rake
         | 
| 13 | 
            -
                rake (0.8.7)
         | 
| 9 | 
            +
                diff-lcs (1.1.3)
         | 
| 10 | 
            +
                power_assert (1.0.2)
         | 
| 11 | 
            +
                rake (0.9.6)
         | 
| 14 12 | 
             
                rspec (2.5.0)
         | 
| 15 13 | 
             
                  rspec-core (~> 2.5.0)
         | 
| 16 14 | 
             
                  rspec-expectations (~> 2.5.0)
         | 
| 17 15 | 
             
                  rspec-mocks (~> 2.5.0)
         | 
| 18 | 
            -
                rspec-core (2.5. | 
| 16 | 
            +
                rspec-core (2.5.2)
         | 
| 19 17 | 
             
                rspec-expectations (2.5.0)
         | 
| 20 18 | 
             
                  diff-lcs (~> 1.1.2)
         | 
| 21 19 | 
             
                rspec-mocks (2.5.0)
         | 
| 20 | 
            +
                test-unit (3.2.3)
         | 
| 21 | 
            +
                  power_assert
         | 
| 22 22 |  | 
| 23 23 | 
             
            PLATFORMS
         | 
| 24 24 | 
             
              ruby
         | 
| 25 25 | 
             
              x86-mingw32
         | 
| 26 26 |  | 
| 27 27 | 
             
            DEPENDENCIES
         | 
| 28 | 
            -
               | 
| 29 | 
            -
               | 
| 28 | 
            +
              os!
         | 
| 29 | 
            +
              rake (~> 0.8)
         | 
| 30 | 
            +
              rspec (~> 2.5.0)
         | 
| 31 | 
            +
              test-unit (~> 3)
         | 
| 32 | 
            +
             | 
| 33 | 
            +
            BUNDLED WITH
         | 
| 34 | 
            +
               1.14.5
         | 
    
        data/README.rdoc
    CHANGED
    
    | @@ -52,6 +52,9 @@ The OS gem allows for some easy telling if you're on windows or not. | |
| 52 52 | 
             
              >> OS::Underlying.bsd?
         | 
| 53 53 | 
             
              => true # true for OS X
         | 
| 54 54 |  | 
| 55 | 
            +
              >> OS::Underlying.docker?
         | 
| 56 | 
            +
              => false # true if running inside a Docker container
         | 
| 57 | 
            +
              
         | 
| 55 58 | 
             
            If there are any other features you'd like, let me know, I'll do what I can to add them :)
         | 
| 56 59 |  | 
| 57 60 | 
             
            http://github.com/rdp/os for feedback et al
         | 
    
        data/Rakefile
    CHANGED
    
    | @@ -11,6 +11,7 @@ begin | |
| 11 11 | 
             
                gem.email = "rogerpack2005@gmail.com"
         | 
| 12 12 | 
             
                gem.homepage = "http://github.com/rdp/os"
         | 
| 13 13 | 
             
                gem.authors = ["rdp", "David McCullars"]
         | 
| 14 | 
            +
                gem.license = "MIT"
         | 
| 14 15 | 
             
                # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
         | 
| 15 16 | 
             
                # gem.add_development_dependency "fast_require"
         | 
| 16 17 | 
             
                gem.add_development_dependency "rspec", ">= 2.0"
         | 
    
        data/VERSION
    CHANGED
    
    | @@ -1 +1 @@ | |
| 1 | 
            -
            1.0. | 
| 1 | 
            +
            1.0.1
         | 
    
        data/lib/os.rb
    CHANGED
    
    | @@ -183,6 +183,10 @@ class OS | |
| 183 183 | 
             
                  OS.host_os =~ /linux/ ? true : false
         | 
| 184 184 | 
             
                end
         | 
| 185 185 |  | 
| 186 | 
            +
                def self.docker?
         | 
| 187 | 
            +
                  system('grep -q docker /proc/self/cgroup') if OS.linux?
         | 
| 188 | 
            +
                end
         | 
| 189 | 
            +
             | 
| 186 190 | 
             
              end
         | 
| 187 191 |  | 
| 188 192 | 
             
              def self.cygwin?
         | 
| @@ -260,6 +264,24 @@ class OS | |
| 260 264 |  | 
| 261 265 | 
             
              end
         | 
| 262 266 |  | 
| 267 | 
            +
              def self.app_config_path(name)
         | 
| 268 | 
            +
                if OS.doze?
         | 
| 269 | 
            +
                  if ENV['LOCALAPPDATA']
         | 
| 270 | 
            +
                    return File.join(ENV['LOCALAPPDATA'], name)
         | 
| 271 | 
            +
                  end
         | 
| 272 | 
            +
             | 
| 273 | 
            +
                  File.join ENV['USERPROFILE'], 'Local Settings', 'Application Data', name
         | 
| 274 | 
            +
                elsif OS.mac?
         | 
| 275 | 
            +
                  File.join ENV['HOME'], 'Library', 'Application Support', name
         | 
| 276 | 
            +
                else
         | 
| 277 | 
            +
                  if ENV['XDG_CONFIG_HOME']
         | 
| 278 | 
            +
                    return File.join(ENV['XDG_CONFIG_HOME'], name)
         | 
| 279 | 
            +
                  end
         | 
| 280 | 
            +
             | 
| 281 | 
            +
                  File.join ENV['HOME'], '.config', name
         | 
| 282 | 
            +
                end
         | 
| 283 | 
            +
              end
         | 
| 284 | 
            +
             | 
| 263 285 | 
             
              class << self
         | 
| 264 286 | 
             
                alias :doze? :windows? # a joke name but I use it and like it :P
         | 
| 265 287 | 
             
                alias :jruby? :java?
         | 
    
        data/os.gemspec
    CHANGED
    
    | @@ -6,12 +6,12 @@ | |
| 6 6 |  | 
| 7 7 | 
             
            Gem::Specification.new do |s|
         | 
| 8 8 | 
             
              s.name = "os".freeze
         | 
| 9 | 
            -
              s.version = "1.0. | 
| 9 | 
            +
              s.version = "1.0.1"
         | 
| 10 10 |  | 
| 11 11 | 
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
         | 
| 12 12 | 
             
              s.require_paths = ["lib".freeze]
         | 
| 13 13 | 
             
              s.authors = ["rdp".freeze, "David McCullars".freeze]
         | 
| 14 | 
            -
              s.date = "2017- | 
| 14 | 
            +
              s.date = "2017-10-18"
         | 
| 15 15 | 
             
              s.description = "The OS gem allows for some useful and easy functions, like OS.windows? (=> true or false) OS.bits ( => 32 or 64) etc\"".freeze
         | 
| 16 16 | 
             
              s.email = "rogerpack2005@gmail.com".freeze
         | 
| 17 17 | 
             
              s.extra_rdoc_files = [
         | 
| @@ -38,19 +38,11 @@ Gem::Specification.new do |s| | |
| 38 38 | 
             
                "spec/spec_helper.rb"
         | 
| 39 39 | 
             
              ]
         | 
| 40 40 | 
             
              s.homepage = "http://github.com/rdp/os".freeze
         | 
| 41 | 
            +
              s.licenses = ["MIT".freeze]
         | 
| 41 42 | 
             
              s.rubygems_version = "2.5.2".freeze
         | 
| 42 43 | 
             
              s.summary = "Simple and easy way to know if you're on windows or not (reliably), as well as how many bits the OS is, etc.".freeze
         | 
| 43 44 |  | 
| 44 | 
            -
               | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 47 | 
            -
                if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
         | 
| 48 | 
            -
                  s.add_development_dependency(%q<rspec>.freeze, [">= 2.0"])
         | 
| 49 | 
            -
                else
         | 
| 50 | 
            -
                  s.add_dependency(%q<rspec>.freeze, [">= 2.0"])
         | 
| 51 | 
            -
                end
         | 
| 52 | 
            -
              else
         | 
| 53 | 
            -
                s.add_dependency(%q<rspec>.freeze, [">= 2.0"])
         | 
| 54 | 
            -
              end
         | 
| 45 | 
            +
              s.add_development_dependency('rake', '~> 0.8')
         | 
| 46 | 
            +
              s.add_development_dependency('rspec', '~> 2.5.0')
         | 
| 47 | 
            +
              s.add_development_dependency('test-unit', '~> 3')
         | 
| 55 48 | 
             
            end
         | 
| 56 | 
            -
             | 
    
        data/spec/os_spec.rb
    CHANGED
    
    | @@ -119,10 +119,9 @@ describe "OS" do | |
| 119 119 | 
             
              end
         | 
| 120 120 |  | 
| 121 121 | 
             
              it "has working cpu count method" do
         | 
| 122 | 
            -
                 | 
| 123 | 
            -
                 | 
| 124 | 
            -
             | 
| 125 | 
            -
                end
         | 
| 122 | 
            +
                cpu_count = OS.cpu_count
         | 
| 123 | 
            +
                assert cpu_count >= 1
         | 
| 124 | 
            +
                assert (cpu_count & (cpu_count - 1)) == 0 # CPU count is normally a power of 2
         | 
| 126 125 | 
             
              end
         | 
| 127 126 |  | 
| 128 127 | 
             
              it "has working cpu count method with no env. variable" do
         | 
| @@ -143,6 +142,23 @@ describe "OS" do | |
| 143 142 | 
             
                end
         | 
| 144 143 | 
             
              end
         | 
| 145 144 |  | 
| 145 | 
            +
              it "should provide a path to directory for application config" do
         | 
| 146 | 
            +
                ENV.stub(:[])
         | 
| 147 | 
            +
             | 
| 148 | 
            +
                if OS.mac?
         | 
| 149 | 
            +
                  ENV.stub(:[]).with('HOME').and_return('/home/user')
         | 
| 150 | 
            +
                  assert OS.app_config_path('appname') == '/home/xdg/Library/Application Support/appname'
         | 
| 151 | 
            +
                elsif OS.doze?
         | 
| 152 | 
            +
                  # TODO
         | 
| 153 | 
            +
                else
         | 
| 154 | 
            +
                  ENV.stub(:[]).with('HOME').and_return('/home/user')
         | 
| 155 | 
            +
                  assert OS.app_config_path('appname') == '/home/user/.config/appname'
         | 
| 156 | 
            +
             | 
| 157 | 
            +
                  ENV.stub(:[]).with('XDG_CONFIG_HOME').and_return('/home/xdg/.config')
         | 
| 158 | 
            +
                  assert OS.app_config_path('appname') == '/home/xdg/.config/appname'
         | 
| 159 | 
            +
                end
         | 
| 160 | 
            +
              end
         | 
| 161 | 
            +
             | 
| 146 162 | 
             
              it "should have a freebsd? method" do
         | 
| 147 163 | 
             
                if OS.host_os =~ /freebsd/
         | 
| 148 164 | 
             
                  assert OS.freebsd? == true
         | 
    
        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: 1.0. | 
| 4 | 
            +
              version: 1.0.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - rdp
         | 
| @@ -9,22 +9,50 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2017- | 
| 12 | 
            +
            date: 2017-10-18 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 15 | 
            +
              name: rake
         | 
| 16 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 17 | 
            +
                requirements:
         | 
| 18 | 
            +
                - - "~>"
         | 
| 19 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 20 | 
            +
                    version: '0.8'
         | 
| 21 | 
            +
              type: :development
         | 
| 22 | 
            +
              prerelease: false
         | 
| 23 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 24 | 
            +
                requirements:
         | 
| 25 | 
            +
                - - "~>"
         | 
| 26 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 27 | 
            +
                    version: '0.8'
         | 
| 14 28 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 29 | 
             
              name: rspec
         | 
| 16 30 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 17 31 | 
             
                requirements:
         | 
| 18 | 
            -
                - - " | 
| 32 | 
            +
                - - "~>"
         | 
| 33 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 34 | 
            +
                    version: 2.5.0
         | 
| 35 | 
            +
              type: :development
         | 
| 36 | 
            +
              prerelease: false
         | 
| 37 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 38 | 
            +
                requirements:
         | 
| 39 | 
            +
                - - "~>"
         | 
| 40 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 41 | 
            +
                    version: 2.5.0
         | 
| 42 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 43 | 
            +
              name: test-unit
         | 
| 44 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 45 | 
            +
                requirements:
         | 
| 46 | 
            +
                - - "~>"
         | 
| 19 47 | 
             
                  - !ruby/object:Gem::Version
         | 
| 20 | 
            -
                    version: ' | 
| 48 | 
            +
                    version: '3'
         | 
| 21 49 | 
             
              type: :development
         | 
| 22 50 | 
             
              prerelease: false
         | 
| 23 51 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 24 52 | 
             
                requirements:
         | 
| 25 | 
            -
                - - " | 
| 53 | 
            +
                - - "~>"
         | 
| 26 54 | 
             
                  - !ruby/object:Gem::Version
         | 
| 27 | 
            -
                    version: ' | 
| 55 | 
            +
                    version: '3'
         | 
| 28 56 | 
             
            description: The OS gem allows for some useful and easy functions, like OS.windows?
         | 
| 29 57 | 
             
              (=> true or false) OS.bits ( => 32 or 64) etc"
         | 
| 30 58 | 
             
            email: rogerpack2005@gmail.com
         | 
| @@ -52,7 +80,8 @@ files: | |
| 52 80 | 
             
            - spec/osx_spec.rb
         | 
| 53 81 | 
             
            - spec/spec_helper.rb
         | 
| 54 82 | 
             
            homepage: http://github.com/rdp/os
         | 
| 55 | 
            -
            licenses: | 
| 83 | 
            +
            licenses:
         | 
| 84 | 
            +
            - MIT
         | 
| 56 85 | 
             
            metadata: {}
         | 
| 57 86 | 
             
            post_install_message: 
         | 
| 58 87 | 
             
            rdoc_options: []
         | 
| @@ -70,7 +99,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 70 99 | 
             
                  version: '0'
         | 
| 71 100 | 
             
            requirements: []
         | 
| 72 101 | 
             
            rubyforge_project: 
         | 
| 73 | 
            -
            rubygems_version: 2.5.2
         | 
| 102 | 
            +
            rubygems_version: 2.5.2.3
         | 
| 74 103 | 
             
            signing_key: 
         | 
| 75 104 | 
             
            specification_version: 4
         | 
| 76 105 | 
             
            summary: Simple and easy way to know if you're on windows or not (reliably), as well
         |