gems-license-finder 0.0.8 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: f24622267d82c32a72bf410472550cfedee46c72
4
- data.tar.gz: f63ead7eabb922ec6de5e8f5623b67366789c2b9
2
+ SHA256:
3
+ metadata.gz: bc20743bac6f1311273501d69701f197bd2c144d267ed21271c4bad421c6920a
4
+ data.tar.gz: 7a26d48a3954b1e8ce2a3e5671353d0652150cc657dc47ca77963f288115faf8
5
5
  SHA512:
6
- metadata.gz: 840b18a430c3f4a8ac7eeb2cdc309ba331f665f5416db65634486b3247dafb2ba4d1bd4f95a19a67c0ea986e77f1a41d0c52c0b1b8a0dcb8c9cd700bd370e4cf
7
- data.tar.gz: 082b39f2780df416a8270310b0a869d2c24bebc82d16e01f6d41be3ac15eeb2f3fa140bca36b0d516b651e3c5d2f07c94956db0b71822f83e57c3c066e8d6f35
6
+ metadata.gz: da3ee54712e560cd04b57b8699b2b4e72cf824230a5683f3c6509452ae809ca6cbd5b36aa9bf5296132cc87a29cac0458b84a8218b11618d2ccaa9a68e376258
7
+ data.tar.gz: fd132288f005d7c5ff528a4dd98abe8e243b4e53a28aa119d9204a480ff30c44149b1ba7e2dabcc0d0b1dc0bca600233a247ba7e244d69416549ce320573f9b0
data/Gemfile.lock CHANGED
@@ -1,64 +1,90 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gems-license-finder (0.0.1)
5
- bluecloth
6
- faraday (< 0.9)
7
- github-markup
8
- github_api
9
- kramdown
10
- maruku
11
- posix-spawn
12
- rdiscount
13
- redcarpet
4
+ gems-license-finder (0.0.10)
5
+ bluecloth (~> 2.2.0)
6
+ faraday (~> 1)
7
+ github-markup (~> 3.0.5)
8
+ github_api (~> 0.19.0)
9
+ kramdown (~> 2.3.0)
10
+ maruku (~> 0.7.3)
11
+ posix-spawn (~> 0.3.15)
12
+ rack (~> 2.2.4)
13
+ rdiscount (~> 2.2.0)
14
+ redcarpet (~> 3.5.1)
14
15
 
15
16
  GEM
16
17
  remote: http://rubygems.org/
17
18
  specs:
18
- addressable (2.3.5)
19
+ addressable (2.8.0)
20
+ public_suffix (>= 2.0.2, < 5.0)
19
21
  bluecloth (2.2.0)
20
- descendants_tracker (0.0.3)
21
- faraday (0.8.9)
22
- multipart-post (~> 1.2.0)
23
- github-markup (1.1.0)
24
- github_api (0.11.3)
25
- addressable (~> 2.3)
26
- descendants_tracker (~> 0.0.1)
27
- faraday (~> 0.8, < 0.10)
28
- hashie (>= 1.2)
29
- multi_json (>= 1.7.5, < 2.0)
30
- nokogiri (~> 1.6.0)
31
- oauth2
32
- hashie (2.0.5)
33
- jwt (0.1.11)
34
- multi_json (>= 1.5)
35
- kramdown (1.3.3)
36
- maruku (0.7.1)
22
+ descendants_tracker (0.0.4)
23
+ thread_safe (~> 0.3, >= 0.3.1)
24
+ faraday (1.10.0)
25
+ faraday-em_http (~> 1.0)
26
+ faraday-em_synchrony (~> 1.0)
27
+ faraday-excon (~> 1.1)
28
+ faraday-httpclient (~> 1.0)
29
+ faraday-multipart (~> 1.0)
30
+ faraday-net_http (~> 1.0)
31
+ faraday-net_http_persistent (~> 1.0)
32
+ faraday-patron (~> 1.0)
33
+ faraday-rack (~> 1.0)
34
+ faraday-retry (~> 1.0)
35
+ ruby2_keywords (>= 0.0.4)
36
+ faraday-em_http (1.0.0)
37
+ faraday-em_synchrony (1.0.0)
38
+ faraday-excon (1.1.0)
39
+ faraday-httpclient (1.0.1)
40
+ faraday-multipart (1.0.4)
41
+ multipart-post (~> 2)
42
+ faraday-net_http (1.0.1)
43
+ faraday-net_http_persistent (1.2.0)
44
+ faraday-patron (1.0.0)
45
+ faraday-rack (1.0.0)
46
+ faraday-retry (1.0.3)
47
+ github-markup (3.0.5)
48
+ github_api (0.19.0)
49
+ addressable (~> 2.4)
50
+ descendants_tracker (~> 0.0.4)
51
+ faraday (>= 0.8, < 2)
52
+ hashie (~> 3.5, >= 3.5.2)
53
+ oauth2 (~> 1.0)
54
+ hashie (3.6.0)
55
+ jwt (2.4.1)
56
+ kramdown (2.3.2)
57
+ rexml
58
+ maruku (0.7.3)
37
59
  metaclass (0.0.4)
38
- mini_portile (0.5.2)
39
- minitest (5.3.1)
40
- mocha (1.0.0)
60
+ minitest (5.11.3)
61
+ mocha (1.6.0)
41
62
  metaclass (~> 0.0.1)
42
- multi_json (1.9.2)
43
- multi_xml (0.5.5)
44
- multipart-post (1.2.0)
45
- nokogiri (1.6.1)
46
- mini_portile (~> 0.5.0)
47
- oauth2 (0.9.3)
48
- faraday (>= 0.8, < 0.10)
49
- jwt (~> 0.1.8)
63
+ multi_json (1.15.0)
64
+ multi_xml (0.6.0)
65
+ multipart-post (2.2.3)
66
+ oauth2 (1.4.10)
67
+ faraday (>= 0.17.3, < 3.0)
68
+ jwt (>= 1.0, < 3.0)
50
69
  multi_json (~> 1.3)
51
70
  multi_xml (~> 0.5)
52
- rack (~> 1.2)
53
- posix-spawn (0.3.8)
54
- rack (1.5.2)
55
- rdiscount (2.1.7)
56
- redcarpet (3.1.1)
71
+ rack (>= 1.2, < 3)
72
+ posix-spawn (0.3.15)
73
+ public_suffix (4.0.7)
74
+ rack (2.2.4)
75
+ rdiscount (2.2.0.2)
76
+ redcarpet (3.5.1)
77
+ rexml (3.2.5)
78
+ ruby2_keywords (0.0.5)
79
+ thread_safe (0.3.6)
57
80
 
58
81
  PLATFORMS
59
82
  ruby
60
83
 
61
84
  DEPENDENCIES
62
85
  gems-license-finder!
63
- minitest
64
- mocha
86
+ minitest (~> 5.11.3)
87
+ mocha (~> 1.6.0)
88
+
89
+ BUNDLED WITH
90
+ 1.17.3
data/README.md CHANGED
@@ -18,10 +18,11 @@ or add this to your `Gemfile` and bundle
18
18
  via command line
19
19
  ```
20
20
  $ gems-license-finder --help
21
- Usage: gems-license-finder gem-name [options]
21
+ Usage: gems-license-finder [gem-name | Gemfile.lock] [options]
22
22
 
23
23
  -o, --output FORMAT output format [json, yaml]
24
24
  -t, --token TOKEN github token string ( or by GITHUB_TOKEN environment variable )
25
+ -p, --parallel X number of threads to use
25
26
  -v, --version Print version and exit
26
27
 
27
28
  For more information about how to generate the github token please look at:
@@ -43,6 +44,56 @@ $ gems-license-finder bundler
43
44
  "license": "https://github.com/bundler/bundler//blob/master/LICENSE.md",
44
45
  "github_url": "https://github.com/bundler/bundler/"
45
46
  }
47
+ ```
48
+
49
+ finding licenses for gems listed in Gemfile.lock
50
+ ```
51
+ $ cat /your/project/path/Gemfile.lock
52
+ GEM
53
+ remote: https://rubygems.org/
54
+ specs:
55
+ eventmachine (1.2.7)
56
+ zscheduler (0.0.8)
57
+ eventmachine
58
+
59
+ PLATFORMS
60
+ ruby
61
+
62
+ DEPENDENCIES
63
+ zscheduler!
64
+
65
+ BUNDLED WITH
66
+ 1.17.3
67
+
68
+ $ gems-license-finder /your/project/path/Gemfile.lock
69
+
70
+ {
71
+ "eventmachine": {
72
+ "homepage": "http://rubyeventmachine.com",
73
+ "source_code": "https://github.com/eventmachine/eventmachine",
74
+ "documentation": "https://www.rubydoc.info/gems/eventmachine/1.2.7",
75
+ "bug_tracker": "https://github.com/eventmachine/eventmachine/issues",
76
+ "download": "/downloads/eventmachine-1.2.7.gem",
77
+ "reverse_dependencies": "/gems/eventmachine/reverse_dependencies",
78
+ "license_type": "Ruby",
79
+ "license_url": "https://www.ruby-lang.org/en/about/license.txt",
80
+ "description": "EventMachine implements a fast, single-threaded engine for arbitrary networkcommunications. It's extremely easy to use in Ruby. EventMachine wraps allinteractions with IP sockets, allowing programs to concentrate on theimplementation of network protocols. It can be used to create both networkservers and clients. To create a server or client, a Ruby program only needsto specify the IP address and port, and provide a Module that implements thecommunications protocol. Implementations of several standard network protocolsare provided with the package, primarily to serve as examples. The real goalof EventMachine is to enable programs to easily interface with other programsusing TCP/IP, especially if custom protocols are required.",
81
+ "license": "https://github.com/eventmachine/eventmachine/blob/master/LICENSE",
82
+ "github_url": "https://github.com/eventmachine/eventmachine"
83
+ },
84
+ "zscheduler": {
85
+ "homepage": "http://github.com/eranb/zscheduler",
86
+ "source_code": "https://github.com/eranb/zscheduler",
87
+ "documentation": "https://www.rubydoc.info/gems/zscheduler/0.0.8",
88
+ "download": "/downloads/zscheduler-0.0.8.gem",
89
+ "reverse_dependencies": "/gems/zscheduler/reverse_dependencies",
90
+ "license_type": "LGPL",
91
+ "license_url": "http://choosealicense.com/licenses/lgpl-v2.1/",
92
+ "description": "minimalistic scheduler on top of event-machine",
93
+ "license": "https://github.com/eranb/zscheduler/blob/master/LICENSE",
94
+ "github_url": "https://github.com/eranb/zscheduler"
95
+ }
96
+ }
46
97
 
47
98
  ```
48
99
 
@@ -8,7 +8,8 @@ require 'yaml'
8
8
  require 'json'
9
9
  require 'optparse'
10
10
 
11
- options = { output: ->(hash) { JSON.pretty_generate hash } }
11
+ options = {output: ->(h) { JSON.pretty_generate h }}
12
+
12
13
  options[:oauth_token] = ENV["GITHUB_TOKEN"] if ENV["GITHUB_TOKEN"]
13
14
 
14
15
  OptionParser.new do |opts|
@@ -23,6 +24,10 @@ OptionParser.new do |opts|
23
24
  options[:oauth_token] = v
24
25
  end
25
26
 
27
+ opts.on("-p", "--parallel X", "number of threads to use") do |v|
28
+ options[:parallel] = v.to_i.zero? ? 1 : v.to_i
29
+ end
30
+
26
31
  opts.on("-v", "--version","print current version and exit") do
27
32
  puts GemsLicenseFinder.version
28
33
  exit
@@ -1,3 +1,3 @@
1
1
  module GemsLicenseFinder
2
- VERSION = "0.0.8"
2
+ VERSION = "0.0.11"
3
3
  end
@@ -3,6 +3,7 @@
3
3
  require 'github_api'
4
4
  require 'open-uri'
5
5
  require 'uri'
6
+ require 'bundler'
6
7
  require 'github/markup'
7
8
  require 'gems-license-finder/version'
8
9
  require 'cgi'
@@ -20,7 +21,7 @@ module GemsLicenseFinder
20
21
 
21
22
  class Client
22
23
  LICENSE_FILES = %w[LICENSE LICENSE.md LICENSE.markdown MIT-LICENSE
23
- LICENSE.txt MIT-LICENSE.txt MIT.LICENSE MIT_LICENSE
24
+ LICENSE.txt MIT-LICENSE.txt MIT.LICENSE MIT_LICENSE
24
25
  MIT-LICENSE.md LICENSE.rdoc License
25
26
  COPYING License.txt COPYING.md GNU GNU.txt GNU.rdoc GNU.markdown]
26
27
 
@@ -41,15 +42,40 @@ module GemsLicenseFinder
41
42
  }
42
43
 
43
44
  def initialize options = {}
45
+ @parallel = options.delete(:parallel) || 1
44
46
  @github = Github.new options.clone
45
47
  end
46
48
 
47
49
  def find name
48
- normalize(github_info name, rubygems_info( name ))
50
+ lockfile?(name) ? find_from_lockfile(name) : find_single(name)
51
+ end
52
+
53
+ def find_single name
54
+ normalize github_info(name , rubygems_info(name))
55
+ end
56
+
57
+ def find_from_lockfile lockfile
58
+ Bundler::LockfileParser.new(Bundler.read_file lockfile).
59
+ specs.
60
+ map(&:name).
61
+ each_slice(@parallel).
62
+ reduce({}) {|acc, slice|
63
+ acc.merge(
64
+ slice.
65
+ map {|x| [x, Thread.new {find_single(x) rescue {}}]}.
66
+ map {|x, t| [x, t.value]}.
67
+ to_h
68
+ )
69
+ }
49
70
  end
50
71
 
51
72
  private
52
73
 
74
+ def lockfile? str
75
+ File.exists?(str) &&
76
+ File.basename(str).eql?("Gemfile.lock")
77
+ end
78
+
53
79
  def rubygems_info name
54
80
  begin
55
81
  content = open("https://rubygems.org/gems/#{name}").read
@@ -57,18 +83,18 @@ module GemsLicenseFinder
57
83
  raise e.io.status.first == "404" ? GemNotFound.new(e) : e
58
84
  end
59
85
 
60
- info = Hash[content.scan(/<a href="(.*?)" rel.*>(.*?)</)].invert
86
+ info = Hash[content.scan(/<a rel=\"nofollow\".*?href=\"(.*?)\".*?>(.*?)</)].invert
61
87
  type, url = normalize_licence(
62
88
  (utf8_match(content,'<h5>Licenses<\/h5>.*?<p>(.*?)<')[1] rescue ""))
63
89
  description = (CGI.unescapeHTML utf8_match(content,'gem__desc.*?<p>(.*?)<')[1].
64
90
  strip.squeeze(" ").gsub(/\n/,"") rescue nil)
65
91
 
66
- info.merge({ license_type: type, license_url: url, description: description })
92
+ info.merge license_type: type, license_url: url, description: description
67
93
  end
68
94
 
69
95
  def github_info name, rubygems
70
96
  url = rubygems["Source Code"] || rubygems["Homepage"]
71
- if url.to_s =~ /\/\/github\.com/
97
+ if url.to_s =~ /github\.com/
72
98
  # Sometimes the homepage in rubygems.org is old, e.g:
73
99
  # carlhuda/bundler => bundler/bundler
74
100
  open(url.sub("http:","https:")) { |o| url = o.base_uri.to_s } # follow redirects
@@ -84,7 +110,7 @@ module GemsLicenseFinder
84
110
  license = "#{url}/blob/master/#{file}" if content
85
111
 
86
112
  if license
87
- type, lurl = (file =~ /mit|gnu/i) ?
113
+ type, lurl = (file =~ /mit|gnu/i) ?
88
114
  normalize_licence(file.split(".").first) : type_from_license_text(content)
89
115
  break
90
116
  end
@@ -95,7 +121,7 @@ module GemsLicenseFinder
95
121
  end
96
122
 
97
123
  README_FILES.each do |file|
98
- break if license and type
124
+ break if license and type
99
125
  content = GitHub::Markup.render(file,fetch_github_file(user,repo,file)) rescue next
100
126
  type, lurl = normalize_licence(content) if type.nil?
101
127
 
@@ -105,7 +131,7 @@ module GemsLicenseFinder
105
131
  to_s.downcase.gsub(/\s/,"-") rescue nil
106
132
 
107
133
  if license.nil? and utf8_match(content,'licen[cs]e')
108
- license = rurl
134
+ license = rurl
109
135
  type, lurl = normalize_licence content
110
136
  end
111
137
 
metadata CHANGED
@@ -1,169 +1,183 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gems-license-finder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
- - Eran Barak Levi
8
- autorequire:
7
+ - Eran
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-16 00:00:00.000000000 Z
11
+ date: 2022-07-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 5.11.3
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 5.11.3
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: mocha
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 1.6.0
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 1.6.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: github_api
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 0.19.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 0.19.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: rack
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 2.2.4
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 2.2.4
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: github-markup
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - ">="
73
+ - - "~>"
60
74
  - !ruby/object:Gem::Version
61
- version: '0'
75
+ version: 3.0.5
62
76
  type: :runtime
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - ">="
80
+ - - "~>"
67
81
  - !ruby/object:Gem::Version
68
- version: '0'
82
+ version: 3.0.5
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: posix-spawn
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - ">="
87
+ - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: '0'
89
+ version: 0.3.15
76
90
  type: :runtime
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - ">="
94
+ - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: '0'
96
+ version: 0.3.15
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: redcarpet
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
- - - ">="
101
+ - - "~>"
88
102
  - !ruby/object:Gem::Version
89
- version: '0'
103
+ version: 3.5.1
90
104
  type: :runtime
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
- - - ">="
108
+ - - "~>"
95
109
  - !ruby/object:Gem::Version
96
- version: '0'
110
+ version: 3.5.1
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: rdiscount
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
- - - ">="
115
+ - - "~>"
102
116
  - !ruby/object:Gem::Version
103
- version: '0'
117
+ version: 2.2.0
104
118
  type: :runtime
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
- - - ">="
122
+ - - "~>"
109
123
  - !ruby/object:Gem::Version
110
- version: '0'
124
+ version: 2.2.0
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: maruku
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
- - - ">="
129
+ - - "~>"
116
130
  - !ruby/object:Gem::Version
117
- version: '0'
131
+ version: 0.7.3
118
132
  type: :runtime
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
- - - ">="
136
+ - - "~>"
123
137
  - !ruby/object:Gem::Version
124
- version: '0'
138
+ version: 0.7.3
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: kramdown
127
141
  requirement: !ruby/object:Gem::Requirement
128
142
  requirements:
129
- - - ">="
143
+ - - "~>"
130
144
  - !ruby/object:Gem::Version
131
- version: '0'
145
+ version: 2.3.0
132
146
  type: :runtime
133
147
  prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
- - - ">="
150
+ - - "~>"
137
151
  - !ruby/object:Gem::Version
138
- version: '0'
152
+ version: 2.3.0
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: bluecloth
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
- - - ">="
157
+ - - "~>"
144
158
  - !ruby/object:Gem::Version
145
- version: '0'
159
+ version: 2.2.0
146
160
  type: :runtime
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
- - - ">="
164
+ - - "~>"
151
165
  - !ruby/object:Gem::Version
152
- version: '0'
166
+ version: 2.2.0
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: faraday
155
169
  requirement: !ruby/object:Gem::Requirement
156
170
  requirements:
157
- - - "<"
171
+ - - "~>"
158
172
  - !ruby/object:Gem::Version
159
- version: '0.9'
173
+ version: '1'
160
174
  type: :runtime
161
175
  prerelease: false
162
176
  version_requirements: !ruby/object:Gem::Requirement
163
177
  requirements:
164
- - - "<"
178
+ - - "~>"
165
179
  - !ruby/object:Gem::Version
166
- version: '0.9'
180
+ version: '1'
167
181
  description: Poor man's license finder for rubygems, that might work
168
182
  email: eran@kontera.com
169
183
  executables:
@@ -180,9 +194,10 @@ files:
180
194
  - lib/gems-license-finder.rb
181
195
  - lib/gems-license-finder/version.rb
182
196
  homepage: http://www.kontera.com
183
- licenses: []
197
+ licenses:
198
+ - MIT
184
199
  metadata: {}
185
- post_install_message:
200
+ post_install_message:
186
201
  rdoc_options: []
187
202
  require_paths:
188
203
  - lib
@@ -190,16 +205,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
190
205
  requirements:
191
206
  - - ">="
192
207
  - !ruby/object:Gem::Version
193
- version: 1.9.1
208
+ version: 2.1.0
194
209
  required_rubygems_version: !ruby/object:Gem::Requirement
195
210
  requirements:
196
211
  - - ">="
197
212
  - !ruby/object:Gem::Version
198
213
  version: '0'
199
214
  requirements: []
200
- rubyforge_project:
201
- rubygems_version: 2.4.6
202
- signing_key:
215
+ rubygems_version: 3.0.8
216
+ signing_key:
203
217
  specification_version: 4
204
218
  summary: Poor man's license finder for rubygems
205
219
  test_files: []