wcc-text-analysis 0.0.1

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 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: []