puppet-community-mvp 0.0.3 → 0.0.4
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 +4 -4
- data/lib/mvp/itemizer.rb +15 -4
- data/lib/mvp/uploader.rb +2 -2
- metadata +18 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e45ff6e06d776fb8c3129789b4f469f25f86ea59
|
4
|
+
data.tar.gz: 640dd10a4620d77281ebb58ec4d097dc40b9bfbd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 00fffd365248a810b1542eb7e4e370398330d469834a2e5cecab70f0fe370149d8bc87ac7027c9260c6a2d0a8f24a06915e5946bf5d84c5dd6c07a8e4ac95ac3
|
7
|
+
data.tar.gz: ac1e153462e94226eb56621e687667f369aa0ca35f3d34dd6e3c9096e0d7dc56dcb1f4584f0b2072cda3f47a5c5f1b2b645f106d5f314ef45fdcc3d9f6af6a25
|
data/lib/mvp/itemizer.rb
CHANGED
@@ -58,7 +58,8 @@ class Mvp
|
|
58
58
|
# Build a table with this schema
|
59
59
|
# module | version | source | kind | element | count
|
60
60
|
def table(itemized, data)
|
61
|
-
modname = data['
|
61
|
+
modname = data['name']
|
62
|
+
slug = data['slug']
|
62
63
|
version = data['version']
|
63
64
|
dependencies = data['dependencies']
|
64
65
|
|
@@ -67,11 +68,21 @@ class Mvp
|
|
67
68
|
kind = kind.to_s
|
68
69
|
kind = kind.end_with?('ses') ? kind.chomp('es') : kind.chomp('s')
|
69
70
|
elements.map do |name, count|
|
70
|
-
|
71
|
-
|
71
|
+
if name == modname
|
72
|
+
depname = name
|
73
|
+
else
|
74
|
+
# This relies on a little guesswork.
|
75
|
+
segments = name.split('::') # First see if its already namespaced and we can just use it
|
76
|
+
segments = name.split('_') if segments.size == 1 # If not, then maybe it follows the pattern like 'mysql_password'
|
77
|
+
depname = segments.first
|
78
|
+
end
|
79
|
+
|
80
|
+
# There's a chance of collisions here. For example, if you depended on a module
|
81
|
+
# named 'foobar-notify' and you used a 'notify' resource, then the resource would
|
82
|
+
# be improperly linked to that module. That's a pretty small edge case though.
|
72
83
|
source = dependencies.find {|row| row.split('-').last == depname} rescue nil
|
73
84
|
|
74
|
-
{ :module =>
|
85
|
+
{ :module => slug, :version => version, :source => source, :kind => kind, :element => name, :count => count }
|
75
86
|
end
|
76
87
|
end.flatten(1)
|
77
88
|
end
|
data/lib/mvp/uploader.rb
CHANGED
@@ -16,7 +16,7 @@ class Mvp
|
|
16
16
|
raise "\nThere is a problem with the gCloud configuration: \n #{JSON.pretty_generate(options)}" if @dataset.nil?
|
17
17
|
|
18
18
|
@itemized = @dataset.table('forge_itemized') || @dataset.create_table('forge_itemized') do |table|
|
19
|
-
table.name = '
|
19
|
+
table.name = 'Itemized dependencies between modules'
|
20
20
|
table.description = 'A list of all types/classes/functions used by each module and where they come from'
|
21
21
|
table.schema do |s|
|
22
22
|
s.string "module", mode: :required
|
@@ -255,7 +255,7 @@ class Mvp
|
|
255
255
|
end
|
256
256
|
|
257
257
|
def version_itemized?(mod, version)
|
258
|
-
str = "SELECT version FROM forge_itemized WHERE
|
258
|
+
str = "SELECT DISTINCT version FROM forge_itemized WHERE module = '#{mod}'"
|
259
259
|
versions = @dataset.query(str).map {|row| row[:version] } rescue []
|
260
260
|
|
261
261
|
versions.include? version
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppet-community-mvp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Ford
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -109,7 +109,21 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name: google-cloud
|
112
|
+
name: google-cloud-bigquery
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: puppet-itemize
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
129
|
- - ">="
|
@@ -164,7 +178,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
164
178
|
version: '0'
|
165
179
|
requirements: []
|
166
180
|
rubyforge_project:
|
167
|
-
rubygems_version: 2.
|
181
|
+
rubygems_version: 2.5.2.3
|
168
182
|
signing_key:
|
169
183
|
specification_version: 4
|
170
184
|
summary: Generate some stats about the Puppet Community.
|