style-scanner 0.0.3

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.
Files changed (65) hide show
  1. data/.gitignore +19 -0
  2. data/.rspec +0 -0
  3. data/.rvmrc +1 -0
  4. data/Gemfile +4 -0
  5. data/Rakefile +16 -0
  6. data/bin/style +11 -0
  7. data/lib/dictionaries/acronyms.txt +5 -0
  8. data/lib/dictionaries/cliches.txt +680 -0
  9. data/lib/dictionaries/nationalities.txt +185 -0
  10. data/lib/style_scanner/problems/base.rb +45 -0
  11. data/lib/style_scanner/scanner.rb +67 -0
  12. data/lib/style_scanner/sentence.rb +61 -0
  13. data/lib/style_scanner/sentence_scans/adverb.rb +19 -0
  14. data/lib/style_scanner/sentence_scans/base.rb +70 -0
  15. data/lib/style_scanner/sentence_scans/broken_link.rb +27 -0
  16. data/lib/style_scanner/sentence_scans/capitalization.rb +57 -0
  17. data/lib/style_scanner/sentence_scans/cliche.rb +21 -0
  18. data/lib/style_scanner/sentence_scans/consecutively_repeated_word.rb +22 -0
  19. data/lib/style_scanner/sentence_scans/excess_white_space.rb +22 -0
  20. data/lib/style_scanner/sentence_scans/inappropriate_contraction.rb +20 -0
  21. data/lib/style_scanner/sentence_scans/latin_abbreviation.rb +38 -0
  22. data/lib/style_scanner/sentence_scans/passive_tense.rb +32 -0
  23. data/lib/style_scanner/sentence_scans/speaking_in_generalities.rb +17 -0
  24. data/lib/style_scanner/sentence_scans/spelling.rb +22 -0
  25. data/lib/style_scanner/sentence_scans/ugly_word.rb +17 -0
  26. data/lib/style_scanner/sentence_scans/used_word_already_in_sentence.rb +29 -0
  27. data/lib/style_scanner/sentence_scans/useless_word.rb +17 -0
  28. data/lib/style_scanner/string.rb +33 -0
  29. data/lib/style_scanner/tagged_word.rb +58 -0
  30. data/lib/style_scanner/tagger.rb +25 -0
  31. data/lib/style_scanner/version.rb +3 -0
  32. data/lib/style_scanner.rb +17 -0
  33. data/readme.textile +157 -0
  34. data/spec/fixtures/sample_text.txt +2 -0
  35. data/spec/fixtures/stylish/economist/economist-1.txt +29 -0
  36. data/spec/fixtures/stylish/economist/economist-2.txt +21 -0
  37. data/spec/fixtures/stylish/economist/economist-3.txt +9 -0
  38. data/spec/fixtures/stylish/economist/economist-4.txt +23 -0
  39. data/spec/fixtures/stylish/economist/economist-5.txt +15 -0
  40. data/spec/fixtures/stylish/economist/economist-6.txt +37 -0
  41. data/spec/integrations/command_line_spec.rb +41 -0
  42. data/spec/problems/base_spec.rb +38 -0
  43. data/spec/scanner_spec.rb +41 -0
  44. data/spec/sentence_scans/adverb_spec.rb +13 -0
  45. data/spec/sentence_scans/base_spec.rb +18 -0
  46. data/spec/sentence_scans/broken_link_spec.rb +18 -0
  47. data/spec/sentence_scans/capitalization_spec.rb +44 -0
  48. data/spec/sentence_scans/cliche_spec.rb +35 -0
  49. data/spec/sentence_scans/consecutively_repeated_word_spec.rb +26 -0
  50. data/spec/sentence_scans/excess_white_space_spec.rb +22 -0
  51. data/spec/sentence_scans/inappropriate_contraction_spec.rb +21 -0
  52. data/spec/sentence_scans/latin_abbreviation_spec.rb +34 -0
  53. data/spec/sentence_scans/passive_tense_spec.rb +138 -0
  54. data/spec/sentence_scans/speaking_in_generalities_spec.rb +15 -0
  55. data/spec/sentence_scans/spelling_spec.rb +16 -0
  56. data/spec/sentence_scans/ugly_word_spec.rb +29 -0
  57. data/spec/sentence_scans/used_word_already_in_sentence.rb +21 -0
  58. data/spec/sentence_scans/useless_word_spec.rb +14 -0
  59. data/spec/sentence_spec.rb +76 -0
  60. data/spec/spec_helper.rb +26 -0
  61. data/spec/string_spec.rb +30 -0
  62. data/spec/tagged_word_spec.rb +35 -0
  63. data/spec/tagger_spec.rb +14 -0
  64. data/style-scanner.gemspec +30 -0
  65. metadata +263 -0
@@ -0,0 +1,30 @@
1
+ require "spec_helper"
2
+ module StyleScanner
3
+ describe String do
4
+ context "#strip_punctuation" do
5
+ let(:string_with_dot) {"He isn't that furry."}
6
+ let(:string_with_ampersand) {"Shepards Pie & Lasange use mince meat."}
7
+
8
+ it "removes . and '" do
9
+ string_with_dot.strip_punctuation.should == "He isnt that furry"
10
+ end
11
+
12
+ it "removes excess white space generated" do
13
+ string_with_ampersand.strip_punctuation.should == "Shepards Pie Lasange use mince meat"
14
+ end
15
+ end
16
+
17
+ context "#stem_verbs" do
18
+ let(:goldfish) {"I want a goldfish."}
19
+ let(:flossed) {"I flossed my teeth."}
20
+
21
+ it "stems verbs" do
22
+ flossed.stem_verbs.should == "I floss my teeth"
23
+ end
24
+ it "doesnt stem nouns" do
25
+ goldfish.stem_verbs.should == "I want a goldfish"
26
+ end
27
+ end
28
+
29
+ end
30
+ end
@@ -0,0 +1,35 @@
1
+ require 'spec_helper'
2
+ module StyleScanner
3
+ describe TaggedWord do
4
+
5
+ subject {TaggedWord.new("nn", "Hound-dog")}
6
+
7
+ context "#word" do
8
+ it "the original word" do
9
+ subject.word.should == "Hound-dog"
10
+ end
11
+ end
12
+
13
+ context "#tag" do
14
+ it "uppercased representation of speech element" do
15
+ subject.tag.should == "NN"
16
+ end
17
+ end
18
+
19
+ context "#tokenized " do
20
+ it "downcase and stripped of punctuation" do
21
+ subject.tokenized.should == "hounddog"
22
+ end
23
+ end
24
+
25
+ context "#adverb?" do
26
+ let(:adverb) {TaggedWord.new("RBR", "faster")}
27
+ it "true for adverbs" do
28
+ adverb.adverb?.should be_true
29
+ end
30
+ it "false otherwise" do
31
+ subject.adverb?.should be_false
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,14 @@
1
+ require "spec_helper"
2
+ module StyleScanner
3
+ describe Tagger do
4
+ let(:input) {"I am a wicked child."}
5
+
6
+ context "#tagged_words" do
7
+ it "returns an array of tagged words object" do
8
+ tagged_words = Tagger.new(input).tagged_words
9
+ tagged_words.count.should == 6
10
+ tagged_words.first.kind_of?(TaggedWord).should be_true
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,30 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/style_scanner/version', __FILE__)
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.authors = ["Jack Kinsella"]
6
+ gem.email = ["jack.kinsella@gmail.com"]
7
+ gem.description = %q{Flag errors with your writing Style}
8
+ gem.summary = %q{Formal English Style Guide: Write more effectively}
9
+ gem.homepage = "http://www.jackkinsella.ie"
10
+
11
+ gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
12
+ gem.files = `git ls-files`.split("\n")
13
+ gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
14
+ gem.name = "style-scanner"
15
+ gem.require_paths = ["lib"]
16
+ gem.version = StyleScanner::VERSION
17
+ gem.add_dependency "punkt-segmenter"
18
+ gem.add_dependency "engtagger"
19
+ gem.add_dependency "colorize"
20
+ gem.add_dependency "sanitize"
21
+ gem.add_dependency "trollop"
22
+ gem.add_dependency "RedCloth"
23
+
24
+ gem.add_development_dependency "rspec"
25
+ gem.add_development_dependency "rake"
26
+ gem.add_development_dependency "ruby-debug19"
27
+ gem.add_development_dependency "looksee"
28
+ gem.add_development_dependency "ruby-prof"
29
+
30
+ end
metadata ADDED
@@ -0,0 +1,263 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: style-scanner
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Jack Kinsella
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-01-31 00:00:00.000000000 +01:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: punkt-segmenter
17
+ requirement: &2152782460 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: *2152782460
26
+ - !ruby/object:Gem::Dependency
27
+ name: engtagger
28
+ requirement: &2152782020 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: *2152782020
37
+ - !ruby/object:Gem::Dependency
38
+ name: colorize
39
+ requirement: &2152781600 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: *2152781600
48
+ - !ruby/object:Gem::Dependency
49
+ name: sanitize
50
+ requirement: &2152781160 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: *2152781160
59
+ - !ruby/object:Gem::Dependency
60
+ name: trollop
61
+ requirement: &2152780720 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ type: :runtime
68
+ prerelease: false
69
+ version_requirements: *2152780720
70
+ - !ruby/object:Gem::Dependency
71
+ name: RedCloth
72
+ requirement: &2152780280 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ type: :runtime
79
+ prerelease: false
80
+ version_requirements: *2152780280
81
+ - !ruby/object:Gem::Dependency
82
+ name: rspec
83
+ requirement: &2152779860 !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: *2152779860
92
+ - !ruby/object:Gem::Dependency
93
+ name: rake
94
+ requirement: &2152779420 !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ type: :development
101
+ prerelease: false
102
+ version_requirements: *2152779420
103
+ - !ruby/object:Gem::Dependency
104
+ name: ruby-debug19
105
+ requirement: &2152778980 !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ type: :development
112
+ prerelease: false
113
+ version_requirements: *2152778980
114
+ - !ruby/object:Gem::Dependency
115
+ name: looksee
116
+ requirement: &2152778560 !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ type: :development
123
+ prerelease: false
124
+ version_requirements: *2152778560
125
+ - !ruby/object:Gem::Dependency
126
+ name: ruby-prof
127
+ requirement: &2152778140 !ruby/object:Gem::Requirement
128
+ none: false
129
+ requirements:
130
+ - - ! '>='
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: *2152778140
136
+ description: Flag errors with your writing Style
137
+ email:
138
+ - jack.kinsella@gmail.com
139
+ executables:
140
+ - style
141
+ extensions: []
142
+ extra_rdoc_files: []
143
+ files:
144
+ - .gitignore
145
+ - .rspec
146
+ - .rvmrc
147
+ - Gemfile
148
+ - Rakefile
149
+ - bin/style
150
+ - lib/dictionaries/acronyms.txt
151
+ - lib/dictionaries/cliches.txt
152
+ - lib/dictionaries/nationalities.txt
153
+ - lib/style_scanner.rb
154
+ - lib/style_scanner/problems/base.rb
155
+ - lib/style_scanner/scanner.rb
156
+ - lib/style_scanner/sentence.rb
157
+ - lib/style_scanner/sentence_scans/adverb.rb
158
+ - lib/style_scanner/sentence_scans/base.rb
159
+ - lib/style_scanner/sentence_scans/broken_link.rb
160
+ - lib/style_scanner/sentence_scans/capitalization.rb
161
+ - lib/style_scanner/sentence_scans/cliche.rb
162
+ - lib/style_scanner/sentence_scans/consecutively_repeated_word.rb
163
+ - lib/style_scanner/sentence_scans/excess_white_space.rb
164
+ - lib/style_scanner/sentence_scans/inappropriate_contraction.rb
165
+ - lib/style_scanner/sentence_scans/latin_abbreviation.rb
166
+ - lib/style_scanner/sentence_scans/passive_tense.rb
167
+ - lib/style_scanner/sentence_scans/speaking_in_generalities.rb
168
+ - lib/style_scanner/sentence_scans/spelling.rb
169
+ - lib/style_scanner/sentence_scans/ugly_word.rb
170
+ - lib/style_scanner/sentence_scans/used_word_already_in_sentence.rb
171
+ - lib/style_scanner/sentence_scans/useless_word.rb
172
+ - lib/style_scanner/string.rb
173
+ - lib/style_scanner/tagged_word.rb
174
+ - lib/style_scanner/tagger.rb
175
+ - lib/style_scanner/version.rb
176
+ - readme.textile
177
+ - spec/fixtures/sample_text.txt
178
+ - spec/fixtures/stylish/economist/economist-1.txt
179
+ - spec/fixtures/stylish/economist/economist-2.txt
180
+ - spec/fixtures/stylish/economist/economist-3.txt
181
+ - spec/fixtures/stylish/economist/economist-4.txt
182
+ - spec/fixtures/stylish/economist/economist-5.txt
183
+ - spec/fixtures/stylish/economist/economist-6.txt
184
+ - spec/integrations/command_line_spec.rb
185
+ - spec/problems/base_spec.rb
186
+ - spec/scanner_spec.rb
187
+ - spec/sentence_scans/adverb_spec.rb
188
+ - spec/sentence_scans/base_spec.rb
189
+ - spec/sentence_scans/broken_link_spec.rb
190
+ - spec/sentence_scans/capitalization_spec.rb
191
+ - spec/sentence_scans/cliche_spec.rb
192
+ - spec/sentence_scans/consecutively_repeated_word_spec.rb
193
+ - spec/sentence_scans/excess_white_space_spec.rb
194
+ - spec/sentence_scans/inappropriate_contraction_spec.rb
195
+ - spec/sentence_scans/latin_abbreviation_spec.rb
196
+ - spec/sentence_scans/passive_tense_spec.rb
197
+ - spec/sentence_scans/speaking_in_generalities_spec.rb
198
+ - spec/sentence_scans/spelling_spec.rb
199
+ - spec/sentence_scans/ugly_word_spec.rb
200
+ - spec/sentence_scans/used_word_already_in_sentence.rb
201
+ - spec/sentence_scans/useless_word_spec.rb
202
+ - spec/sentence_spec.rb
203
+ - spec/spec_helper.rb
204
+ - spec/string_spec.rb
205
+ - spec/tagged_word_spec.rb
206
+ - spec/tagger_spec.rb
207
+ - style-scanner.gemspec
208
+ has_rdoc: true
209
+ homepage: http://www.jackkinsella.ie
210
+ licenses: []
211
+ post_install_message:
212
+ rdoc_options: []
213
+ require_paths:
214
+ - lib
215
+ required_ruby_version: !ruby/object:Gem::Requirement
216
+ none: false
217
+ requirements:
218
+ - - ! '>='
219
+ - !ruby/object:Gem::Version
220
+ version: '0'
221
+ required_rubygems_version: !ruby/object:Gem::Requirement
222
+ none: false
223
+ requirements:
224
+ - - ! '>='
225
+ - !ruby/object:Gem::Version
226
+ version: '0'
227
+ requirements: []
228
+ rubyforge_project:
229
+ rubygems_version: 1.6.2
230
+ signing_key:
231
+ specification_version: 3
232
+ summary: ! 'Formal English Style Guide: Write more effectively'
233
+ test_files:
234
+ - spec/fixtures/sample_text.txt
235
+ - spec/fixtures/stylish/economist/economist-1.txt
236
+ - spec/fixtures/stylish/economist/economist-2.txt
237
+ - spec/fixtures/stylish/economist/economist-3.txt
238
+ - spec/fixtures/stylish/economist/economist-4.txt
239
+ - spec/fixtures/stylish/economist/economist-5.txt
240
+ - spec/fixtures/stylish/economist/economist-6.txt
241
+ - spec/integrations/command_line_spec.rb
242
+ - spec/problems/base_spec.rb
243
+ - spec/scanner_spec.rb
244
+ - spec/sentence_scans/adverb_spec.rb
245
+ - spec/sentence_scans/base_spec.rb
246
+ - spec/sentence_scans/broken_link_spec.rb
247
+ - spec/sentence_scans/capitalization_spec.rb
248
+ - spec/sentence_scans/cliche_spec.rb
249
+ - spec/sentence_scans/consecutively_repeated_word_spec.rb
250
+ - spec/sentence_scans/excess_white_space_spec.rb
251
+ - spec/sentence_scans/inappropriate_contraction_spec.rb
252
+ - spec/sentence_scans/latin_abbreviation_spec.rb
253
+ - spec/sentence_scans/passive_tense_spec.rb
254
+ - spec/sentence_scans/speaking_in_generalities_spec.rb
255
+ - spec/sentence_scans/spelling_spec.rb
256
+ - spec/sentence_scans/ugly_word_spec.rb
257
+ - spec/sentence_scans/used_word_already_in_sentence.rb
258
+ - spec/sentence_scans/useless_word_spec.rb
259
+ - spec/sentence_spec.rb
260
+ - spec/spec_helper.rb
261
+ - spec/string_spec.rb
262
+ - spec/tagged_word_spec.rb
263
+ - spec/tagger_spec.rb