licensee 9.20.0 → 10.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5c28e30b13570d0619bc9ec837c115c8184e3ecd3a46f17a5a3146b425c75262
4
- data.tar.gz: 79fdbe8f8702fa484280083757db94ec93ac7106f3adb5b54aa3287ad7edbc45
3
+ metadata.gz: bbe5733519ac70cb6abdf04a94a91e0561b4733ecfaf1be5a2f3358b7178f146
4
+ data.tar.gz: 2dcdc288201a43e20bada85d4019937002c97325c28d3620876a0e4eebefbe92
5
5
  SHA512:
6
- metadata.gz: f761cf9ba0303f36693af8d2b91acf2c64b35daf7a2409e7ba7c463a8bba3eea1c7f16a8657e7af47694bbcb640d46507bf341ce62198241d66066e1a0fc8991
7
- data.tar.gz: 66599cd5fda2597a8d063c547383a259b16b1d8854e7c88057096a2b054193683d3ff2ffd7b47738f30d81d49a68371eee8025fd139187cf9fd8a2bb71b68bc6
6
+ metadata.gz: e836c91d216d21da1428e063b6eee658b18ed05c4722c54b4cd427eafed96acd0af0f3096f503e344b63bb08ff73a7a8fe6ee879aec6be0b231905554531c31e
7
+ data.tar.gz: '08feed6876192a2088d7e2dba10b6176834f6d6cfb930afdb394c15ea51517c75637db1f5ee1f3dda6bb020288a9e69ecf7767d51267f3c13d8b1fcb46128eb4'
@@ -8,7 +8,11 @@
8
8
  # :name - the file's path relative to the repo root
9
9
  # :oid - the file's OID
10
10
 
11
- autoload :Rugged, 'rugged'
11
+ begin
12
+ require 'rugged'
13
+ rescue LoadError
14
+ # rugged is optional; GitProject will raise RuggedNotAvailable when not installed
15
+ end
12
16
 
13
17
  module Licensee
14
18
  module Projects
@@ -17,8 +21,18 @@ module Licensee
17
21
  attr_reader :revision
18
22
 
19
23
  class InvalidRepository < ArgumentError; end
24
+ class RuggedNotAvailable < InvalidRepository; end
25
+
26
+ def self.available?
27
+ !!defined?(Rugged)
28
+ end
20
29
 
21
30
  def initialize(repo, revision: nil, **args)
31
+ unless self.class.available?
32
+ raise RuggedNotAvailable,
33
+ 'Install the rugged gem to enable Git repository scanning'
34
+ end
35
+
22
36
  @raw_repo = repo
23
37
  @revision = revision
24
38
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Licensee
4
- VERSION = '9.20.0'
4
+ VERSION = '10.0.0'
5
5
  end
@@ -3,6 +3,28 @@
3
3
  RSpec.describe Licensee::Projects::GitProject do
4
4
  let(:fixture) { 'mit' }
5
5
 
6
+ describe '.available?' do
7
+ it 'returns true when rugged is installed' do
8
+ expect(described_class.available?).to be(true)
9
+ end
10
+ end
11
+
12
+ context 'when rugged is not available' do
13
+ before { allow(described_class).to receive(:available?).and_return(false) }
14
+
15
+ it 'raises RuggedNotAvailable' do
16
+ expect { described_class.new(fixture_path(fixture)) }.to raise_error(
17
+ Licensee::Projects::GitProject::RuggedNotAvailable
18
+ )
19
+ end
20
+
21
+ it 'RuggedNotAvailable is a kind of InvalidRepository' do
22
+ expect(Licensee::Projects::GitProject::RuggedNotAvailable.ancestors).to include(
23
+ Licensee::Projects::GitProject::InvalidRepository
24
+ )
25
+ end
26
+ end
27
+
6
28
  context 'when a new git repo is handled as a file system project' do
7
29
  let(:path) { fixture_path(fixture) }
8
30
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: licensee
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.20.0
4
+ version: 10.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Balter
@@ -69,26 +69,6 @@ dependencies:
69
69
  - - "<"
70
70
  - !ruby/object:Gem::Version
71
71
  version: '4'
72
- - !ruby/object:Gem::Dependency
73
- name: rugged
74
- requirement: !ruby/object:Gem::Requirement
75
- requirements:
76
- - - ">="
77
- - !ruby/object:Gem::Version
78
- version: '0.24'
79
- - - "<"
80
- - !ruby/object:Gem::Version
81
- version: '2.0'
82
- type: :runtime
83
- prerelease: false
84
- version_requirements: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- version: '0.24'
89
- - - "<"
90
- - !ruby/object:Gem::Version
91
- version: '2.0'
92
72
  - !ruby/object:Gem::Dependency
93
73
  name: thor
94
74
  requirement: !ruby/object:Gem::Requirement
@@ -213,6 +193,26 @@ dependencies:
213
193
  - - "~>"
214
194
  - !ruby/object:Gem::Version
215
195
  version: '3.0'
196
+ - !ruby/object:Gem::Dependency
197
+ name: rugged
198
+ requirement: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: '0.24'
203
+ - - "<"
204
+ - !ruby/object:Gem::Version
205
+ version: '2.0'
206
+ type: :development
207
+ prerelease: false
208
+ version_requirements: !ruby/object:Gem::Requirement
209
+ requirements:
210
+ - - ">="
211
+ - !ruby/object:Gem::Version
212
+ version: '0.24'
213
+ - - "<"
214
+ - !ruby/object:Gem::Version
215
+ version: '2.0'
216
216
  - !ruby/object:Gem::Dependency
217
217
  name: simplecov
218
218
  requirement: !ruby/object:Gem::Requirement
@@ -520,6 +520,10 @@ licenses:
520
520
  - MIT
521
521
  metadata:
522
522
  rubygems_mfa_required: 'true'
523
+ post_install_message: |
524
+ NOTE: The rugged gem is no longer a required dependency of licensee.
525
+ If you scan bare Git repositories or Git repos without a working tree,
526
+ add rugged to your Gemfile or run: gem install rugged
523
527
  rdoc_options: []
524
528
  require_paths:
525
529
  - lib