gem-path 0.5.1 → 0.6.0
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/CHANGES.md +4 -0
- data/README.md +2 -3
- data/Rakefile +1 -1
- data/gem-path.gemspec +8 -7
- data/lib/rubygems/commands/path_command.rb +15 -15
- data/task/gemgem.rb +3 -13
- data/test/test.rb +7 -0
- metadata +10 -10
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: ae9408f537853fbba1b13e2283c7fd1d1545a134
         | 
| 4 | 
            +
              data.tar.gz: ea23cd0ae24f747fb4d09474e37def12f0c1e7ca
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: f8e8f10c218d05320453a9cfdaaccaf6007adaa589793a53d3701f660ae36c32580114382ca72eeeb430fb00152099281f3bfb515a32a54c6f6d36e98c607fe2
         | 
| 7 | 
            +
              data.tar.gz: 9ede3b311b7bd4767f4deef0ce3de874323dfe89f1a3276d01a79cd4abb7d283c091a9932217db4a484a917ae65de6a57a3acf41178b468d24c63720385de0ed
         | 
    
        data/CHANGES.md
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | @@ -17,9 +17,8 @@ For examples, under [fish](http://fishshell.com/): | |
| 17 17 | 
             
                vim (gem path gem-path)
         | 
| 18 18 | 
             
                grep require -R (gem path gem-path)
         | 
| 19 19 |  | 
| 20 | 
            -
            Or checkout [gem- | 
| 20 | 
            +
            Or checkout [gem-eit][], [gem-grep][] for shorthands.
         | 
| 21 21 |  | 
| 22 | 
            -
            [gem-cd]: https://github.com/godfat/gem-cd
         | 
| 23 22 | 
             
            [gem-eit]: https://github.com/godfat/gem-eit
         | 
| 24 23 | 
             
            [gem-grep]: https://github.com/godfat/gem-grep
         | 
| 25 24 |  | 
| @@ -65,7 +64,7 @@ This was extracted from [eit-gem][]. | |
| 65 64 |  | 
| 66 65 | 
             
            Apache License 2.0
         | 
| 67 66 |  | 
| 68 | 
            -
            Copyright (c) 2013, Lin Jen-Shin (godfat)
         | 
| 67 | 
            +
            Copyright (c) 2013-2014, Lin Jen-Shin (godfat)
         | 
| 69 68 |  | 
| 70 69 | 
             
            Licensed under the Apache License, Version 2.0 (the "License");
         | 
| 71 70 | 
             
            you may not use this file except in compliance with the License.
         | 
    
        data/Rakefile
    CHANGED
    
    
    
        data/gem-path.gemspec
    CHANGED
    
    | @@ -1,14 +1,15 @@ | |
| 1 1 | 
             
            # -*- encoding: utf-8 -*-
         | 
| 2 | 
            -
            # stub: gem-path 0. | 
| 2 | 
            +
            # stub: gem-path 0.6.0 ruby lib
         | 
| 3 3 |  | 
| 4 4 | 
             
            Gem::Specification.new do |s|
         | 
| 5 5 | 
             
              s.name = "gem-path"
         | 
| 6 | 
            -
              s.version = "0. | 
| 6 | 
            +
              s.version = "0.6.0"
         | 
| 7 7 |  | 
| 8 8 | 
             
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         | 
| 9 | 
            +
              s.require_paths = ["lib"]
         | 
| 9 10 | 
             
              s.authors = ["Lin Jen-Shin (godfat)"]
         | 
| 10 | 
            -
              s.date = " | 
| 11 | 
            -
              s.description = "Find the path for a given gem or require path for editing or greping.\n\nFor examples, under [fish](http://fishshell.com/):\n\n    cd (gem path gem-path)\n    vim (gem path gem-path)\n    grep require -R (gem path gem-path)\n\nOr checkout [gem- | 
| 11 | 
            +
              s.date = "2014-10-27"
         | 
| 12 | 
            +
              s.description = "Find the path for a given gem or require path for editing or greping.\n\nFor examples, under [fish](http://fishshell.com/):\n\n    cd (gem path gem-path)\n    vim (gem path gem-path)\n    grep require -R (gem path gem-path)\n\nOr checkout [gem-eit][], [gem-grep][] for shorthands.\n\n[gem-eit]: https://github.com/godfat/gem-eit\n[gem-grep]: https://github.com/godfat/gem-grep"
         | 
| 12 13 | 
             
              s.email = ["godfat (XD) godfat.org"]
         | 
| 13 14 | 
             
              s.files = [
         | 
| 14 15 | 
             
              ".gitignore",
         | 
| @@ -22,10 +23,10 @@ Gem::Specification.new do |s| | |
| 22 23 | 
             
              "lib/rubygems/commands/path_command.rb",
         | 
| 23 24 | 
             
              "lib/rubygems_plugin.rb",
         | 
| 24 25 | 
             
              "task/README.md",
         | 
| 25 | 
            -
              "task/gemgem.rb" | 
| 26 | 
            +
              "task/gemgem.rb",
         | 
| 27 | 
            +
              "test/test.rb"]
         | 
| 26 28 | 
             
              s.homepage = "https://github.com/godfat/gem-path"
         | 
| 27 29 | 
             
              s.licenses = ["Apache License 2.0"]
         | 
| 28 | 
            -
              s. | 
| 29 | 
            -
              s.rubygems_version = "2.1.11"
         | 
| 30 | 
            +
              s.rubygems_version = "2.4.2"
         | 
| 30 31 | 
             
              s.summary = "Find the path for a given gem or require path for editing or greping."
         | 
| 31 32 | 
             
            end
         | 
| @@ -12,16 +12,16 @@ class Gem::Commands::PathCommand < Gem::Command | |
| 12 12 | 
             
                name, version = extract!(options[:args])
         | 
| 13 13 |  | 
| 14 14 | 
             
                # find the exact gem
         | 
| 15 | 
            -
                if  | 
| 16 | 
            -
                  say( | 
| 15 | 
            +
                if gem_path = find_gem_path(name)
         | 
| 16 | 
            +
                  say(gem_path)
         | 
| 17 17 |  | 
| 18 18 | 
             
                # find the require file
         | 
| 19 19 | 
             
                elsif path = Gem.find_files("#{name}.rb").first
         | 
| 20 20 | 
             
                  # favor gem first (e.g. rake gem)
         | 
| 21 | 
            -
                  if  | 
| 21 | 
            +
                  if gem_path = Gem.path.find{ |p|
         | 
| 22 22 | 
             
                       break $1 if path =~ %r{(#{p}(/[^/]+){2})}
         | 
| 23 23 | 
             
                     }
         | 
| 24 | 
            -
                    say( | 
| 24 | 
            +
                    say(gem_path)
         | 
| 25 25 | 
             
                  else
         | 
| 26 26 | 
             
                    say(path)
         | 
| 27 27 | 
             
                  end
         | 
| @@ -31,6 +31,17 @@ class Gem::Commands::PathCommand < Gem::Command | |
| 31 31 | 
             
                end
         | 
| 32 32 | 
             
              end
         | 
| 33 33 |  | 
| 34 | 
            +
              def find_gem_path name
         | 
| 35 | 
            +
                gem_path = Gem.path.find do |base|
         | 
| 36 | 
            +
                  gem_path = $LOAD_PATH.find do |path|
         | 
| 37 | 
            +
                               gem_path = path[%r{#{base}/gems/#{name}\-[^/-]+/}]
         | 
| 38 | 
            +
                               break gem_path if gem_path
         | 
| 39 | 
            +
                             end
         | 
| 40 | 
            +
                  break gem_path if gem_path
         | 
| 41 | 
            +
                end
         | 
| 42 | 
            +
                gem_path[0...-1] if gem_path
         | 
| 43 | 
            +
              end
         | 
| 44 | 
            +
             | 
| 34 45 | 
             
              private
         | 
| 35 46 | 
             
              def extract! args
         | 
| 36 47 | 
             
                gem(*args)
         | 
| @@ -43,15 +54,4 @@ class Gem::Commands::PathCommand < Gem::Command | |
| 43 54 | 
             
                  args # this could be a require path, go on searching
         | 
| 44 55 | 
             
                end
         | 
| 45 56 | 
             
              end
         | 
| 46 | 
            -
             | 
| 47 | 
            -
              def find_path_gem name
         | 
| 48 | 
            -
                path_gem = Gem.path.find do |base|
         | 
| 49 | 
            -
                  path_gem = $LOAD_PATH.find do |path|
         | 
| 50 | 
            -
                               path_gem = path[%r{#{base}/gems/#{name}\-[^/-]+/}]
         | 
| 51 | 
            -
                               break path_gem if path_gem
         | 
| 52 | 
            -
                             end
         | 
| 53 | 
            -
                  break path_gem if path_gem
         | 
| 54 | 
            -
                end
         | 
| 55 | 
            -
                path_gem[0...-1] if path_gem
         | 
| 56 | 
            -
              end
         | 
| 57 57 | 
             
            end
         | 
    
        data/task/gemgem.rb
    CHANGED
    
    | @@ -34,7 +34,7 @@ module Gemgem | |
| 34 34 | 
             
                  s.executables = bin_files
         | 
| 35 35 | 
             
                end
         | 
| 36 36 | 
             
                spec_create.call(spec)
         | 
| 37 | 
            -
                spec.homepage  | 
| 37 | 
            +
                spec.homepage ||= "https://github.com/godfat/#{spec.name}"
         | 
| 38 38 | 
             
                self.spec = spec
         | 
| 39 39 | 
             
              end
         | 
| 40 40 |  | 
| @@ -154,14 +154,8 @@ module Gemgem | |
| 154 154 | 
             
              def expand_patterns pathes
         | 
| 155 155 | 
             
                # http://git-scm.com/docs/gitignore
         | 
| 156 156 | 
             
                pathes.flat_map{ |path|
         | 
| 157 | 
            -
                   | 
| 158 | 
            -
                   | 
| 159 | 
            -
                    Regexp.escape(path).gsub(/\\\*/, '[^/]*')
         | 
| 160 | 
            -
                  when %r{^/}
         | 
| 161 | 
            -
                    "^#{Regexp.escape(path[1..-1])}"
         | 
| 162 | 
            -
                  else # we didn't implement negative pattern for now
         | 
| 163 | 
            -
                    Regexp.escape(path)
         | 
| 164 | 
            -
                  end
         | 
| 157 | 
            +
                  # we didn't implement negative pattern for now
         | 
| 158 | 
            +
                  Regexp.escape(path).sub(%r{^/}, '^').gsub(/\\\*/, '[^/]*')
         | 
| 165 159 | 
             
                }
         | 
| 166 160 | 
             
              end
         | 
| 167 161 |  | 
| @@ -233,10 +227,6 @@ end # of gem namespace | |
| 233 227 | 
             
            desc 'Run tests'
         | 
| 234 228 | 
             
            task :test do
         | 
| 235 229 | 
             
              next if Gemgem.test_files.empty?
         | 
| 236 | 
            -
             | 
| 237 | 
            -
              require 'bacon'
         | 
| 238 | 
            -
              Bacon.extend(Bacon::TestUnitOutput)
         | 
| 239 | 
            -
              Bacon.summary_on_exit
         | 
| 240 230 | 
             
              Gemgem.test_files.each{ |file| require "#{Gemgem.dir}/#{file[0..-4]}" }
         | 
| 241 231 | 
             
            end
         | 
| 242 232 |  | 
    
        data/test/test.rb
    ADDED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: gem-path
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.6.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Lin Jen-Shin (godfat)
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2014-10-27 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies: []
         | 
| 13 13 | 
             
            description: |-
         | 
| 14 14 | 
             
              Find the path for a given gem or require path for editing or greping.
         | 
| @@ -19,9 +19,8 @@ description: |- | |
| 19 19 | 
             
                  vim (gem path gem-path)
         | 
| 20 20 | 
             
                  grep require -R (gem path gem-path)
         | 
| 21 21 |  | 
| 22 | 
            -
              Or checkout [gem- | 
| 22 | 
            +
              Or checkout [gem-eit][], [gem-grep][] for shorthands.
         | 
| 23 23 |  | 
| 24 | 
            -
              [gem-cd]: https://github.com/godfat/gem-cd
         | 
| 25 24 | 
             
              [gem-eit]: https://github.com/godfat/gem-eit
         | 
| 26 25 | 
             
              [gem-grep]: https://github.com/godfat/gem-grep
         | 
| 27 26 | 
             
            email:
         | 
| @@ -30,9 +29,9 @@ executables: [] | |
| 30 29 | 
             
            extensions: []
         | 
| 31 30 | 
             
            extra_rdoc_files: []
         | 
| 32 31 | 
             
            files:
         | 
| 33 | 
            -
            - .gitignore
         | 
| 34 | 
            -
            - .gitmodules
         | 
| 35 | 
            -
            - .travis.yml
         | 
| 32 | 
            +
            - ".gitignore"
         | 
| 33 | 
            +
            - ".gitmodules"
         | 
| 34 | 
            +
            - ".travis.yml"
         | 
| 36 35 | 
             
            - CHANGES.md
         | 
| 37 36 | 
             
            - LICENSE
         | 
| 38 37 | 
             
            - README.md
         | 
| @@ -42,6 +41,7 @@ files: | |
| 42 41 | 
             
            - lib/rubygems_plugin.rb
         | 
| 43 42 | 
             
            - task/README.md
         | 
| 44 43 | 
             
            - task/gemgem.rb
         | 
| 44 | 
            +
            - test/test.rb
         | 
| 45 45 | 
             
            homepage: https://github.com/godfat/gem-path
         | 
| 46 46 | 
             
            licenses:
         | 
| 47 47 | 
             
            - Apache License 2.0
         | 
| @@ -52,17 +52,17 @@ require_paths: | |
| 52 52 | 
             
            - lib
         | 
| 53 53 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 54 54 | 
             
              requirements:
         | 
| 55 | 
            -
              - -  | 
| 55 | 
            +
              - - ">="
         | 
| 56 56 | 
             
                - !ruby/object:Gem::Version
         | 
| 57 57 | 
             
                  version: '0'
         | 
| 58 58 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 59 59 | 
             
              requirements:
         | 
| 60 | 
            -
              - -  | 
| 60 | 
            +
              - - ">="
         | 
| 61 61 | 
             
                - !ruby/object:Gem::Version
         | 
| 62 62 | 
             
                  version: '0'
         | 
| 63 63 | 
             
            requirements: []
         | 
| 64 64 | 
             
            rubyforge_project: 
         | 
| 65 | 
            -
            rubygems_version: 2. | 
| 65 | 
            +
            rubygems_version: 2.4.2
         | 
| 66 66 | 
             
            signing_key: 
         | 
| 67 67 | 
             
            specification_version: 4
         | 
| 68 68 | 
             
            summary: Find the path for a given gem or require path for editing or greping.
         |