gem-diff 0.2
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 +7 -0
- data/.gitignore +2 -0
- data/Rakefile +2 -0
- data/gem-diff.gemspec +22 -0
- data/lib/gem-diff/diff_command.rb +28 -0
- data/lib/gem-diff/version.rb +5 -0
- data/lib/rubygems_plugin.rb +7 -0
- metadata +77 -0
    
        checksums.yaml
    ADDED
    
    | @@ -0,0 +1,7 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            SHA256:
         | 
| 3 | 
            +
              metadata.gz: b2d64eeb5ee41bf0d6542c3344fb8e03e7ff7a7895144556aa2493b9047bfc12
         | 
| 4 | 
            +
              data.tar.gz: 79fe15208d3e3710c2d8bf1fe7eb4ad01a104c1fd79f65e1f7e0165f35dfa761
         | 
| 5 | 
            +
            SHA512:
         | 
| 6 | 
            +
              metadata.gz: e6a84a2d0bb60a14c01b5211dd455c56e8e66b437212eb0581fa7361e3faa8af8d59061a97f417e7c18d7abacc2b213ff6c3eb34f86a4fd42ef6b460aab72a11
         | 
| 7 | 
            +
              data.tar.gz: 48e73f20febcec7fb5ff1bc21648a2e2fb0cbccc4cbe66d7952988f2d21d07b608ed79e996e26b3b0ed3f07ea72b8d728647b0077320b4fbac4b503871ae2d83
         | 
    
        data/.gitignore
    ADDED
    
    
    
        data/Rakefile
    ADDED
    
    
    
        data/gem-diff.gemspec
    ADDED
    
    | @@ -0,0 +1,22 @@ | |
| 1 | 
            +
            #encoding: utf-8
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            require 'rubygems/command'
         | 
| 4 | 
            +
            require_relative 'lib/gem-diff/version'
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            Gem::Specification.new do |s|
         | 
| 7 | 
            +
              s.name          = 'gem-diff'
         | 
| 8 | 
            +
              s.version       = Gem::Commands::DiffCommand::VERSION
         | 
| 9 | 
            +
              s.summary       = %q{Show differences between gems}
         | 
| 10 | 
            +
              s.description   = %q{A Ruby gem which acts as a 'gem' plugin to show differences between gems.}
         | 
| 11 | 
            +
              s.author        = 'John Labovitz'
         | 
| 12 | 
            +
              s.email         = 'johnl@johnlabovitz.com'
         | 
| 13 | 
            +
              s.homepage      = 'https://github.com/jslabovitz/gem-diff.git'
         | 
| 14 | 
            +
              s.license       = 'MIT'
         | 
| 15 | 
            +
              s.files         = `git ls-files`.split($/)
         | 
| 16 | 
            +
              s.test_files    = `git ls-files -- {test,spec,features}/*`.split("\n")
         | 
| 17 | 
            +
              s.executables   = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
         | 
| 18 | 
            +
              s.require_path  = 'lib'
         | 
| 19 | 
            +
             | 
| 20 | 
            +
              s.add_development_dependency 'rake', '~> 12.3'
         | 
| 21 | 
            +
              s.add_development_dependency 'rubygems-tasks', '~> 0.2'
         | 
| 22 | 
            +
            end
         | 
| @@ -0,0 +1,28 @@ | |
| 1 | 
            +
            class Gem::Commands::DiffCommand < Gem::Command
         | 
| 2 | 
            +
             | 
| 3 | 
            +
              def initialize
         | 
| 4 | 
            +
                super 'diff', %q{Show differences between versions of gem}
         | 
| 5 | 
            +
              end
         | 
| 6 | 
            +
             | 
| 7 | 
            +
              def execute
         | 
| 8 | 
            +
                if options[:args].empty?
         | 
| 9 | 
            +
                  gems = Gem::Specification
         | 
| 10 | 
            +
                else
         | 
| 11 | 
            +
                  gems = options[:args].map { |n| Gem::Specification.find_all_by_name(n) }.flatten
         | 
| 12 | 
            +
                end
         | 
| 13 | 
            +
                tree = {}
         | 
| 14 | 
            +
                gems.each do |gem|
         | 
| 15 | 
            +
                  unless gem.default_gem?
         | 
| 16 | 
            +
                    tree[gem.name] ||= []
         | 
| 17 | 
            +
                    tree[gem.name] << gem
         | 
| 18 | 
            +
                  end
         | 
| 19 | 
            +
                end
         | 
| 20 | 
            +
                tree.reject { |n, v| v.length < 2 }.each do |name, versions|
         | 
| 21 | 
            +
                  versions.sort_by!(&:version)
         | 
| 22 | 
            +
                  warn "#{name} has more than one version -- only comparing last two" if versions.length > 2
         | 
| 23 | 
            +
                  paths = versions[-2..-1].map(&:gem_dir)
         | 
| 24 | 
            +
                  system 'git', 'diff', *paths
         | 
| 25 | 
            +
                end
         | 
| 26 | 
            +
              end
         | 
| 27 | 
            +
             | 
| 28 | 
            +
            end
         | 
    
        metadata
    ADDED
    
    | @@ -0,0 +1,77 @@ | |
| 1 | 
            +
            --- !ruby/object:Gem::Specification
         | 
| 2 | 
            +
            name: gem-diff
         | 
| 3 | 
            +
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            +
              version: '0.2'
         | 
| 5 | 
            +
            platform: ruby
         | 
| 6 | 
            +
            authors:
         | 
| 7 | 
            +
            - John Labovitz
         | 
| 8 | 
            +
            autorequire: 
         | 
| 9 | 
            +
            bindir: bin
         | 
| 10 | 
            +
            cert_chain: []
         | 
| 11 | 
            +
            date: 2018-01-08 00:00:00.000000000 Z
         | 
| 12 | 
            +
            dependencies:
         | 
| 13 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 14 | 
            +
              name: rake
         | 
| 15 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 | 
            +
                requirements:
         | 
| 17 | 
            +
                - - "~>"
         | 
| 18 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            +
                    version: '12.3'
         | 
| 20 | 
            +
              type: :development
         | 
| 21 | 
            +
              prerelease: false
         | 
| 22 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 | 
            +
                requirements:
         | 
| 24 | 
            +
                - - "~>"
         | 
| 25 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            +
                    version: '12.3'
         | 
| 27 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 28 | 
            +
              name: rubygems-tasks
         | 
| 29 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 | 
            +
                requirements:
         | 
| 31 | 
            +
                - - "~>"
         | 
| 32 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 33 | 
            +
                    version: '0.2'
         | 
| 34 | 
            +
              type: :development
         | 
| 35 | 
            +
              prerelease: false
         | 
| 36 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 | 
            +
                requirements:
         | 
| 38 | 
            +
                - - "~>"
         | 
| 39 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 40 | 
            +
                    version: '0.2'
         | 
| 41 | 
            +
            description: A Ruby gem which acts as a 'gem' plugin to show differences between gems.
         | 
| 42 | 
            +
            email: johnl@johnlabovitz.com
         | 
| 43 | 
            +
            executables: []
         | 
| 44 | 
            +
            extensions: []
         | 
| 45 | 
            +
            extra_rdoc_files: []
         | 
| 46 | 
            +
            files:
         | 
| 47 | 
            +
            - ".gitignore"
         | 
| 48 | 
            +
            - Rakefile
         | 
| 49 | 
            +
            - gem-diff.gemspec
         | 
| 50 | 
            +
            - lib/gem-diff/diff_command.rb
         | 
| 51 | 
            +
            - lib/gem-diff/version.rb
         | 
| 52 | 
            +
            - lib/rubygems_plugin.rb
         | 
| 53 | 
            +
            homepage: https://github.com/jslabovitz/gem-diff.git
         | 
| 54 | 
            +
            licenses:
         | 
| 55 | 
            +
            - MIT
         | 
| 56 | 
            +
            metadata: {}
         | 
| 57 | 
            +
            post_install_message: 
         | 
| 58 | 
            +
            rdoc_options: []
         | 
| 59 | 
            +
            require_paths:
         | 
| 60 | 
            +
            - lib
         | 
| 61 | 
            +
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 62 | 
            +
              requirements:
         | 
| 63 | 
            +
              - - ">="
         | 
| 64 | 
            +
                - !ruby/object:Gem::Version
         | 
| 65 | 
            +
                  version: '0'
         | 
| 66 | 
            +
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 67 | 
            +
              requirements:
         | 
| 68 | 
            +
              - - ">="
         | 
| 69 | 
            +
                - !ruby/object:Gem::Version
         | 
| 70 | 
            +
                  version: '0'
         | 
| 71 | 
            +
            requirements: []
         | 
| 72 | 
            +
            rubyforge_project: 
         | 
| 73 | 
            +
            rubygems_version: 2.7.4
         | 
| 74 | 
            +
            signing_key: 
         | 
| 75 | 
            +
            specification_version: 4
         | 
| 76 | 
            +
            summary: Show differences between gems
         | 
| 77 | 
            +
            test_files: []
         |