gemfile_interpreter 0.0.5 → 0.0.6
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
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8094fe1e397a716636eaf598bfb48483e293738f
|
4
|
+
data.tar.gz: eea6a0af918499b7e7ed93fc11088f080ea87417
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 59ad8e61bb194b346a644217c8e28609eef041d6552680be6f46e174f80de877e3575d39d3b04cce873cd1c551571b65e3b40eb4efd76231cfda9a7f6cd9506d
|
7
|
+
data.tar.gz: 43c792105098a9c621b17cff93460f6ba1b541107db8ca3938fac76f16555bac28e50605b4a83aebec1edd0560fa58e824ac7a79f585a0b7f44cb6c0f350ad54
|
data/lib/gemfile_interpreter.rb
CHANGED
@@ -9,14 +9,14 @@ class GemfileInterpreter
|
|
9
9
|
gemfile_path = File.join dir, gemfile
|
10
10
|
lockfile_path = File.join dir, (lockfile || "#{gemfile}.lock")
|
11
11
|
@parsed = nil
|
12
|
-
@gems = ReadonlyBundler.load_gemfile gemfile_path, lockfile_path
|
12
|
+
@gems, @dependencies = ReadonlyBundler.load_gemfile gemfile_path, lockfile_path
|
13
13
|
true
|
14
14
|
end
|
15
15
|
|
16
|
-
attr_reader :gems
|
16
|
+
attr_reader :gems, :dependencies
|
17
17
|
|
18
18
|
def parsed
|
19
|
-
@parsed = Parser.parse gems
|
19
|
+
@parsed = Parser.parse gems, dependencies
|
20
20
|
end
|
21
21
|
|
22
22
|
def to_json
|
@@ -3,20 +3,21 @@ require 'bundler'
|
|
3
3
|
class GemfileInterpreter
|
4
4
|
module Parser
|
5
5
|
class << self
|
6
|
-
def parse gems
|
6
|
+
def parse gems, dependencies
|
7
7
|
hash = {}
|
8
8
|
gems.each do |gem|
|
9
|
-
hash[gem.name] = parse_gem gem
|
9
|
+
hash[gem.name] = parse_gem gem, dependencies
|
10
10
|
end
|
11
11
|
hash
|
12
12
|
end
|
13
13
|
|
14
|
-
def parse_gem gem
|
14
|
+
def parse_gem gem, dependencies
|
15
15
|
hash = {}
|
16
16
|
[:version, :full_name, :platform, :remote].map do |method|
|
17
17
|
hash[method.to_s] = gem.send(method).to_s
|
18
18
|
end
|
19
19
|
hash['source'] = parse_source gem.source
|
20
|
+
hash['in_gemfile'] = dependencies.any? {|d| d.name == gem.name }
|
20
21
|
hash
|
21
22
|
end
|
22
23
|
|
@@ -15,7 +15,7 @@ class GemfileInterpreter
|
|
15
15
|
@default_lockfile = Pathname.new lockfile
|
16
16
|
ensure_file_exists! default_gemfile, GemfileMissingError
|
17
17
|
ensure_file_exists! default_lockfile, GemfileLockMissingError
|
18
|
-
definition.resolve
|
18
|
+
return definition.resolve, definition.dependencies
|
19
19
|
end
|
20
20
|
|
21
21
|
def default_gemfile
|
@@ -33,7 +33,7 @@ RSpec.describe GemfileInterpreter do
|
|
33
33
|
rubygems_gem('railties', '5.0.1'),
|
34
34
|
rubygems_gem('responders', '2.3.0'),
|
35
35
|
rubygems_gem('warden', '1.2.7'),
|
36
|
-
rubygems_gem('devise', '4.2.0'),
|
36
|
+
rubygems_gem('devise', '4.2.0', true),
|
37
37
|
rubygems_gem('multipart-post', '2.0.0'),
|
38
38
|
rubygems_gem('faraday', '0.10.1'),
|
39
39
|
rubygems_gem('hashie', '3.5.3'),
|
@@ -43,7 +43,7 @@ RSpec.describe GemfileInterpreter do
|
|
43
43
|
rubygems_gem('oauth2', '1.3.0'),
|
44
44
|
rubygems_gem('omniauth', '1.6.1'),
|
45
45
|
rubygems_gem('omniauth-oauth2', '1.3.1'),
|
46
|
-
git_gem('omniauth-keltec', '0.0.1', 'https://github.com/ThunderKey/omniauth-keltec.git', 'd954a55459b48cb56be4dbbcaa1fd2afc113db5b'),
|
46
|
+
git_gem('omniauth-keltec', '0.0.1', 'https://github.com/ThunderKey/omniauth-keltec.git', 'd954a55459b48cb56be4dbbcaa1fd2afc113db5b', true),
|
47
47
|
]
|
48
48
|
end
|
49
49
|
|
@@ -75,7 +75,7 @@ RSpec.describe GemfileInterpreter do
|
|
75
75
|
rubygems_gem('railties', '5.0.1'),
|
76
76
|
rubygems_gem('responders', '2.3.0'),
|
77
77
|
rubygems_gem('warden', '1.2.7'),
|
78
|
-
rubygems_gem('devise', '4.2.0'),
|
78
|
+
rubygems_gem('devise', '4.2.0', true),
|
79
79
|
rubygems_gem('multipart-post', '2.0.0'),
|
80
80
|
rubygems_gem('faraday', '0.10.1'),
|
81
81
|
rubygems_gem('hashie', '3.5.3'),
|
@@ -85,7 +85,7 @@ RSpec.describe GemfileInterpreter do
|
|
85
85
|
rubygems_gem('oauth2', '1.3.0'),
|
86
86
|
rubygems_gem('omniauth', '1.6.1'),
|
87
87
|
rubygems_gem('omniauth-oauth2', '1.3.1'),
|
88
|
-
git_gem('omniauth-keltec', '0.0.1', 'https://github.com/ThunderKey/omniauth-keltec.git', 'd954a55459b48cb56be4dbbcaa1fd2afc113db5b'),
|
88
|
+
git_gem('omniauth-keltec', '0.0.1', 'https://github.com/ThunderKey/omniauth-keltec.git', 'd954a55459b48cb56be4dbbcaa1fd2afc113db5b', true),
|
89
89
|
]
|
90
90
|
end
|
91
91
|
|
@@ -104,15 +104,15 @@ RSpec.describe GemfileInterpreter do
|
|
104
104
|
|
105
105
|
private
|
106
106
|
|
107
|
-
def rubygems_gem name, version
|
108
|
-
gem name, version, {'type' => 'rubygems', 'remotes' => ['https://rubygems.org/']}
|
107
|
+
def rubygems_gem name, version, in_gemfile = false
|
108
|
+
gem name, version, {'type' => 'rubygems', 'remotes' => ['https://rubygems.org/']}, in_gemfile
|
109
109
|
end
|
110
110
|
|
111
|
-
def git_gem name, version, uri, revision
|
112
|
-
gem name, version, {'type' => 'git', 'revision' => revision, 'uri' => uri}
|
111
|
+
def git_gem name, version, uri, revision, in_gemfile = false
|
112
|
+
gem name, version, {'type' => 'git', 'revision' => revision, 'uri' => uri}, in_gemfile
|
113
113
|
end
|
114
114
|
|
115
|
-
def gem name, version, source
|
116
|
-
[name, {'version' => version, 'full_name' => "#{name}-#{version}", 'platform' => 'ruby', 'remote' => '', 'source' => source}]
|
115
|
+
def gem name, version, source, in_gemfile
|
116
|
+
[name, {'version' => version, 'full_name' => "#{name}-#{version}", 'platform' => 'ruby', 'remote' => '', 'source' => source, 'in_gemfile' => in_gemfile}]
|
117
117
|
end
|
118
118
|
end
|