wcc-text-analysis 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 53076bbd0f7310bd02cab7548cd71edb8417ad7bd320c4828c0f80dc72cdc0ad
4
+ data.tar.gz: e161b846a746e14d0912898d8028f5c954f2be6eeda844a16e202744962bfeb1
5
+ SHA512:
6
+ metadata.gz: 1f07d19805a3723020d8d978c53c5c921958122d76f51a09e39b7501dca28df2239b49eacef6f2be154eacffd9bcc588ffdd7fd2c72dbd16b328e1305f556b4f
7
+ data.tar.gz: f685000411857bcb532f3e0bf46acfa1201ceb4bc53e470d3e011554489e676437e3048dcf798245f943bf471ec3d23b9dd057de544ba1728232194f3a5be24d
data/.gitignore ADDED
@@ -0,0 +1 @@
1
+ Gemfile.lock
data/.rubocop.yml ADDED
@@ -0,0 +1,15 @@
1
+ inherit_from: ../.rubocop.yml
2
+
3
+ Metrics/BlockLength:
4
+ Exclude:
5
+ - 'spec/**/*'
6
+
7
+ Style/ClassAndModuleChildren:
8
+ Enabled: false
9
+
10
+ Style/MultilineBlockChain:
11
+ Exclude:
12
+ - 'spec/**/*'
13
+
14
+ Rails/TimeZone:
15
+ Enabled: false
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ # Specify your gem's dependencies in wcc-text-analysis.gemspec
6
+ gemspec
data/Guardfile ADDED
@@ -0,0 +1,32 @@
1
+ directories %w[lib spec]
2
+
3
+ group :red_green_refactor, halt_on_fail: true do
4
+ guard :rspec, cmd: 'bundle exec rspec --order rand', all_on_start: false do
5
+ require 'guard/rspec/dsl'
6
+ dsl = Guard::RSpec::Dsl.new(self)
7
+
8
+ # RSpec files
9
+ rspec = dsl.rspec
10
+ watch(rspec.spec_helper) { rspec.spec_dir }
11
+ watch(rspec.spec_support) { rspec.spec_dir }
12
+ watch(rspec.spec_files)
13
+
14
+ # Ruby files
15
+ ruby = dsl.ruby
16
+ dsl.watch_spec_files_for(ruby.lib_files)
17
+ end
18
+
19
+ guard :rubocop, cli: ['--display-cop-names'] do
20
+ watch(%r{.+\.rb$})
21
+ watch(%r{(?:.+/)?\.rubocop(?:_todo)?\.yml$}) { |m| File.dirname(m[0]) }
22
+ end
23
+ end
24
+
25
+ group :autofix do
26
+ guard :rubocop, all_on_start: false, cli: ['--auto-correct', '--display-cop-names'] do
27
+ watch(%r{.+\.rb$})
28
+ watch(%r{(?:.+/)?\.rubocop(?:_todo)?\.yml$}) { |m| File.dirname(m[0]) }
29
+ end
30
+ end
31
+
32
+ scope group: :red_green_refactor
data/README.md ADDED
File without changes
data/Rakefile ADDED
@@ -0,0 +1,3 @@
1
+ require "bundler/gem_helper"
2
+
3
+ Bundler::GemHelper.install_tasks
data/db/stop_words.txt ADDED
@@ -0,0 +1,721 @@
1
+ a
2
+ able
3
+ about
4
+ above
5
+ according
6
+ accordingly
7
+ across
8
+ actually
9
+ after
10
+ afterwards
11
+ again
12
+ against
13
+ ain't
14
+ aint
15
+ ain´t
16
+ ain’t
17
+ all
18
+ allow
19
+ allows
20
+ almost
21
+ alone
22
+ along
23
+ already
24
+ also
25
+ although
26
+ always
27
+ am
28
+ among
29
+ amongst
30
+ an
31
+ and
32
+ another
33
+ any
34
+ anybody
35
+ anyhow
36
+ anyone
37
+ anything
38
+ anyway
39
+ anyways
40
+ anywhere
41
+ apart
42
+ appear
43
+ appreciate
44
+ appropriate
45
+ are
46
+ aren't
47
+ arent
48
+ aren´t
49
+ aren’t
50
+ around
51
+ as
52
+ aside
53
+ ask
54
+ asking
55
+ associated
56
+ at
57
+ available
58
+ away
59
+ awfully
60
+ b
61
+ be
62
+ became
63
+ because
64
+ become
65
+ becomes
66
+ becoming
67
+ been
68
+ before
69
+ beforehand
70
+ behind
71
+ being
72
+ believe
73
+ below
74
+ beside
75
+ besides
76
+ best
77
+ better
78
+ between
79
+ beyond
80
+ both
81
+ brief
82
+ but
83
+ by
84
+ c
85
+ came
86
+ can
87
+ can't
88
+ cannot
89
+ cant
90
+ can´t
91
+ can’t
92
+ cause
93
+ causes
94
+ certain
95
+ certainly
96
+ changes
97
+ clearly
98
+ co
99
+ com
100
+ come
101
+ comes
102
+ concerning
103
+ consequently
104
+ consider
105
+ considering
106
+ contain
107
+ containing
108
+ contains
109
+ corresponding
110
+ could
111
+ couldn't
112
+ couldnt
113
+ couldn´t
114
+ couldn’t
115
+ course
116
+ currently
117
+ d
118
+ definitely
119
+ described
120
+ despite
121
+ did
122
+ didn't
123
+ didnt
124
+ didn´t
125
+ didn’t
126
+ different
127
+ do
128
+ does
129
+ doesn't
130
+ doesnt
131
+ doesn´t
132
+ doesn’t
133
+ doing
134
+ don't
135
+ done
136
+ dont
137
+ don´t
138
+ don’t
139
+ down
140
+ downwards
141
+ during
142
+ e
143
+ each
144
+ edu
145
+ eg
146
+ eight
147
+ either
148
+ else
149
+ elsewhere
150
+ enough
151
+ entirely
152
+ especially
153
+ et
154
+ etc
155
+ even
156
+ ever
157
+ every
158
+ everybody
159
+ everyone
160
+ everything
161
+ everywhere
162
+ ex
163
+ exactly
164
+ example
165
+ except
166
+ f
167
+ far
168
+ few
169
+ fifth
170
+ first
171
+ five
172
+ followed
173
+ following
174
+ follows
175
+ for
176
+ former
177
+ formerly
178
+ forth
179
+ four
180
+ from
181
+ further
182
+ furthermore
183
+ g
184
+ get
185
+ gets
186
+ getting
187
+ given
188
+ gives
189
+ go
190
+ goes
191
+ going
192
+ gone
193
+ got
194
+ gotten
195
+ greetings
196
+ h
197
+ had
198
+ hadn't
199
+ hadnt
200
+ hadn´t
201
+ hadn’t
202
+ happens
203
+ hardly
204
+ has
205
+ hasn't
206
+ hasnt
207
+ hasn´t
208
+ hasn’t
209
+ have
210
+ haven't
211
+ havent
212
+ haven´t
213
+ haven’t
214
+ having
215
+ he
216
+ he'd
217
+ he'll
218
+ he's
219
+ hed
220
+ hell
221
+ hello
222
+ help
223
+ hence
224
+ her
225
+ here
226
+ here's
227
+ hereafter
228
+ hereby
229
+ herein
230
+ heres
231
+ hereupon
232
+ here´s
233
+ here’s
234
+ hers
235
+ herself
236
+ hes
237
+ he´d
238
+ he´ll
239
+ he´s
240
+ he’d
241
+ he’ll
242
+ he’s
243
+ hi
244
+ him
245
+ himself
246
+ his
247
+ hither
248
+ hopefully
249
+ how
250
+ how's
251
+ howbeit
252
+ however
253
+ hows
254
+ how´s
255
+ how’s
256
+ i
257
+ i'd
258
+ i'll
259
+ i'm
260
+ i've
261
+ id
262
+ ie
263
+ if
264
+ ignored
265
+ ill
266
+ im
267
+ immediate
268
+ in
269
+ inasmuch
270
+ inc
271
+ indeed
272
+ indicate
273
+ indicated
274
+ indicates
275
+ inner
276
+ insofar
277
+ instead
278
+ into
279
+ inward
280
+ is
281
+ isn't
282
+ isnt
283
+ isn´t
284
+ isn’t
285
+ it
286
+ it's
287
+ its
288
+ itself
289
+ it´s
290
+ it’s
291
+ ive
292
+ i´d
293
+ i´ll
294
+ i´m
295
+ i´ve
296
+ i’d
297
+ i’ll
298
+ i’m
299
+ i’ve
300
+ j
301
+ just
302
+ k
303
+ keep
304
+ keeps
305
+ kept
306
+ know
307
+ known
308
+ knows
309
+ l
310
+ last
311
+ lately
312
+ later
313
+ latter
314
+ latterly
315
+ least
316
+ less
317
+ lest
318
+ let
319
+ let's
320
+ lets
321
+ let´s
322
+ let’s
323
+ like
324
+ liked
325
+ likely
326
+ little
327
+ look
328
+ looking
329
+ looks
330
+ ltd
331
+ m
332
+ mainly
333
+ many
334
+ may
335
+ maybe
336
+ me
337
+ mean
338
+ meanwhile
339
+ merely
340
+ might
341
+ more
342
+ moreover
343
+ most
344
+ mostly
345
+ much
346
+ must
347
+ mustn't
348
+ mustnt
349
+ mustn´t
350
+ mustn’t
351
+ my
352
+ myself
353
+ n
354
+ name
355
+ namely
356
+ nd
357
+ near
358
+ nearly
359
+ necessary
360
+ need
361
+ needs
362
+ neither
363
+ never
364
+ nevertheless
365
+ new
366
+ next
367
+ nine
368
+ no
369
+ nobody
370
+ non
371
+ none
372
+ noone
373
+ nor
374
+ normally
375
+ not
376
+ nothing
377
+ novel
378
+ now
379
+ nowhere
380
+ o
381
+ obviously
382
+ of
383
+ off
384
+ often
385
+ oh
386
+ ok
387
+ okay
388
+ old
389
+ on
390
+ once
391
+ one
392
+ ones
393
+ only
394
+ onto
395
+ or
396
+ other
397
+ others
398
+ otherwise
399
+ ought
400
+ our
401
+ ours
402
+ ourselves
403
+ out
404
+ outside
405
+ over
406
+ overall
407
+ own
408
+ p
409
+ particular
410
+ particularly
411
+ per
412
+ perhaps
413
+ placed
414
+ please
415
+ plus
416
+ possible
417
+ presumably
418
+ probably
419
+ provides
420
+ q
421
+ que
422
+ quite
423
+ qv
424
+ r
425
+ rather
426
+ rd
427
+ re
428
+ really
429
+ reasonably
430
+ regarding
431
+ regardless
432
+ regards
433
+ relatively
434
+ respectively
435
+ right
436
+ s
437
+ said
438
+ same
439
+ saw
440
+ say
441
+ saying
442
+ says
443
+ second
444
+ secondly
445
+ see
446
+ seeing
447
+ seem
448
+ seemed
449
+ seeming
450
+ seems
451
+ seen
452
+ self
453
+ selves
454
+ sensible
455
+ sent
456
+ serious
457
+ seriously
458
+ seven
459
+ several
460
+ shall
461
+ shan't
462
+ shant
463
+ shan´t
464
+ shan’t
465
+ she
466
+ she'd
467
+ she'll
468
+ she's
469
+ shed
470
+ shell
471
+ shes
472
+ she´d
473
+ she´ll
474
+ she´s
475
+ she’d
476
+ she’ll
477
+ she’s
478
+ should
479
+ shouldn't
480
+ shouldnt
481
+ shouldn´t
482
+ shouldn’t
483
+ since
484
+ six
485
+ so
486
+ some
487
+ somebody
488
+ somehow
489
+ someone
490
+ something
491
+ sometime
492
+ sometimes
493
+ somewhat
494
+ somewhere
495
+ soon
496
+ sorry
497
+ specified
498
+ specify
499
+ specifying
500
+ still
501
+ sub
502
+ such
503
+ sup
504
+ sure
505
+ t
506
+ take
507
+ taken
508
+ tell
509
+ tends
510
+ th
511
+ than
512
+ thank
513
+ thanks
514
+ thanx
515
+ that
516
+ that's
517
+ thats
518
+ that´s
519
+ that’s
520
+ the
521
+ their
522
+ theirs
523
+ them
524
+ themselves
525
+ then
526
+ thence
527
+ there
528
+ there's
529
+ thereafter
530
+ thereby
531
+ therefore
532
+ therein
533
+ theres
534
+ thereupon
535
+ there´s
536
+ there’s
537
+ these
538
+ they
539
+ they'd
540
+ they'll
541
+ they're
542
+ they've
543
+ theyd
544
+ theyll
545
+ theyre
546
+ theyve
547
+ they´d
548
+ they´ll
549
+ they´re
550
+ they´ve
551
+ they’d
552
+ they’ll
553
+ they’re
554
+ they’ve
555
+ think
556
+ third
557
+ this
558
+ thorough
559
+ thoroughly
560
+ those
561
+ though
562
+ three
563
+ through
564
+ throughout
565
+ thru
566
+ thus
567
+ to
568
+ together
569
+ too
570
+ took
571
+ toward
572
+ towards
573
+ tried
574
+ tries
575
+ truly
576
+ try
577
+ trying
578
+ twice
579
+ two
580
+ u
581
+ un
582
+ under
583
+ unfortunately
584
+ unless
585
+ unlikely
586
+ until
587
+ unto
588
+ up
589
+ upon
590
+ us
591
+ use
592
+ used
593
+ useful
594
+ uses
595
+ using
596
+ usually
597
+ uucp
598
+ v
599
+ value
600
+ various
601
+ very
602
+ via
603
+ viz
604
+ vs
605
+ w
606
+ want
607
+ wants
608
+ was
609
+ wasn't
610
+ wasnt
611
+ wasn´t
612
+ wasn’t
613
+ way
614
+ we
615
+ we'd
616
+ we'll
617
+ we're
618
+ we've
619
+ wed
620
+ welcome
621
+ well
622
+ went
623
+ were
624
+ weren't
625
+ werent
626
+ weren´t
627
+ weren’t
628
+ weve
629
+ we´d
630
+ we´ll
631
+ we´re
632
+ we´ve
633
+ we’d
634
+ we’ll
635
+ we’re
636
+ we’ve
637
+ what
638
+ what's
639
+ whatever
640
+ whats
641
+ what´s
642
+ what’s
643
+ when
644
+ when's
645
+ whence
646
+ whenever
647
+ whens
648
+ when´s
649
+ when’s
650
+ where
651
+ where's
652
+ whereafter
653
+ whereas
654
+ whereby
655
+ wherein
656
+ wheres
657
+ whereupon
658
+ wherever
659
+ where´s
660
+ where’s
661
+ whether
662
+ which
663
+ while
664
+ whither
665
+ who
666
+ who's
667
+ whoever
668
+ whole
669
+ whom
670
+ whos
671
+ whose
672
+ who´s
673
+ who’s
674
+ why
675
+ why's
676
+ whys
677
+ why´s
678
+ why’s
679
+ will
680
+ willing
681
+ wish
682
+ with
683
+ within
684
+ without
685
+ won't
686
+ wonder
687
+ wont
688
+ won´t
689
+ won’t
690
+ would
691
+ wouldn't
692
+ wouldnt
693
+ wouldn´t
694
+ wouldn’t
695
+ x
696
+ y
697
+ yes
698
+ yet
699
+ you
700
+ you'd
701
+ you'll
702
+ you're
703
+ you've
704
+ youd
705
+ youll
706
+ your
707
+ youre
708
+ yours
709
+ yourself
710
+ yourselves
711
+ youve
712
+ you´d
713
+ you´ll
714
+ you´re
715
+ you´ve
716
+ you’d
717
+ you’ll
718
+ you’re
719
+ you’ve
720
+ z
721
+ zero
@@ -0,0 +1 @@
1
+ thing
@@ -0,0 +1,71 @@
1
+ require 'phrasie'
2
+ require 'redcarpet'
3
+ require 'redcarpet/render_strip'
4
+
5
+ module WCC
6
+ class TextAnalysis
7
+ TEXT_BLACKLIST = /[…]/
8
+
9
+ attr_reader :normalized, :stripped
10
+
11
+ def self.extract_terms(file)
12
+ File.read("db/#{file}.txt").split("\n")
13
+ end
14
+
15
+ def initialize(string, stop_words: STOPWORDS)
16
+ @original = string
17
+ @stop_words = stop_words
18
+ end
19
+
20
+ def terms_by_frequency(phrase_length: 1, min_occurrences: 3)
21
+ @normalized ||= normalize(@original)
22
+ terms = ::Phrasie::Extractor.new
23
+ .phrases(@normalized, occur: min_occurrences)
24
+ .select { |t| t.last == phrase_length }
25
+ .map(&:first)
26
+ remove_ignored_tokens terms
27
+ end
28
+
29
+ def evaluate_length
30
+ @normalized ||= normalize(@original).downcase
31
+ @stripped ||= remove_ignored_tokens(tokenize(@normalized))
32
+
33
+ <<-OUTPUT.strip_heredoc
34
+ Original
35
+ \tLength: #{@original.length}
36
+ \tWordcount: #{tokenize(@original).length}
37
+
38
+ Normalized (removed markdown chars & whitespace)
39
+ \tLength: #{@normalized.length}
40
+ \tWordcount: #{tokenize(@normalized).length}
41
+
42
+ Processed (removed above & stopwords)
43
+ \tLength: #{@stripped.join(' ').length}
44
+ \tWordcount: #{@stripped.length}
45
+ \t Unique: #{@stripped.uniq.length}
46
+ \t Unique Length: #{@stripped.uniq.join(' ').length}
47
+ OUTPUT
48
+ end
49
+
50
+ private
51
+
52
+ def normalize(string)
53
+ ::Redcarpet::Markdown.new(::Redcarpet::Render::StripDown)
54
+ .render(CGI.unescapeHTML(string))
55
+ .gsub(TEXT_BLACKLIST, ' ')
56
+ .gsub(/\s+/, ' ')
57
+ end
58
+
59
+ def tokenize(string)
60
+ string.split(/\s+/)
61
+ end
62
+
63
+ def remove_ignored_tokens(string)
64
+ string - (@stop_words + EXCLUSIONS)
65
+ end
66
+
67
+ # Stopwords from http://www.ranks.nl/stopwords
68
+ STOPWORDS = extract_terms("stop_words").freeze
69
+ EXCLUSIONS = extract_terms("transcript_exclusions").freeze
70
+ end
71
+ end
@@ -0,0 +1,5 @@
1
+ module WCC
2
+ class TextAnalysis
3
+ VERSION = '0.0.1'.freeze
4
+ end
5
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'wcc/text_analysis/version'
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = 'wcc-text-analysis'
9
+ spec.version = WCC::TextAnalysis::VERSION
10
+ spec.authors = ['Watermark Dev']
11
+ spec.email = ['dev@watermark.org']
12
+
13
+ spec.summary = File.readlines(File.expand_path('README.md', __dir__)).join
14
+ spec.description = 'Simple Library for NLP over bodies of text'
15
+ spec.homepage = 'https://github.com/watermarkchurch/media/wcc-text-analysis'
16
+ spec.license = 'MIT'
17
+
18
+ spec.required_ruby_version = '>= 2.3'
19
+
20
+ spec.files =
21
+ `git ls-files -z`.split("\x0").reject do |f|
22
+ f.match(%r{^(test|spec|features)/})
23
+ end
24
+
25
+ spec.require_paths = ['lib']
26
+
27
+ spec.add_runtime_dependency 'phrasie', '0.1.5'
28
+ spec.add_runtime_dependency 'redcarpet', '~> 3.4'
29
+ spec.add_runtime_dependency 'wcc-base', '~> 0.3.1'
30
+
31
+ spec.add_development_dependency 'guard', '~> 2.15'
32
+ spec.add_development_dependency 'guard-rspec', '~> 4.7'
33
+ spec.add_development_dependency 'guard-rubocop', '~> 1.3'
34
+ spec.add_development_dependency 'rspec', '~> 3.0'
35
+ spec.add_development_dependency 'rspec_junit_formatter', '~> 0.3.0'
36
+ spec.add_development_dependency 'rubocop', '~> 0.68.0'
37
+ spec.add_development_dependency 'rubocop-performance'
38
+ end
metadata ADDED
@@ -0,0 +1,194 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: wcc-text-analysis
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Watermark Dev
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-03-12 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: phrasie
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 0.1.5
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 0.1.5
27
+ - !ruby/object:Gem::Dependency
28
+ name: redcarpet
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.4'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.4'
41
+ - !ruby/object:Gem::Dependency
42
+ name: wcc-base
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.3.1
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.3.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: guard
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.15'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.15'
69
+ - !ruby/object:Gem::Dependency
70
+ name: guard-rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '4.7'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '4.7'
83
+ - !ruby/object:Gem::Dependency
84
+ name: guard-rubocop
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.3'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.3'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rspec
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '3.0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '3.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rspec_junit_formatter
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 0.3.0
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 0.3.0
125
+ - !ruby/object:Gem::Dependency
126
+ name: rubocop
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 0.68.0
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 0.68.0
139
+ - !ruby/object:Gem::Dependency
140
+ name: rubocop-performance
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ description: Simple Library for NLP over bodies of text
154
+ email:
155
+ - dev@watermark.org
156
+ executables: []
157
+ extensions: []
158
+ extra_rdoc_files: []
159
+ files:
160
+ - ".gitignore"
161
+ - ".rubocop.yml"
162
+ - Gemfile
163
+ - Guardfile
164
+ - README.md
165
+ - Rakefile
166
+ - db/stop_words.txt
167
+ - db/transcript_exclusions.txt
168
+ - lib/wcc/text_analysis.rb
169
+ - lib/wcc/text_analysis/version.rb
170
+ - wcc-text-analysis.gemspec
171
+ homepage: https://github.com/watermarkchurch/media/wcc-text-analysis
172
+ licenses:
173
+ - MIT
174
+ metadata: {}
175
+ post_install_message:
176
+ rdoc_options: []
177
+ require_paths:
178
+ - lib
179
+ required_ruby_version: !ruby/object:Gem::Requirement
180
+ requirements:
181
+ - - ">="
182
+ - !ruby/object:Gem::Version
183
+ version: '2.3'
184
+ required_rubygems_version: !ruby/object:Gem::Requirement
185
+ requirements:
186
+ - - ">="
187
+ - !ruby/object:Gem::Version
188
+ version: '0'
189
+ requirements: []
190
+ rubygems_version: 3.0.3
191
+ signing_key:
192
+ specification_version: 4
193
+ summary: ''
194
+ test_files: []