style-scanner 0.0.5 → 0.0.6
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.
- data/.gitignore +1 -0
- data/bin/style-scanner +9 -0
- data/generate_stemmed_cliches.rb +13 -0
- data/lib/dictionaries/stemmed_cliches.txt +680 -0
- data/lib/style_scanner/profiling_helpers.rb +18 -0
- data/lib/style_scanner/scanner.rb +0 -1
- data/lib/style_scanner/sentence.rb +12 -4
- data/lib/style_scanner/sentence_scans/capitalization.rb +1 -1
- data/lib/style_scanner/sentence_scans/cliche.rb +9 -4
- data/lib/style_scanner/string.rb +4 -0
- data/lib/style_scanner/tagged_word.rb +3 -3
- data/lib/style_scanner/tagger.rb +1 -1
- data/lib/style_scanner/version.rb +1 -1
- data/readme.textile +7 -7
- data/spec/integrations/command_line_spec.rb +5 -5
- data/spec/scanner_spec.rb +0 -13
- data/spec/sentence_spec.rb +2 -0
- data/spec/spec_helper.rb +1 -1
- metadata +26 -23
data/.gitignore
CHANGED
data/bin/style-scanner
CHANGED
|
@@ -5,7 +5,16 @@ options = Trollop::options do
|
|
|
5
5
|
opt :html, "HTML input", :default => false
|
|
6
6
|
opt :textile, "Textile input", :default => false
|
|
7
7
|
opt :spellcheck, "Spell check", :default => false
|
|
8
|
+
opt :profile, "Peformance Profile (DEV)", :default => false
|
|
8
9
|
end
|
|
10
|
+
|
|
11
|
+
if options[:profile]
|
|
12
|
+
include StyleScanner::ProfilingHelpers
|
|
13
|
+
start_profiling
|
|
14
|
+
end
|
|
15
|
+
|
|
9
16
|
puts "=> Scanning for spelling error and style problems. May take a minute.\n".green
|
|
10
17
|
puts ["Problem Type".red, "Original Sentence".green, "Offending Word".yellow].join(" | ")
|
|
11
18
|
StyleScanner::Scanner.new(ARGF.read, options).scan
|
|
19
|
+
|
|
20
|
+
output_profilng_results if options[:profile]
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# WHAT: Turn the cliches.txt file into stemmed cliches
|
|
2
|
+
# WHY: Faster to do the necessary stemming work in advance
|
|
3
|
+
# USAGE: ruby generate_stemmed_cliches.rb
|
|
4
|
+
#
|
|
5
|
+
require "style_scanner"
|
|
6
|
+
|
|
7
|
+
def self.generate_stemmed_cliches_file
|
|
8
|
+
stemmed_cliches_file = File.join(File.dirname(__FILE__), "lib", "dictionaries", "stemmed_cliches.txt")
|
|
9
|
+
stemmed_cliches = StyleScanner::SentenceScans::Cliche.stemmed_cliches
|
|
10
|
+
File.new(stemmed_cliches_file, "w").puts stemmed_cliches
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
generate_stemmed_cliches_file
|
|
@@ -0,0 +1,680 @@
|
|
|
1
|
+
tis the season
|
|
2
|
+
2020 hindsight
|
|
3
|
+
247
|
|
4
|
+
800 pound gorilla
|
|
5
|
+
a few cans short of a six-pack
|
|
6
|
+
a leading provider of
|
|
7
|
+
a plus for all stakeholders
|
|
8
|
+
ace in the hole
|
|
9
|
+
ace up your sleeve
|
|
10
|
+
acid test
|
|
11
|
+
actionable
|
|
12
|
+
airing dirty laundry
|
|
13
|
+
all booster no payload
|
|
14
|
+
all foam no beer
|
|
15
|
+
all foam no beer
|
|
16
|
+
all hammer no nail
|
|
17
|
+
all hat no cattle
|
|
18
|
+
all icing no cake
|
|
19
|
+
all in a days work
|
|
20
|
+
all lime and salt no tequila
|
|
21
|
+
all missile no warhead
|
|
22
|
+
all shot no powder
|
|
23
|
+
all sizzle no steak
|
|
24
|
+
all talk no action
|
|
25
|
+
all that and a bag of chips
|
|
26
|
+
all thumbs
|
|
27
|
+
all wax and no wick
|
|
28
|
+
all wet
|
|
29
|
+
alls fair in love and war
|
|
30
|
+
almighty dollar
|
|
31
|
+
always a bridesmaid
|
|
32
|
+
ambulance chaser
|
|
33
|
+
another day another dollar
|
|
34
|
+
ants in your pants
|
|
35
|
+
apple-pie order
|
|
36
|
+
arm and a leg
|
|
37
|
+
armchair quarterback
|
|
38
|
+
army brat
|
|
39
|
+
art imitates life
|
|
40
|
+
artsy-craftsy
|
|
41
|
+
artsy-fartsy
|
|
42
|
+
as luck would have it
|
|
43
|
+
as old as time
|
|
44
|
+
at loggerheads
|
|
45
|
+
at the end of the day
|
|
46
|
+
babe in the woods
|
|
47
|
+
back against the wall
|
|
48
|
+
back in the saddle
|
|
49
|
+
back to squar one
|
|
50
|
+
back to the drawing board
|
|
51
|
+
bad to the bone
|
|
52
|
+
badge of honor
|
|
53
|
+
badonkadonk
|
|
54
|
+
ballpark figure
|
|
55
|
+
balls to the wall
|
|
56
|
+
baptism of fire
|
|
57
|
+
bare bones
|
|
58
|
+
bark is worse than the bite
|
|
59
|
+
bark up the wrong tree
|
|
60
|
+
bat out of hell
|
|
61
|
+
bats in the belfry
|
|
62
|
+
battle royal
|
|
63
|
+
beat around the bush
|
|
64
|
+
beat the bushes
|
|
65
|
+
beats me
|
|
66
|
+
behind the eight ball
|
|
67
|
+
benchmark
|
|
68
|
+
bent out of shape
|
|
69
|
+
best foot forward
|
|
70
|
+
best of breed
|
|
71
|
+
best practices
|
|
72
|
+
bet your bottom dollar
|
|
73
|
+
better half
|
|
74
|
+
better late than never
|
|
75
|
+
better mousetrap
|
|
76
|
+
better safe than sorry
|
|
77
|
+
better than ever
|
|
78
|
+
better the devil you know
|
|
79
|
+
between a rock and a hard place
|
|
80
|
+
beyond the pale
|
|
81
|
+
bib and tucker
|
|
82
|
+
big as life
|
|
83
|
+
big fish in a small pond
|
|
84
|
+
big man on campus
|
|
85
|
+
bigger they ar
|
|
86
|
+
bird in the hand
|
|
87
|
+
birds and the bees
|
|
88
|
+
birds of the feather
|
|
89
|
+
bite the dust
|
|
90
|
+
bite your tongue
|
|
91
|
+
bitter disappointment
|
|
92
|
+
black as coal
|
|
93
|
+
blast from the past
|
|
94
|
+
bleeding heart
|
|
95
|
+
blind as a bat
|
|
96
|
+
blood is thicker than water
|
|
97
|
+
blood money
|
|
98
|
+
blood on your hands
|
|
99
|
+
blood sweat and tears
|
|
100
|
+
blow this pop stand joint
|
|
101
|
+
blush bride
|
|
102
|
+
body by fisher brains by mattel
|
|
103
|
+
boil it down to
|
|
104
|
+
bone of contention
|
|
105
|
+
boots on the ground
|
|
106
|
+
booze and broads
|
|
107
|
+
bored to tears
|
|
108
|
+
born and rais
|
|
109
|
+
born with a silver spoon in your mouth
|
|
110
|
+
born yesterday
|
|
111
|
+
bottom line
|
|
112
|
+
brain drain
|
|
113
|
+
brain dump
|
|
114
|
+
brass tacks
|
|
115
|
+
bring home the bacon
|
|
116
|
+
bring our a game
|
|
117
|
+
bring a lot of value to the table
|
|
118
|
+
broken record
|
|
119
|
+
brothers keeper
|
|
120
|
+
bull by the horns
|
|
121
|
+
bull in a china shop
|
|
122
|
+
bump in the night
|
|
123
|
+
busy as a bee
|
|
124
|
+
but seriously
|
|
125
|
+
by and large
|
|
126
|
+
calm before the storm
|
|
127
|
+
cant cut the mustard
|
|
128
|
+
candle at both ends
|
|
129
|
+
case of mistaken identity
|
|
130
|
+
cast a wider net
|
|
131
|
+
cat got your tongue
|
|
132
|
+
cat out of the bag
|
|
133
|
+
caught red-handed
|
|
134
|
+
change agent
|
|
135
|
+
chapter and verse
|
|
136
|
+
checkered career
|
|
137
|
+
chickens come home to
|
|
138
|
+
chomp at the bit
|
|
139
|
+
circle back
|
|
140
|
+
cleanliness is next to
|
|
141
|
+
clear as a bell
|
|
142
|
+
clear as mud
|
|
143
|
+
client-centered
|
|
144
|
+
cold shoulder
|
|
145
|
+
communist conspiracy
|
|
146
|
+
conniption fit
|
|
147
|
+
core competency
|
|
148
|
+
could care less
|
|
149
|
+
couldnt care less
|
|
150
|
+
couldnt get to first base
|
|
151
|
+
count your blessings
|
|
152
|
+
countless hours
|
|
153
|
+
creature comfort
|
|
154
|
+
crime in the street
|
|
155
|
+
curiosity kill the cat
|
|
156
|
+
curri favor
|
|
157
|
+
cut a fine figure
|
|
158
|
+
cut and dri
|
|
159
|
+
cut to the chase
|
|
160
|
+
cut to the quick
|
|
161
|
+
cute as a button
|
|
162
|
+
darkest before the dawn
|
|
163
|
+
dead as a doornail
|
|
164
|
+
death and destruction
|
|
165
|
+
death and taxes
|
|
166
|
+
deaths doorstep
|
|
167
|
+
devil is in the details
|
|
168
|
+
dim view
|
|
169
|
+
do no evil
|
|
170
|
+
dog days
|
|
171
|
+
dog in the manger
|
|
172
|
+
dont count your chickens before theyre hatch
|
|
173
|
+
dont do the crime if you cant do the time
|
|
174
|
+
dont throw out the baby with the bathwater
|
|
175
|
+
doubt thomas
|
|
176
|
+
down and dirty
|
|
177
|
+
down in the dumps
|
|
178
|
+
down pat
|
|
179
|
+
down the draintoilet
|
|
180
|
+
down the hatch
|
|
181
|
+
down to earth
|
|
182
|
+
downsizing
|
|
183
|
+
drinking kool-aid
|
|
184
|
+
drive you up a wall
|
|
185
|
+
drop the ball
|
|
186
|
+
dutch uncle
|
|
187
|
+
dy in the wool
|
|
188
|
+
e-ticket
|
|
189
|
+
ear to the ground
|
|
190
|
+
early bird catch the worm
|
|
191
|
+
easier said than done
|
|
192
|
+
easy as 1-2-3
|
|
193
|
+
easy as pie
|
|
194
|
+
eat crow
|
|
195
|
+
eat humble pie
|
|
196
|
+
eco-anything
|
|
197
|
+
enough already
|
|
198
|
+
even money
|
|
199
|
+
every dog ha its day
|
|
200
|
+
every fiber of my being
|
|
201
|
+
everything but the kitchen sink
|
|
202
|
+
evil twin
|
|
203
|
+
existential angst
|
|
204
|
+
experts agre
|
|
205
|
+
eye for an eye
|
|
206
|
+
facts of life
|
|
207
|
+
fair weather friend
|
|
208
|
+
fair-haired one
|
|
209
|
+
fall off of a turnip truck
|
|
210
|
+
faster cheaper better
|
|
211
|
+
fat slob
|
|
212
|
+
favor us with a song
|
|
213
|
+
fear and loathing
|
|
214
|
+
feather your nest
|
|
215
|
+
fellow traveler
|
|
216
|
+
few and far between
|
|
217
|
+
field this one
|
|
218
|
+
fifteen minutes of fame
|
|
219
|
+
fish nor fowl
|
|
220
|
+
fly by night
|
|
221
|
+
fly the coop
|
|
222
|
+
for the birds
|
|
223
|
+
fox in the henhouse
|
|
224
|
+
freudian slip
|
|
225
|
+
from a professional standpoint
|
|
226
|
+
fun and games
|
|
227
|
+
fun in the sun
|
|
228
|
+
game changer
|
|
229
|
+
garbage in garbage out
|
|
230
|
+
get the sack
|
|
231
|
+
get your groove back
|
|
232
|
+
get my goat
|
|
233
|
+
gift horse in the mouth
|
|
234
|
+
gilding the lily
|
|
235
|
+
give a damn
|
|
236
|
+
give me a break
|
|
237
|
+
give me the creeps
|
|
238
|
+
give 110
|
|
239
|
+
go him one better
|
|
240
|
+
godliness
|
|
241
|
+
goe without sai
|
|
242
|
+
go forward
|
|
243
|
+
go from good to great
|
|
244
|
+
good deed for the day
|
|
245
|
+
good time wa had by all
|
|
246
|
+
greek to me
|
|
247
|
+
green thumb
|
|
248
|
+
green-eyed monster
|
|
249
|
+
grist for the mill
|
|
250
|
+
guiding light
|
|
251
|
+
hair of the dog
|
|
252
|
+
hard to believ
|
|
253
|
+
ha legs and can go really far
|
|
254
|
+
have a nice day
|
|
255
|
+
he couldnt pour water out of a boot with instructions print on the heel
|
|
256
|
+
he couldnt think his way out of a paper bag
|
|
257
|
+
he donat his brain to science science sent it back
|
|
258
|
+
he fell out of the stupid tree and hit every branch on his way down
|
|
259
|
+
hes a walking advertisementposter boy for birth controlplanned parenthood
|
|
260
|
+
hes as useful as tits on a wartboar hog
|
|
261
|
+
hes dumber than a bag of hammers
|
|
262
|
+
hes dumber than a box of rocks
|
|
263
|
+
hes not the brightest crayon in the box
|
|
264
|
+
hes not the sharpest knife in the drawer
|
|
265
|
+
head honcho
|
|
266
|
+
hearts content
|
|
267
|
+
hell-bent for leather
|
|
268
|
+
hidden agenda
|
|
269
|
+
high and the mighty
|
|
270
|
+
high on the hog
|
|
271
|
+
his bread aint done
|
|
272
|
+
his elevator doesnt go to the top floor
|
|
273
|
+
his pilot light isnt lit
|
|
274
|
+
his yeast went bad
|
|
275
|
+
hold a candle to
|
|
276
|
+
hold your horses
|
|
277
|
+
hold your tongue
|
|
278
|
+
hook or by crook
|
|
279
|
+
horse of a different color
|
|
280
|
+
hot knife through butter
|
|
281
|
+
how goe the battle
|
|
282
|
+
i beg to differ
|
|
283
|
+
i dont have the bandwidth
|
|
284
|
+
im not throw him under the bus but
|
|
285
|
+
im okay youre okay
|
|
286
|
+
if brains were dynamite he couldnt blow his nose
|
|
287
|
+
if the shoe fit
|
|
288
|
+
if you gave him a penny for his thoughts youd get change
|
|
289
|
+
impactful
|
|
290
|
+
improv roi
|
|
291
|
+
in a nutshell
|
|
292
|
+
in a pinch
|
|
293
|
+
in a wink
|
|
294
|
+
in harms way
|
|
295
|
+
in the tank
|
|
296
|
+
in todays highly competitive marketplace
|
|
297
|
+
in your dreams
|
|
298
|
+
in your face
|
|
299
|
+
industry leader
|
|
300
|
+
industry standard
|
|
301
|
+
inexorably drawn
|
|
302
|
+
influence peddling
|
|
303
|
+
info dump
|
|
304
|
+
integrated approach
|
|
305
|
+
intents and purposes
|
|
306
|
+
it is what it is
|
|
307
|
+
it take him an hour to cook minute rice
|
|
308
|
+
it wa a dark and stormy night
|
|
309
|
+
it wont fly
|
|
310
|
+
jack of all trades
|
|
311
|
+
jockey for position
|
|
312
|
+
johnny-come-lately
|
|
313
|
+
join at the hip
|
|
314
|
+
jump down your throat
|
|
315
|
+
jump herhis bones
|
|
316
|
+
jump in with both feet
|
|
317
|
+
jump on the bandwagon
|
|
318
|
+
jump the gun
|
|
319
|
+
junk in the trunk
|
|
320
|
+
jury is still out
|
|
321
|
+
justice is blind
|
|
322
|
+
keep an eye on you
|
|
323
|
+
keep it down
|
|
324
|
+
keep it simple stupid
|
|
325
|
+
keep up with the joneses
|
|
326
|
+
keep your cards close to vest
|
|
327
|
+
keep your chin up
|
|
328
|
+
keep your fingers cross
|
|
329
|
+
keep your powder dry
|
|
330
|
+
kick ass
|
|
331
|
+
kick the bucket
|
|
332
|
+
kick up your heels
|
|
333
|
+
kick you to the curb
|
|
334
|
+
kick your feet up
|
|
335
|
+
kickbutt
|
|
336
|
+
kid in a candy store
|
|
337
|
+
kill two birds with one stone
|
|
338
|
+
kings english
|
|
339
|
+
kings ransom
|
|
340
|
+
kiss and tell
|
|
341
|
+
kiss ass
|
|
342
|
+
kiss of death
|
|
343
|
+
kit and kaboodle
|
|
344
|
+
knee-high to a grasshopper
|
|
345
|
+
knock it out of the park
|
|
346
|
+
knock on wood
|
|
347
|
+
knock your socks off
|
|
348
|
+
knock up
|
|
349
|
+
know him from adam
|
|
350
|
+
know the ropes
|
|
351
|
+
know the score
|
|
352
|
+
knuckle down
|
|
353
|
+
knuckle sandwich
|
|
354
|
+
knuckle under
|
|
355
|
+
labor of love
|
|
356
|
+
lap of luxury
|
|
357
|
+
last but not least
|
|
358
|
+
last hurrah
|
|
359
|
+
last-ditch effort
|
|
360
|
+
law of the jungle
|
|
361
|
+
law of the land
|
|
362
|
+
lai down the law
|
|
363
|
+
leaps and bounds
|
|
364
|
+
let sleeping dogs lie
|
|
365
|
+
let the cat out of the bag
|
|
366
|
+
lets be proactive here people
|
|
367
|
+
lets get granular
|
|
368
|
+
lets hit the ground run
|
|
369
|
+
lets split
|
|
370
|
+
lets take this off-line
|
|
371
|
+
liberal media
|
|
372
|
+
lie like a rug
|
|
373
|
+
life and limb
|
|
374
|
+
life imitates art
|
|
375
|
+
lifes a bitch
|
|
376
|
+
lighten up
|
|
377
|
+
lights out
|
|
378
|
+
like a sore thumb
|
|
379
|
+
like butter
|
|
380
|
+
like the plagu
|
|
381
|
+
like theres no tomorrow
|
|
382
|
+
lions share
|
|
383
|
+
litmus test
|
|
384
|
+
little black book
|
|
385
|
+
live and learn
|
|
386
|
+
long and short of it
|
|
387
|
+
long lost love
|
|
388
|
+
look before you leap
|
|
389
|
+
lounge lizard
|
|
390
|
+
love and lost
|
|
391
|
+
low man on the totem pole
|
|
392
|
+
low-hanging fruit
|
|
393
|
+
luck of the draw
|
|
394
|
+
luck of the irish
|
|
395
|
+
make my day
|
|
396
|
+
male chauvinist
|
|
397
|
+
mans best friend
|
|
398
|
+
manag expectations
|
|
399
|
+
many moons
|
|
400
|
+
many-splendored thing
|
|
401
|
+
mark my words
|
|
402
|
+
marketing-driven
|
|
403
|
+
maxim customer satisfaction
|
|
404
|
+
maxim leverage
|
|
405
|
+
meaningful relationship
|
|
406
|
+
mellow out
|
|
407
|
+
moment of glory
|
|
408
|
+
moments respite
|
|
409
|
+
monday morning quarterback
|
|
410
|
+
monkey see monkey do
|
|
411
|
+
monkey suit
|
|
412
|
+
motherhood and apple pie
|
|
413
|
+
movers and shakers
|
|
414
|
+
move experience
|
|
415
|
+
move up the value chain
|
|
416
|
+
multi task
|
|
417
|
+
my two cents
|
|
418
|
+
neat as a pin
|
|
419
|
+
needless to sai
|
|
420
|
+
net-net
|
|
421
|
+
next generation
|
|
422
|
+
nip it in the bud
|
|
423
|
+
no guts no glory
|
|
424
|
+
no love lost
|
|
425
|
+
no pain no gain
|
|
426
|
+
no stone unturned
|
|
427
|
+
no time like the present
|
|
428
|
+
nose to the grindstone
|
|
429
|
+
not in my back yard
|
|
430
|
+
not on your tintype
|
|
431
|
+
now more than ever
|
|
432
|
+
number one fan
|
|
433
|
+
numerous to mention
|
|
434
|
+
off the wagon
|
|
435
|
+
offline
|
|
436
|
+
old college try
|
|
437
|
+
old meet new
|
|
438
|
+
older and wiser
|
|
439
|
+
older than dirt
|
|
440
|
+
older than methuselah
|
|
441
|
+
on steroids
|
|
442
|
+
on the bandwagon
|
|
443
|
+
on the nose
|
|
444
|
+
on the wagon
|
|
445
|
+
on thin ice
|
|
446
|
+
one born every minute
|
|
447
|
+
one brick shy of a load
|
|
448
|
+
one foot in the grave
|
|
449
|
+
one fry short of a happy meal
|
|
450
|
+
one in a million
|
|
451
|
+
one pickle short of a barrel
|
|
452
|
+
one sandwich short of a picnic
|
|
453
|
+
one step short of a flight
|
|
454
|
+
one taco short of a combination plate
|
|
455
|
+
only game in town
|
|
456
|
+
only to be met
|
|
457
|
+
out of pocket
|
|
458
|
+
out of the fry pan
|
|
459
|
+
out on a limb
|
|
460
|
+
out-of-pocket
|
|
461
|
+
ps and qs
|
|
462
|
+
pain and suffering
|
|
463
|
+
panic button
|
|
464
|
+
paradigm shift
|
|
465
|
+
party pooper
|
|
466
|
+
pass the sniff test
|
|
467
|
+
patter of little feet
|
|
468
|
+
pay through the nose
|
|
469
|
+
peas in a pod
|
|
470
|
+
perfect storm
|
|
471
|
+
pig in a poke
|
|
472
|
+
pillar of society
|
|
473
|
+
pinko
|
|
474
|
+
plenty of fish in the sea
|
|
475
|
+
poison pen
|
|
476
|
+
poor as a churchmouse
|
|
477
|
+
poor excuse for
|
|
478
|
+
pot calling the kettle black
|
|
479
|
+
proud possessor
|
|
480
|
+
pull through in the end
|
|
481
|
+
push the envelope
|
|
482
|
+
put a stake in the ground
|
|
483
|
+
put myyour foot down
|
|
484
|
+
put lipstick on a pig
|
|
485
|
+
quick and the dead
|
|
486
|
+
quick as a bunny
|
|
487
|
+
radical chic
|
|
488
|
+
rags to riches
|
|
489
|
+
rain buckets
|
|
490
|
+
rain cats and dogs
|
|
491
|
+
raise the bar
|
|
492
|
+
rank and file
|
|
493
|
+
read my lips
|
|
494
|
+
red herring
|
|
495
|
+
redheaded stepchild
|
|
496
|
+
reign supreme
|
|
497
|
+
rememb the alamo
|
|
498
|
+
reson
|
|
499
|
+
rightsiz
|
|
500
|
+
road to hell is pave with good intentions
|
|
501
|
+
rob peter to pai paul
|
|
502
|
+
robust
|
|
503
|
+
rock and a hard place
|
|
504
|
+
rocket sciencescientist
|
|
505
|
+
roost
|
|
506
|
+
rope a dope
|
|
507
|
+
run it up the flagpole
|
|
508
|
+
run it up the flagpole and see who salutes
|
|
509
|
+
run dog lackey
|
|
510
|
+
safe than sorry
|
|
511
|
+
salt of the earth
|
|
512
|
+
save face
|
|
513
|
+
scalable
|
|
514
|
+
scared stiff
|
|
515
|
+
scared to death
|
|
516
|
+
schools out
|
|
517
|
+
scream meemies
|
|
518
|
+
seamless integration
|
|
519
|
+
senses reel
|
|
520
|
+
set the record straight
|
|
521
|
+
shake a stick should of
|
|
522
|
+
shapes and forms
|
|
523
|
+
shoulder to the wheel
|
|
524
|
+
shouldered his way
|
|
525
|
+
shut your trap
|
|
526
|
+
sigh of relief
|
|
527
|
+
significant other
|
|
528
|
+
silence is golden
|
|
529
|
+
six sigma
|
|
530
|
+
slept like a log
|
|
531
|
+
small world
|
|
532
|
+
snake in the grass
|
|
533
|
+
snow job
|
|
534
|
+
snug as a bug
|
|
535
|
+
some of my best friends
|
|
536
|
+
something the cat drag in
|
|
537
|
+
somewhere a villiage is miss its idiot
|
|
538
|
+
spade a spade
|
|
539
|
+
spare the rod
|
|
540
|
+
spending more time with my family
|
|
541
|
+
spitting image
|
|
542
|
+
spring to life
|
|
543
|
+
squeaky wheel get the greaseoil
|
|
544
|
+
start from scratch
|
|
545
|
+
step up to the plate
|
|
546
|
+
stick in the mud
|
|
547
|
+
stick in your craw
|
|
548
|
+
still waters run deep
|
|
549
|
+
stop and smell the roses
|
|
550
|
+
store bought
|
|
551
|
+
stranger than fiction
|
|
552
|
+
strategic
|
|
553
|
+
straw that broke the camels back
|
|
554
|
+
stubborn as a mule
|
|
555
|
+
stuff that dreams ar made of
|
|
556
|
+
stuf shirt
|
|
557
|
+
synergy
|
|
558
|
+
take it to the next level
|
|
559
|
+
take one for the team
|
|
560
|
+
take the bull by the horns
|
|
561
|
+
take the plunge
|
|
562
|
+
take one to know one
|
|
563
|
+
talk turkey
|
|
564
|
+
team player
|
|
565
|
+
teamwork
|
|
566
|
+
ten foot pole
|
|
567
|
+
the 80-20 rule
|
|
568
|
+
the bottom line
|
|
569
|
+
the cheese slid off his cracker
|
|
570
|
+
the customer is always right
|
|
571
|
+
the earth move
|
|
572
|
+
the elephant in the room
|
|
573
|
+
the final analysis
|
|
574
|
+
the gates ar down the lights ar flash but there is no train
|
|
575
|
+
the light is on but nobody is home
|
|
576
|
+
the real mccoy
|
|
577
|
+
the same old story
|
|
578
|
+
the scenery only changes for the lead dog
|
|
579
|
+
the starting gate is open but hes still ask directions
|
|
580
|
+
the wheel is turn but the hamster is dead
|
|
581
|
+
theres nothing in the attic but cobwebs
|
|
582
|
+
these things happen
|
|
583
|
+
thick as thieves
|
|
584
|
+
think outside of the box
|
|
585
|
+
thinking outside of the box
|
|
586
|
+
third times the charm
|
|
587
|
+
this day and age
|
|
588
|
+
this point in time
|
|
589
|
+
thought leader
|
|
590
|
+
three strikes and youre out
|
|
591
|
+
through the grapevine
|
|
592
|
+
throw in the towel
|
|
593
|
+
tiger by the tail
|
|
594
|
+
till the fat lady sing
|
|
595
|
+
time and time again
|
|
596
|
+
time is of the essense
|
|
597
|
+
tip of the iceberg
|
|
598
|
+
to err is human
|
|
599
|
+
to the best of my knowledge
|
|
600
|
+
today more than ever
|
|
601
|
+
tongue-in-cheek
|
|
602
|
+
too hot to handl
|
|
603
|
+
too many chiefs and not enough indians
|
|
604
|
+
touch base
|
|
605
|
+
touch of blarney
|
|
606
|
+
tough as nails
|
|
607
|
+
tough luck
|
|
608
|
+
tough row to hoe
|
|
609
|
+
traditional family values
|
|
610
|
+
transparency
|
|
611
|
+
trials and tribulations
|
|
612
|
+
tri and true
|
|
613
|
+
trip down memory lane
|
|
614
|
+
true blue
|
|
615
|
+
turn your smilefrown upside-down
|
|
616
|
+
twist of fate
|
|
617
|
+
twists and turn
|
|
618
|
+
two to tango
|
|
619
|
+
under the gun
|
|
620
|
+
under the same roof
|
|
621
|
+
underst elegance
|
|
622
|
+
unexpected twist
|
|
623
|
+
until the cows come home
|
|
624
|
+
up his sleeve
|
|
625
|
+
up the creek
|
|
626
|
+
up the wrong tree
|
|
627
|
+
user-experience
|
|
628
|
+
user-focused
|
|
629
|
+
value-added proposition
|
|
630
|
+
very real concern
|
|
631
|
+
view with alarm
|
|
632
|
+
viral
|
|
633
|
+
wakeup call
|
|
634
|
+
wa my face red
|
|
635
|
+
watch your tongue
|
|
636
|
+
web 2 0
|
|
637
|
+
web of intrigue
|
|
638
|
+
week of sundays
|
|
639
|
+
what a bummer
|
|
640
|
+
what come around goe around
|
|
641
|
+
what the cat drag in
|
|
642
|
+
what the dickens
|
|
643
|
+
what the heckhell
|
|
644
|
+
what you see is what you get
|
|
645
|
+
whats not to like
|
|
646
|
+
wheeler-dealer
|
|
647
|
+
when in doubt punt
|
|
648
|
+
when push come to shove
|
|
649
|
+
when rubber meet the road
|
|
650
|
+
when the cats away
|
|
651
|
+
when the go get tough the tough get go
|
|
652
|
+
who ha everything
|
|
653
|
+
whole ball of wax
|
|
654
|
+
whole hog
|
|
655
|
+
whole nine yards
|
|
656
|
+
whole other story
|
|
657
|
+
wild goose chase
|
|
658
|
+
wild oats
|
|
659
|
+
will wonders never ceas
|
|
660
|
+
wimp
|
|
661
|
+
win friends and influence
|
|
662
|
+
win one for the gipper
|
|
663
|
+
win-win
|
|
664
|
+
win-win situation
|
|
665
|
+
wisdom of the ages
|
|
666
|
+
without benefit of clergy
|
|
667
|
+
wnning is everything
|
|
668
|
+
wolf at the door
|
|
669
|
+
words fail
|
|
670
|
+
work like a dog
|
|
671
|
+
worst nightmare
|
|
672
|
+
wrong side of the bed
|
|
673
|
+
years young
|
|
674
|
+
yellow journalism
|
|
675
|
+
you ar what you eat
|
|
676
|
+
you can run but you cant hide
|
|
677
|
+
you know what they sai
|
|
678
|
+
young and foolish
|
|
679
|
+
young and restless
|
|
680
|
+
yuppie
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module StyleScanner
|
|
2
|
+
module ProfilingHelpers
|
|
3
|
+
|
|
4
|
+
def start_profiling
|
|
5
|
+
require 'ruby-prof'
|
|
6
|
+
RubyProf.start
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def output_profilng_results
|
|
10
|
+
result = RubyProf.stop
|
|
11
|
+
printer = RubyProf::GraphHtmlPrinter.new(result)
|
|
12
|
+
output_file = File.new("performance_report.html", "w")
|
|
13
|
+
printer.print(output_file, :min_percent=>0)
|
|
14
|
+
puts "Output performance report to performance_report.html".green
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -16,18 +16,18 @@ module StyleScanner
|
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
def tagged_words
|
|
19
|
-
|
|
19
|
+
tagger.tagged_words
|
|
20
20
|
end
|
|
21
21
|
|
|
22
22
|
def adverbs
|
|
23
23
|
part_of_speech("RB")
|
|
24
24
|
end
|
|
25
25
|
|
|
26
|
-
def contains?(word,
|
|
27
|
-
options = {:strip_case=> true}.merge(
|
|
26
|
+
def contains?(word, option_modifications = {})
|
|
27
|
+
options = {:strip_case => true}.merge(option_modifications)
|
|
28
28
|
text_to_scan = text
|
|
29
|
+
text_to_scan = stemmed_verbs if options[:stem_verbs]
|
|
29
30
|
text_to_scan = text_to_scan.downcase if options[:strip_case]
|
|
30
|
-
text_to_scan = text_to_scan.stem_verbs if options[:stem_verbs]
|
|
31
31
|
text_to_scan.match /\b#{word}\b/
|
|
32
32
|
end
|
|
33
33
|
|
|
@@ -53,6 +53,14 @@ module StyleScanner
|
|
|
53
53
|
tagged_words.select {|tagged_word| tagged_word.tag == pos }.map(&:word)
|
|
54
54
|
end
|
|
55
55
|
|
|
56
|
+
def stemmed_verbs
|
|
57
|
+
@stemmed_verbs ||= text.stem_verbs
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def tagger
|
|
61
|
+
@tagger ||= Tagger.new(text)
|
|
62
|
+
end
|
|
63
|
+
|
|
56
64
|
# we don't want to modify the original text
|
|
57
65
|
def copy_of_text
|
|
58
66
|
text.dup
|
|
@@ -48,7 +48,7 @@ module StyleScanner
|
|
|
48
48
|
|
|
49
49
|
def flag_lowercase(collection)
|
|
50
50
|
collection.each do |word|
|
|
51
|
-
create_problem(word.
|
|
51
|
+
create_problem(word.capitalize) if sentence.contains?(word, :strip_case => false)
|
|
52
52
|
end
|
|
53
53
|
end
|
|
54
54
|
|
|
@@ -2,17 +2,22 @@ module StyleScanner
|
|
|
2
2
|
module SentenceScans
|
|
3
3
|
class Cliche < Base
|
|
4
4
|
|
|
5
|
+
STEMMED_CLICHES = load_file("stemmed_cliches.txt")
|
|
5
6
|
CLICHES = load_file("cliches.txt")
|
|
6
7
|
|
|
7
8
|
def scan
|
|
8
|
-
|
|
9
|
+
STEMMED_CLICHES.each.with_index do |cliche, index|
|
|
9
10
|
create_problem(CLICHES[index]) if sentence.contains?(cliche, :stem_verbs => true)
|
|
10
11
|
end
|
|
11
12
|
end
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
class << self
|
|
15
|
+
|
|
16
|
+
# used for generating new cliches. see generate_stemmed_cliches.rb
|
|
17
|
+
def stemmed_cliches
|
|
18
|
+
CLICHES.map do |cliche|
|
|
19
|
+
cliche.stem_verbs
|
|
20
|
+
end
|
|
16
21
|
end
|
|
17
22
|
end
|
|
18
23
|
|
data/lib/style_scanner/string.rb
CHANGED
|
@@ -2,9 +2,9 @@ module StyleScanner
|
|
|
2
2
|
class TaggedWord
|
|
3
3
|
#TODO add tests for all the new methods added here.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
STRUCTURAL_TAGS = %{
|
|
6
|
+
WRB WPS WP WDT UH TO SYM PRPS CC DET EX IN LS PDT POS PRP PRPS
|
|
7
|
+
}
|
|
8
8
|
|
|
9
9
|
attr_reader :tag, :word
|
|
10
10
|
|
data/lib/style_scanner/tagger.rb
CHANGED
data/readme.textile
CHANGED
|
@@ -31,7 +31,7 @@ h2. Installation
|
|
|
31
31
|
|
|
32
32
|
Install Style using Ruby gems:
|
|
33
33
|
|
|
34
|
-
@gem install style@
|
|
34
|
+
@gem install style-scanner@
|
|
35
35
|
|
|
36
36
|
Next install Hunspell, an open source spell-checker that Style depends upon.
|
|
37
37
|
|
|
@@ -41,27 +41,27 @@ h2. Usage
|
|
|
41
41
|
|
|
42
42
|
Style is command line only. Cd into the directory with the files you'd like to scan, then type
|
|
43
43
|
|
|
44
|
-
@style filename@
|
|
44
|
+
@style-scanner filename@
|
|
45
45
|
|
|
46
46
|
After a few seconds Style will print a list problems it finds.
|
|
47
47
|
|
|
48
48
|
Style is pipe friendly.
|
|
49
49
|
|
|
50
|
-
@cat filename | style@
|
|
50
|
+
@cat filename | style-scanner@
|
|
51
51
|
|
|
52
52
|
See all command line options
|
|
53
53
|
|
|
54
|
-
@style -h@
|
|
54
|
+
@style-scanner -h@
|
|
55
55
|
|
|
56
56
|
By default some scans, such as the Adverb scan, are turned off. Use command line options to enable them.
|
|
57
57
|
|
|
58
|
-
@style -a filename@ #scan for adverbs
|
|
58
|
+
@style-scanner -a filename@ #scan for adverbs
|
|
59
59
|
|
|
60
60
|
Scan HTML files
|
|
61
|
-
@style filename.html --help@
|
|
61
|
+
@style-scanner filename.html --help@
|
|
62
62
|
|
|
63
63
|
Scan Textile files
|
|
64
|
-
@style filename.html -t@
|
|
64
|
+
@style-scanner filename.html -t@
|
|
65
65
|
|
|
66
66
|
h2. Dependencies
|
|
67
67
|
|
|
@@ -12,7 +12,7 @@ module StyleScanner
|
|
|
12
12
|
|
|
13
13
|
it "calls the scanner when cmd line called with an echoed sentence" do
|
|
14
14
|
# mispelling error should show
|
|
15
|
-
%x(echo '#{text}' | style -s).should match "dlog"
|
|
15
|
+
%x(echo '#{text}' | style-scanner -s).should match "dlog"
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
it "calls the scanner when cmd line called with a file" do
|
|
@@ -21,20 +21,20 @@ module StyleScanner
|
|
|
21
21
|
|
|
22
22
|
it "works with HTML input" do
|
|
23
23
|
# mispelling in html should not show if stripper properly
|
|
24
|
-
%x(echo '#{html}' | style -h -s).should_not match "dlog"
|
|
24
|
+
%x(echo '#{html}' | style-scanner -h -s).should_not match "dlog"
|
|
25
25
|
end
|
|
26
26
|
|
|
27
27
|
it "doesn't do adverbs by default" do
|
|
28
|
-
%x(echo '#{adverb_text}' | style).should_not match "quietly"
|
|
28
|
+
%x(echo '#{adverb_text}' | style-scanner).should_not match "quietly"
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
it "can turn on adverbs as needed using command line options" do
|
|
32
|
-
%x(echo '#{adverb_text}' | style -a).should match "quietly"
|
|
32
|
+
%x(echo '#{adverb_text}' | style-scanner -a).should match "quietly"
|
|
33
33
|
end
|
|
34
34
|
|
|
35
35
|
it "works with Textile input" do
|
|
36
36
|
# this test works because the software will visit the image link if the html is not stripped
|
|
37
|
-
%x(echo '#{textile}' | style -t -s).should_not match "dlog"
|
|
37
|
+
%x(echo '#{textile}' | style-scanner -t -s).should_not match "dlog"
|
|
38
38
|
end
|
|
39
39
|
|
|
40
40
|
end
|
data/spec/scanner_spec.rb
CHANGED
|
@@ -7,12 +7,6 @@ module StyleScanner
|
|
|
7
7
|
let(:text) { "My name is Roboticus. I am a really powerful robot." }
|
|
8
8
|
subject {Scanner.new(text)}
|
|
9
9
|
|
|
10
|
-
it "#find_sentence" do
|
|
11
|
-
text = "Sentence Number 1. Sentence Number 2"
|
|
12
|
-
sentence = Scanner.new(text).find_sentence("Sentence Number 2")
|
|
13
|
-
sentence.text.should == "Sentence Number 2"
|
|
14
|
-
end
|
|
15
|
-
|
|
16
10
|
context "#scan" do
|
|
17
11
|
it "calls a variety of scans on its sentences" do
|
|
18
12
|
SentenceScans::UselessWord.should_receive(:scan).with(an_instance_of(Sentence)).twice.and_return(double(:sentence))
|
|
@@ -30,12 +24,5 @@ module StyleScanner
|
|
|
30
24
|
end
|
|
31
25
|
end
|
|
32
26
|
|
|
33
|
-
context "unclosed parenthesis"
|
|
34
|
-
context "uncapitalized starting lines"
|
|
35
|
-
context "forgotten full stop"
|
|
36
|
-
context "overused words"
|
|
37
|
-
context "long words"
|
|
38
|
-
context "passive tense"
|
|
39
|
-
|
|
40
27
|
end
|
|
41
28
|
end
|
data/spec/sentence_spec.rb
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
require "spec_helper"
|
|
2
2
|
module StyleScanner
|
|
3
3
|
describe Sentence do
|
|
4
|
+
|
|
4
5
|
let(:text) {"Christmas shopping shopping for a very big dinosaur."}
|
|
5
6
|
let(:repeated_word_problem) {Problems::ConsecutivelyRepeatedWord.new("shopping shopping", text)}
|
|
6
7
|
let(:ugly_word_problem) {Problems::UglyWord.new("utilize", text)}
|
|
8
|
+
|
|
7
9
|
subject { Sentence.new(text) }
|
|
8
10
|
|
|
9
11
|
it "hold a collection of problems" do
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: style-scanner
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.6
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -14,7 +14,7 @@ default_executable:
|
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: punkt-segmenter
|
|
17
|
-
requirement: &
|
|
17
|
+
requirement: &2152642100 !ruby/object:Gem::Requirement
|
|
18
18
|
none: false
|
|
19
19
|
requirements:
|
|
20
20
|
- - ! '>='
|
|
@@ -22,10 +22,10 @@ dependencies:
|
|
|
22
22
|
version: '0'
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
|
-
version_requirements: *
|
|
25
|
+
version_requirements: *2152642100
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: engtagger
|
|
28
|
-
requirement: &
|
|
28
|
+
requirement: &2152641680 !ruby/object:Gem::Requirement
|
|
29
29
|
none: false
|
|
30
30
|
requirements:
|
|
31
31
|
- - ! '>='
|
|
@@ -33,10 +33,10 @@ dependencies:
|
|
|
33
33
|
version: '0'
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
|
-
version_requirements: *
|
|
36
|
+
version_requirements: *2152641680
|
|
37
37
|
- !ruby/object:Gem::Dependency
|
|
38
38
|
name: colorize
|
|
39
|
-
requirement: &
|
|
39
|
+
requirement: &2152641260 !ruby/object:Gem::Requirement
|
|
40
40
|
none: false
|
|
41
41
|
requirements:
|
|
42
42
|
- - ! '>='
|
|
@@ -44,10 +44,10 @@ dependencies:
|
|
|
44
44
|
version: '0'
|
|
45
45
|
type: :runtime
|
|
46
46
|
prerelease: false
|
|
47
|
-
version_requirements: *
|
|
47
|
+
version_requirements: *2152641260
|
|
48
48
|
- !ruby/object:Gem::Dependency
|
|
49
49
|
name: sanitize
|
|
50
|
-
requirement: &
|
|
50
|
+
requirement: &2152640780 !ruby/object:Gem::Requirement
|
|
51
51
|
none: false
|
|
52
52
|
requirements:
|
|
53
53
|
- - ! '>='
|
|
@@ -55,10 +55,10 @@ dependencies:
|
|
|
55
55
|
version: '0'
|
|
56
56
|
type: :runtime
|
|
57
57
|
prerelease: false
|
|
58
|
-
version_requirements: *
|
|
58
|
+
version_requirements: *2152640780
|
|
59
59
|
- !ruby/object:Gem::Dependency
|
|
60
60
|
name: trollop
|
|
61
|
-
requirement: &
|
|
61
|
+
requirement: &2152640240 !ruby/object:Gem::Requirement
|
|
62
62
|
none: false
|
|
63
63
|
requirements:
|
|
64
64
|
- - ! '>='
|
|
@@ -66,10 +66,10 @@ dependencies:
|
|
|
66
66
|
version: '0'
|
|
67
67
|
type: :runtime
|
|
68
68
|
prerelease: false
|
|
69
|
-
version_requirements: *
|
|
69
|
+
version_requirements: *2152640240
|
|
70
70
|
- !ruby/object:Gem::Dependency
|
|
71
71
|
name: RedCloth
|
|
72
|
-
requirement: &
|
|
72
|
+
requirement: &2152639800 !ruby/object:Gem::Requirement
|
|
73
73
|
none: false
|
|
74
74
|
requirements:
|
|
75
75
|
- - ! '>='
|
|
@@ -77,10 +77,10 @@ dependencies:
|
|
|
77
77
|
version: '0'
|
|
78
78
|
type: :runtime
|
|
79
79
|
prerelease: false
|
|
80
|
-
version_requirements: *
|
|
80
|
+
version_requirements: *2152639800
|
|
81
81
|
- !ruby/object:Gem::Dependency
|
|
82
82
|
name: rspec
|
|
83
|
-
requirement: &
|
|
83
|
+
requirement: &2152639380 !ruby/object:Gem::Requirement
|
|
84
84
|
none: false
|
|
85
85
|
requirements:
|
|
86
86
|
- - ! '>='
|
|
@@ -88,10 +88,10 @@ dependencies:
|
|
|
88
88
|
version: '0'
|
|
89
89
|
type: :development
|
|
90
90
|
prerelease: false
|
|
91
|
-
version_requirements: *
|
|
91
|
+
version_requirements: *2152639380
|
|
92
92
|
- !ruby/object:Gem::Dependency
|
|
93
93
|
name: rake
|
|
94
|
-
requirement: &
|
|
94
|
+
requirement: &2152638940 !ruby/object:Gem::Requirement
|
|
95
95
|
none: false
|
|
96
96
|
requirements:
|
|
97
97
|
- - ! '>='
|
|
@@ -99,10 +99,10 @@ dependencies:
|
|
|
99
99
|
version: '0'
|
|
100
100
|
type: :development
|
|
101
101
|
prerelease: false
|
|
102
|
-
version_requirements: *
|
|
102
|
+
version_requirements: *2152638940
|
|
103
103
|
- !ruby/object:Gem::Dependency
|
|
104
104
|
name: ruby-debug19
|
|
105
|
-
requirement: &
|
|
105
|
+
requirement: &2152638480 !ruby/object:Gem::Requirement
|
|
106
106
|
none: false
|
|
107
107
|
requirements:
|
|
108
108
|
- - ! '>='
|
|
@@ -110,10 +110,10 @@ dependencies:
|
|
|
110
110
|
version: '0'
|
|
111
111
|
type: :development
|
|
112
112
|
prerelease: false
|
|
113
|
-
version_requirements: *
|
|
113
|
+
version_requirements: *2152638480
|
|
114
114
|
- !ruby/object:Gem::Dependency
|
|
115
115
|
name: looksee
|
|
116
|
-
requirement: &
|
|
116
|
+
requirement: &2152638060 !ruby/object:Gem::Requirement
|
|
117
117
|
none: false
|
|
118
118
|
requirements:
|
|
119
119
|
- - ! '>='
|
|
@@ -121,10 +121,10 @@ dependencies:
|
|
|
121
121
|
version: '0'
|
|
122
122
|
type: :development
|
|
123
123
|
prerelease: false
|
|
124
|
-
version_requirements: *
|
|
124
|
+
version_requirements: *2152638060
|
|
125
125
|
- !ruby/object:Gem::Dependency
|
|
126
126
|
name: ruby-prof
|
|
127
|
-
requirement: &
|
|
127
|
+
requirement: &2152637620 !ruby/object:Gem::Requirement
|
|
128
128
|
none: false
|
|
129
129
|
requirements:
|
|
130
130
|
- - ! '>='
|
|
@@ -132,7 +132,7 @@ dependencies:
|
|
|
132
132
|
version: '0'
|
|
133
133
|
type: :development
|
|
134
134
|
prerelease: false
|
|
135
|
-
version_requirements: *
|
|
135
|
+
version_requirements: *2152637620
|
|
136
136
|
description: Flag errors with your writing Style
|
|
137
137
|
email:
|
|
138
138
|
- jack.kinsella@gmail.com
|
|
@@ -147,11 +147,14 @@ files:
|
|
|
147
147
|
- Gemfile
|
|
148
148
|
- Rakefile
|
|
149
149
|
- bin/style-scanner
|
|
150
|
+
- generate_stemmed_cliches.rb
|
|
150
151
|
- lib/dictionaries/acronyms.txt
|
|
151
152
|
- lib/dictionaries/cliches.txt
|
|
152
153
|
- lib/dictionaries/nationalities.txt
|
|
154
|
+
- lib/dictionaries/stemmed_cliches.txt
|
|
153
155
|
- lib/style_scanner.rb
|
|
154
156
|
- lib/style_scanner/problems/base.rb
|
|
157
|
+
- lib/style_scanner/profiling_helpers.rb
|
|
155
158
|
- lib/style_scanner/scanner.rb
|
|
156
159
|
- lib/style_scanner/sentence.rb
|
|
157
160
|
- lib/style_scanner/sentence_scans/adverb.rb
|