puppet-community-mvp 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
- SHA1:
3
- metadata.gz: 3f5ed8c2978cad58a0ce52346eb854b3b4e82a9a
4
- data.tar.gz: a5637f505ed5fe8c74a22f9633723b9211ad3c4a
2
+ SHA256:
3
+ metadata.gz: 645c5ea1f55ad14ff3a0aa0f7a41e436cb17570d647f44d00b3ae0b27aab606c
4
+ data.tar.gz: 6068f00d22ce28a045ed5361422e33f1027d4f5aaed138a7de8768f4f9deece0
5
5
  SHA512:
6
- metadata.gz: 3ad31ba42a0e2f96ae8254bf383e523c74890fa219cb1b27946cae7718aba76b2d3532149dc98dfc1d59b5e47c4d31c70156c96203659425b55607c6a0d948d1
7
- data.tar.gz: f8970bb1a709f807e3e5d2f45e2c74f7adbea034fc5d9293024e76f4dfb8b2e9eb59ecf636e38b12d69ce224867bbc96570f5e9ed1ddb5092783888e145ceec9
6
+ metadata.gz: 62570f5212319c8fc8fbb683230b00d5fe34c3ba8d5cda86eab7d0fd1379efe65d894c0803bc6e2db15cdebea29a07043dbb2fbbc1195fbbe6508b0ff430706e
7
+ data.tar.gz: a55c36b38b69025933e880c3ef2f9e8f0612f36e28396a328b60d4de617f11ff68cf7c76230195fa7e9c340cd780c00716d085cf38b2ef9d0f52c9481feebdb1
@@ -80,6 +80,7 @@ class Mvp
80
80
  s.timestamp "created_at", mode: :required
81
81
  s.timestamp "updated_at", mode: :required
82
82
  s.string "tasks", mode: :repeated
83
+ s.string "plans", mode: :repeated
83
84
  s.string "homepage_url"
84
85
  s.string "project_page"
85
86
  s.string "issues_url"
@@ -140,6 +141,7 @@ class Mvp
140
141
  s.timestamp "deleted_at"
141
142
  s.string "deleted_for"
142
143
  s.string "tasks", mode: :repeated
144
+ s.string "plans", mode: :repeated
143
145
  s.string "project_page"
144
146
  s.string "issues_url"
145
147
  s.string "source"
@@ -159,11 +161,9 @@ class Mvp
159
161
  s.boolean "puppet_99x"
160
162
  s.string "dependencies", mode: :repeated
161
163
  s.string "file_uri", mode: :required
162
- s.string "file_md5", mode: :required
164
+ s.string "file_md5"
165
+ s.string "file_sha256"
163
166
  s.integer "file_size", mode: :required
164
- s.string "changelog"
165
- s.string "reference"
166
- s.string "readme"
167
167
  s.string "license"
168
168
  s.string "metadata", mode: :required
169
169
  end
@@ -214,8 +214,9 @@ class Mvp
214
214
  response = table.insert(data)
215
215
 
216
216
  unless response.success?
217
+ $logger.error '========================================================================='
217
218
  response.insert_errors.each do |err|
218
- $logger.error JSON.pretty_generate(err.row)
219
+ $logger.debug JSON.pretty_generate(err.row.reject {|k,v| ['metadata'].include? k})
219
220
  $logger.error JSON.pretty_generate(err.errors)
220
221
  end
221
222
  end
@@ -104,6 +104,7 @@ class Mvp
104
104
  row['project_page'] = row['current_release']['metadata']['project_page']
105
105
  row['issues_url'] = row['current_release']['metadata']['issues_url']
106
106
  row['tasks'] = row['current_release']['tasks'].map{|task| task['name']} rescue []
107
+ row['plans'] = row['current_release']['plans'].map{|task| task['name']} rescue []
107
108
 
108
109
  row['release_count'] = row['releases'].count rescue 0
109
110
  row['releases'] = row['releases'].map{|r| r['version']} rescue []
@@ -123,9 +124,14 @@ class Mvp
123
124
  row['project_page'] = row['metadata']['project_page']
124
125
  row['issues_url'] = row['metadata']['issues_url']
125
126
  row['tasks'] = row['tasks'].map{|task| task['name']} rescue []
127
+ row['plans'] = row['plans'].map{|task| task['name']} rescue []
126
128
 
127
129
  simplify_metadata(row, row['metadata'])
128
- row.delete('module')
130
+
131
+ # These items are just too big to store in the table
132
+ ['module', 'changelog', 'readme', 'reference'].each do |column|
133
+ row.delete(column)
134
+ end
129
135
  end
130
136
  data
131
137
  end
@@ -109,7 +109,7 @@ class Mvp
109
109
  def stats(target)
110
110
  stats = Mvp::Stats.new(@options)
111
111
 
112
- [:authors, :modules, :releases, :relationships, :github, :validations].each do |thing|
112
+ [:authors, :modules, :releases, :relationships, :validations].each do |thing|
113
113
  next unless [:all, thing].include? target
114
114
  stats.send(thing)
115
115
  end
@@ -19,7 +19,8 @@ class Mvp
19
19
 
20
20
  def draw_graph(series, width, title = nil)
21
21
  series.compact!
22
- graph = []
22
+ width = [width, series.size].min
23
+ graph = []
23
24
  (bins, freqs) = series.histogram(:bin_width => width)
24
25
 
25
26
  bins.each_with_index do |item, index|
@@ -44,6 +45,20 @@ class Mvp
44
45
  days_ago(datestr)/365
45
46
  end
46
47
 
48
+ def current_releases
49
+ return @current_releases if @current_releases
50
+
51
+ data_m = load('modules').reject {|m| m['owner'] == 'puppetlabs' }
52
+ data_r = load('releases').reject {|m| m['owner'] == 'puppetlabs' }
53
+
54
+ @current_releases = data_m.map {|mod|
55
+ name = mod['slug']
56
+ curr = mod['releases'].first
57
+
58
+ data_r.find {|r| r['slug'] == "#{name}-#{curr}" }
59
+ }.compact
60
+ end
61
+
47
62
  def tally_author_info(releases, target, scope='module_count')
48
63
  # update the author records with the fields we need
49
64
  target.each do |author|
@@ -52,7 +67,7 @@ class Mvp
52
67
  end
53
68
 
54
69
  releases.each do |mod|
55
- username = mod['module']['owner']['username']
70
+ username = mod['owner']
56
71
  score = mod['validation_score']
57
72
  author = target.select{|m| m['username'] == username}.first
58
73
 
@@ -111,9 +126,10 @@ class Mvp
111
126
  end
112
127
 
113
128
  def modules()
114
- data_m = load('modules').reject {|m| m['owner']['username'] == 'puppetlabs' }
129
+ data_m = load('modules').reject {|m| m['owner'] == 'puppetlabs' }
115
130
  data_a = load('authors').reject {|u| u['username'] == 'puppetlabs' or u['module_count'] == 0}
116
- current = data_m.map {|m| m['current_release'] }
131
+
132
+ current = current_releases
117
133
 
118
134
  tally_author_info(current, data_a, 'module_count')
119
135
 
@@ -155,7 +171,7 @@ class Mvp
155
171
  end
156
172
 
157
173
  def releases()
158
- data_r = load('releases').reject {|m| m['module']['owner']['username'] == 'puppetlabs' }
174
+ data_r = load('releases').reject {|m| m['owner'] == 'puppetlabs' }
159
175
  data_a = load('authors').reject {|u| u['username'] == 'puppetlabs' or u['module_count'] == 0}
160
176
 
161
177
  tally_author_info(data_r, data_a, 'release_count')
@@ -236,12 +252,12 @@ class Mvp
236
252
  end
237
253
 
238
254
  def relationships()
239
- data_m = load('modules').reject {|m| m['owner']['username'] == 'puppetlabs' }
240
255
  data_a = load('authors').reject {|u| u['username'] == 'puppetlabs' or u['module_count'] == 0}
241
- current = data_m.map {|m| m['current_release'] }
256
+ current = current_releases.dup
242
257
 
243
258
  current.each do |mod|
244
- mod['metadata']['dependants'] = []
259
+ mod['metadata'] = JSON.parse(mod['metadata'])
260
+ mod['metadata']['dependants'] = []
245
261
  end
246
262
  current.each do |mod|
247
263
  mod['metadata']['dependencies'].each do |dependency|
@@ -257,7 +273,7 @@ class Mvp
257
273
  count = mod['metadata']['dependants'].count
258
274
  next unless count > 0
259
275
 
260
- author = data_a.select{|m| m['username'] == mod['module']['owner']['username']}.first
276
+ author = data_a.select{|m| m['username'] == mod['owner']}.first
261
277
  author['dependants'] << count
262
278
  end
263
279
  data_a.each { |a| a['average_dependants'] = average(a['dependants']) }
@@ -280,6 +296,7 @@ class Mvp
280
296
  author['module_count'],
281
297
  author['release_count'] ]
282
298
  end
299
+ puts
283
300
  end
284
301
 
285
302
  def github()
@@ -328,7 +345,7 @@ class Mvp
328
345
  end
329
346
 
330
347
  def validations()
331
- puts 'got nothing for you yet'
348
+ puts 'No validations yet'
332
349
  end
333
350
 
334
351
  def test()
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.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Ford
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-05 00:00:00.000000000 Z
11
+ date: 2020-02-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -178,8 +178,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
178
178
  - !ruby/object:Gem::Version
179
179
  version: '0'
180
180
  requirements: []
181
- rubyforge_project:
182
- rubygems_version: 2.5.2.3
181
+ rubygems_version: 3.0.6
183
182
  signing_key:
184
183
  specification_version: 4
185
184
  summary: Generate some stats about the Puppet Community.