meetup-generator 1.2.101 → 1.2.106
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/all_the_things.yaml +37 -9
- data/lib/meetup-generator.rb +7 -0
- data/spec/acceptance_spec.rb +2 -1
- data/spec/unit_spec.rb +14 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 97f683378c0619fa7024fb6657b729c40d13aab23419579f21ce1f0599e00d91
|
4
|
+
data.tar.gz: 5f6d6d71e99064d5099a3415bb2c3784c1731c25c508c05d3d2337848b80b782
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bdd2f093455a75ca73c1d8d19ac4178e2d46f2e329037e6019bed415685b1e18c9217cef5629919ebfbcd956bb08aef4a3c7f75bc337a144adccf102fb852842
|
7
|
+
data.tar.gz: 5d529908ac13aaae3a2dd1e46b1eb2b4f0d989fc2f8ddd7e2bd6a0ec3d4c2d117dab9e6c6f54d66198cda436a2f1edb3ed0b0f44b31719d828632e41cc67f546
|
data/lib/all_the_things.yaml
CHANGED
@@ -40,6 +40,7 @@
|
|
40
40
|
- Leverag
|
41
41
|
- Measur
|
42
42
|
- Megashard
|
43
|
+
- Mesh
|
43
44
|
- Microservic
|
44
45
|
- Monitor
|
45
46
|
- Obfuscat
|
@@ -72,6 +73,7 @@
|
|
72
73
|
- Webscal
|
73
74
|
|
74
75
|
:tech:
|
76
|
+
- AI
|
75
77
|
- Akka
|
76
78
|
- Ambassador Containers
|
77
79
|
- angular.js
|
@@ -106,13 +108,16 @@
|
|
106
108
|
- CircleCI
|
107
109
|
- Clojure
|
108
110
|
- Cloud Foundry
|
111
|
+
- Cloud9
|
109
112
|
- CloudFormation
|
110
113
|
- Cloudfront
|
111
114
|
- Cloudstack
|
115
|
+
- CloudSearch
|
112
116
|
- CloudTrail
|
113
117
|
- Clusterpoint
|
114
118
|
- CodeBuild
|
115
119
|
- CodeCommit
|
120
|
+
- CodeDeploy
|
116
121
|
- CodePipeline
|
117
122
|
- CodeStar
|
118
123
|
- Coffeescript
|
@@ -129,6 +134,7 @@
|
|
129
134
|
- Dapper
|
130
135
|
- Dart
|
131
136
|
- Dataloop
|
137
|
+
- Deep Learning
|
132
138
|
- Deis
|
133
139
|
- Device Farm
|
134
140
|
- Django
|
@@ -183,6 +189,7 @@
|
|
183
189
|
- Graphene
|
184
190
|
- Graphite
|
185
191
|
- Graylog2
|
192
|
+
- Greengrass
|
186
193
|
- Groovy
|
187
194
|
- GRPC
|
188
195
|
- Grunt
|
@@ -198,6 +205,7 @@
|
|
198
205
|
- Heroku
|
199
206
|
- Hubot
|
200
207
|
- hyperconvergence
|
208
|
+
- Hystrix
|
201
209
|
- IAM
|
202
210
|
- Immutable Infrastructure
|
203
211
|
- IndexedDB
|
@@ -205,6 +213,7 @@
|
|
205
213
|
- IntelliJ
|
206
214
|
- io.js
|
207
215
|
- IO
|
216
|
+
- Istio
|
208
217
|
- Jekyll
|
209
218
|
- Jenkins
|
210
219
|
- JRuby
|
@@ -225,6 +234,7 @@
|
|
225
234
|
- Lambda
|
226
235
|
- Lex
|
227
236
|
- Lightsail
|
237
|
+
- Linkerd
|
228
238
|
- Linux
|
229
239
|
- Lisp
|
230
240
|
- Logspout
|
@@ -238,6 +248,7 @@
|
|
238
248
|
- Marathon-Consul
|
239
249
|
- MEAN
|
240
250
|
- Memchached
|
251
|
+
- Mesh
|
241
252
|
- Mesos
|
242
253
|
- Mesos-Consul
|
243
254
|
- Mesosphere
|
@@ -249,8 +260,10 @@
|
|
249
260
|
- Mountebank
|
250
261
|
- Mutable Infrastructure
|
251
262
|
- Nancy
|
263
|
+
- nanoservices
|
252
264
|
- Nashorn
|
253
265
|
- Neo4J
|
266
|
+
- Neptune
|
254
267
|
- nginx
|
255
268
|
- node.js
|
256
269
|
- Nomad
|
@@ -302,17 +315,22 @@
|
|
302
315
|
- Sensu
|
303
316
|
- Serf
|
304
317
|
- Serverless
|
318
|
+
- Service Mesh
|
305
319
|
- SES
|
306
320
|
- Sidecar Containers
|
321
|
+
- sidecars
|
307
322
|
- Sidekiq
|
308
323
|
- SignalFX
|
309
324
|
- Sinatra
|
310
325
|
- SmartOS
|
326
|
+
- Snowball
|
311
327
|
- SNS
|
312
328
|
- Solr
|
313
329
|
- Spread
|
314
330
|
- SQS
|
315
331
|
- statsd
|
332
|
+
- 'Step Functions'
|
333
|
+
- Storage Gateway
|
316
334
|
- Sublime Text
|
317
335
|
- Supergiant
|
318
336
|
- Swarm
|
@@ -335,6 +353,7 @@
|
|
335
353
|
- Velocity
|
336
354
|
- Wavefront
|
337
355
|
- Weave
|
356
|
+
- X-Ray
|
338
357
|
- YAML
|
339
358
|
- YAML front-matter
|
340
359
|
- Yarn
|
@@ -570,12 +589,21 @@
|
|
570
589
|
- "Google SREs"
|
571
590
|
- Kubernetes
|
572
591
|
- Serverless
|
592
|
+
- Service Mesh Architecture
|
573
593
|
- SREs
|
574
594
|
- The Blockchain
|
575
595
|
- "The Next Version"
|
576
596
|
- Unikernels
|
577
597
|
|
598
|
+
:something_ops:
|
599
|
+
- Test
|
600
|
+
- 'No'
|
601
|
+
- Dev
|
602
|
+
- Sec
|
603
|
+
- Chat
|
604
|
+
|
578
605
|
:template:
|
606
|
+
- "Regurgited Half-Understood Blog Post"
|
579
607
|
- "Enabling No-Ops with Virtual %tech%"
|
580
608
|
- "%verb%ed %tech% == #Awesomesauce"
|
581
609
|
- "%verb%ing All of the Things with %tech%"
|
@@ -601,7 +629,7 @@
|
|
601
629
|
- "While You Learn, I Earn: Making Shit Up and Blogging it as Fact"
|
602
630
|
- "%quantifier% as Code: Ready for the Revolution?"
|
603
631
|
- "A Complicated Way to do Something Unnecessary Which Does Not Work"
|
604
|
-
- "
|
632
|
+
- "Culture: Don't Do it If it's Hard or Boring"
|
605
633
|
- "Something People Have Done Since 198RAND9, but with a New Name"
|
606
634
|
- "How We %verb%ed Our %service% with %tech% FTW!"
|
607
635
|
- "Still Using %tech%? Allow Me to Enlighten You"
|
@@ -612,21 +640,19 @@
|
|
612
640
|
- "EC2 at Scale: RAND40 instances and Counting!"
|
613
641
|
- "DevOps and Objet Trouve: If it's Good Enough to be on Github, it's Good Enough for Production"
|
614
642
|
- "%driver% Driven Development 101"
|
615
|
-
- "I'm All About That Rate:
|
643
|
+
- "I'm All About That Rate: Making Mo Chedda by Building Things No One Needs"
|
616
644
|
- "Ticking the Boxes: You Can't Automate All of the Things if You Aren't Using All of the Things"
|
617
645
|
- "How We Moved from Puppet to Chef to Ansible to Salt to CFEngine then Back to Ansible then Chef Again then Briefly Itamae then Packered AMIs then Masterless Puppet then Chef then a Different Chef Setup then Puppet"
|
618
646
|
- "%verb%ing %tech% Makes for Awesome %driver%-driven Infrastructure"
|
619
647
|
- "How a %tech%/%tech% Mash-Up Shaved RAND50 Seconds off Our Deployment Times"
|
620
648
|
- "Containers: or How I Swapped a Simple Packaging Problem for a Complex Orchestration Problem"
|
621
|
-
- "Look at me Mummy, aren't I Clever?"
|
622
649
|
- "%tech% Necromancy for Full-Stack Nirvana"
|
623
650
|
- "Wow Very %tech%. So %tech%. Such %verb%ed"
|
624
|
-
- "
|
651
|
+
- "Stickers!"
|
625
652
|
- "How We Made a Really Bad Version of Something Which Already Existed"
|
626
653
|
- "We Started a Shitty Company"
|
627
654
|
- "We Have a DevOps Consultancy and We Don't Know What We're Doing"
|
628
655
|
- "Dockerizing Dockerized Docker with Docker for Docker Users"
|
629
|
-
- "DevOps Tough Guy Bitches about %tech% and Expects You to Admire Him"
|
630
656
|
- "How we Spent RAND8 Months Building Our Own Version of a Service We Could Buy for $6/month"
|
631
657
|
- "How we Spent RAND3 Years Building Our Own Version of a Service We Could Buy for $6/month"
|
632
658
|
- "Thinly Disguised Sales Pitch"
|
@@ -636,13 +662,11 @@
|
|
636
662
|
- "We Put %tech% in our %tech%: You Won't Believe What Happened Next"
|
637
663
|
- "RAND10 Things Only a DevOps Understands"
|
638
664
|
- "RAND10 %tech% Secrets %company% Don't Want You to Know"
|
639
|
-
- "Up Your Rate: You're an SRE Now!"
|
640
665
|
- "When You Have More Github Repos than Users"
|
641
666
|
- "Large-Scale %tech% Anti-Patterns Will %extreme% Your %service%"
|
642
667
|
- "Bro, Do You Even %tech%?"
|
643
668
|
- "Beautiful %tech% for Beautiful %service%"
|
644
669
|
- "Real Heroes Use %tech%"
|
645
|
-
- "To Hear Us Talk, You Could almost Think this Stuff is Important"
|
646
670
|
- "Our %adjective% Micro-Framework"
|
647
671
|
- "A %tech% %adjective% %adjective% %adjective% Micro-Framework"
|
648
672
|
- "%adjective% %tech% %adjective% Time-series Micro-Services for Dummies"
|
@@ -657,11 +681,15 @@
|
|
657
681
|
- "%panacea% Will Fix Everything"
|
658
682
|
- "I Have RAND18 Months' Experience But I Know Everything"
|
659
683
|
- "We Were the First People to Ever Encounter any of these Problems"
|
660
|
-
- "I
|
684
|
+
- "I Work for Google, So I Know Everything"
|
685
|
+
- "I Used to Work for Google, So I Know Everything"
|
661
686
|
- "Rewriting Most of Kubernetes 101"
|
662
687
|
- "Like, Diversity and Stuff?"
|
663
|
-
- "
|
688
|
+
- "Everyone Else Does Everything Wrong"
|
664
689
|
- "Validating Laziness by Declaring it 'Best Practice'"
|
690
|
+
- "We Rewrote Everything in Go for No Real Reason"
|
691
|
+
- "Our FNOPS Journey"
|
692
|
+
- "From FNOPS to FNOPS"
|
665
693
|
|
666
694
|
#-------------------------------------------------------------------------
|
667
695
|
# This block relates to the names and roles of the people doing the
|
data/lib/meetup-generator.rb
CHANGED
@@ -29,6 +29,7 @@ class MeetupGenerator
|
|
29
29
|
@unused_templates ||= lib[:template].dup
|
30
30
|
t = unused_templates.sample
|
31
31
|
unused_templates.delete(t)
|
32
|
+
t.scan(/FNOPS/).each { |k| t = t.sub(k, something_ops) }
|
32
33
|
t.scan(/%\w+%/).each { |k| t = t.sub(k, lib[k[1..-2].to_sym].sample) }
|
33
34
|
t.scan(/RAND\d+/).each do |i|
|
34
35
|
t = t.sub(i, rand(2..(i.sub(/RAND/, '').to_i)).to_s)
|
@@ -36,6 +37,12 @@ class MeetupGenerator
|
|
36
37
|
t
|
37
38
|
end
|
38
39
|
|
40
|
+
def something_ops
|
41
|
+
ret = ''
|
42
|
+
rand(2..4).times { ret.<< lib[:something_ops].sample }
|
43
|
+
ret + 'Ops'
|
44
|
+
end
|
45
|
+
|
39
46
|
def talks(count = 5)
|
40
47
|
@unused_templates = lib[:template].dup
|
41
48
|
count.times.with_object([]) { |_i, a| a.<< title }
|
data/spec/acceptance_spec.rb
CHANGED
@@ -41,7 +41,8 @@ class TestApp < MiniTest::Test
|
|
41
41
|
#
|
42
42
|
templates = things[:template].map do |t|
|
43
43
|
escaped = Regexp.escape(CGI.escapeHTML(t))
|
44
|
-
matcher = escaped.gsub(/%\w+%/, '\w+').gsub(/RAND\d+/, '\d+')
|
44
|
+
matcher = escaped.gsub(/%\w+%/, '[\w\-]+').gsub(/RAND\d+/, '\d+').
|
45
|
+
gsub(/FNOPS/, '\w+')
|
45
46
|
Regexp.new('^.*ttitle">' + matcher + '</span>.*$')
|
46
47
|
end
|
47
48
|
|
data/spec/unit_spec.rb
CHANGED
@@ -3,14 +3,15 @@
|
|
3
3
|
require 'minitest/autorun'
|
4
4
|
require_relative '../lib/meetup-generator'
|
5
5
|
|
6
|
-
THINGS = { food_style:
|
7
|
-
food:
|
8
|
-
first_name:
|
9
|
-
last_name:
|
10
|
-
job_role:
|
11
|
-
job_title:
|
12
|
-
tech:
|
13
|
-
|
6
|
+
THINGS = { food_style: %w[artisan],
|
7
|
+
food: %w[flatbread],
|
8
|
+
first_name: %w[John],
|
9
|
+
last_name: %w[Smith],
|
10
|
+
job_role: %w[Neckbeard],
|
11
|
+
job_title: ['Without Portfolio'],
|
12
|
+
tech: %w[Ruby],
|
13
|
+
something_ops: %w[Dev Test No],
|
14
|
+
template: ['RAND20 %tech% things'] }.freeze
|
14
15
|
|
15
16
|
class Giblets < MeetupGenerator
|
16
17
|
def initialize; end
|
@@ -44,6 +45,11 @@ class GibletsTest < MiniTest::Test
|
|
44
45
|
assert_equal('things', toks[2])
|
45
46
|
end
|
46
47
|
|
48
|
+
def test_something_ops
|
49
|
+
assert m.something_ops.is_a?(String)
|
50
|
+
assert m.something_ops.end_with?('Ops')
|
51
|
+
end
|
52
|
+
|
47
53
|
def test_talker
|
48
54
|
assert_equal(m.talker, 'John Smith')
|
49
55
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: meetup-generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.106
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Fisher
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-09-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sinatra
|