bibliothecary 0.4.0 → 0.4.1

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: e2de900a7b2537246834228f5cebbae0aaadc98b
4
- data.tar.gz: 7149d4a8e47ba273f06f480ab9b88154f1f88405
3
+ metadata.gz: 27c5f2c6e7c8a86659db4ec13a4b7068f864a01e
4
+ data.tar.gz: 71bc2a31d0137d9e41e5b645489c5317cc152316
5
5
  SHA512:
6
- metadata.gz: f7c20722b36918a752199520b563fde442fed3c56fbd8dfa77c23e67dd7ea15902d72c3adaa70c694a7a740a438a707a0dde481ddd6fe4e7f44b7458e343599b
7
- data.tar.gz: 6eb481f28a6e5df3a0ce70c80039de825a104116b48bb524ab0574a6c1632f0b18b98b4c314a1151d6f93f625436a8bc26c08b51026427bfcf670e9a0ff056f8
6
+ metadata.gz: d11ce1f103ed476d0feb33379872e079c3139748e4f13e236b8e4e2b4e11aa7fa02f9948a7f628a07514dd19264ec6358e2d18ca47df7f154f03a23ecca5633e
7
+ data.tar.gz: 86ef971a46ba1c859f5272c1ccd90fae9e149dffed024b48c439ee82a0cfa9fa8b4e8b45efb962552afbfe0f3f2c21d873e80011c7735ae6fcdb572d16eefa88
@@ -20,6 +20,9 @@ module Bibliothecary
20
20
  elsif filename.match(/^Podfile\.lock$/)
21
21
  manifest = YAML.load file_contents
22
22
  parse_podfile_lock(manifest)
23
+ elsif filename.match(/^[A-Za-z0-9_-]+\.podspec.json$/)
24
+ json = JSON.parse(file_contents)
25
+ parse_json_manifest(json)
23
26
  else
24
27
  []
25
28
  end
@@ -29,7 +32,8 @@ module Bibliothecary
29
32
  [
30
33
  analyse_podfile(folder_path, file_list),
31
34
  analyse_podspec(folder_path, file_list),
32
- analyse_podfile_lock(folder_path, file_list)
35
+ analyse_podfile_lock(folder_path, file_list),
36
+ analyse_podspec_json(folder_path, file_list)
33
37
  ]
34
38
  end
35
39
 
@@ -59,6 +63,19 @@ module Bibliothecary
59
63
  }
60
64
  end
61
65
 
66
+ def self.analyse_podspec_json(folder_path, file_list)
67
+ path = file_list.find{|path| path.gsub(folder_path, '').gsub(/^\//, '').match(/^[A-Za-z0-9_-]+\.podspec.json$/) }
68
+ return unless path
69
+
70
+ manifest = JSON.parse File.open(path).read
71
+
72
+ {
73
+ platform: PLATFORM_NAME,
74
+ path: path,
75
+ dependencies: parse_json_manifest(manifest)
76
+ }
77
+ end
78
+
62
79
  def self.analyse_podfile_lock(folder_path, file_list)
63
80
  path = file_list.find{|path| path.gsub(folder_path, '').gsub(/^\//, '').match(/^Podfile\.lock$/) }
64
81
  return unless path
@@ -93,6 +110,16 @@ module Bibliothecary
93
110
  })
94
111
  end.uniq
95
112
  end
113
+
114
+ def self.parse_json_manifest(manifest)
115
+ manifest['dependencies'].inject([]) do |deps, dep|
116
+ deps.push({
117
+ name: dep[0],
118
+ requirement: dep[1],
119
+ type: 'runtime'
120
+ })
121
+ end.uniq
122
+ end
96
123
  end
97
124
  end
98
125
  end
@@ -0,0 +1 @@
1
+ # DESCRIPTION
@@ -1,3 +1,3 @@
1
1
  module Bibliothecary
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bibliothecary
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Nesbitt
@@ -120,6 +120,7 @@ files:
120
120
  - lib/bibliothecary/parsers/clojars.rb
121
121
  - lib/bibliothecary/parsers/cocoapods.rb
122
122
  - lib/bibliothecary/parsers/cpan.rb
123
+ - lib/bibliothecary/parsers/cran.rb
123
124
  - lib/bibliothecary/parsers/dub.rb
124
125
  - lib/bibliothecary/parsers/elm.rb
125
126
  - lib/bibliothecary/parsers/go.rb