latinverb 0.9.5 → 1.0.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +3 -1
  3. data/Gemfile.lock +73 -28
  4. data/Rakefile +1 -7
  5. data/latinverb.gemspec +23 -4
  6. data/lib/latinverb/imperative_block/imperative_rule_factory.rb +1 -0
  7. data/lib/latinverb/imperative_block.rb +1 -2
  8. data/lib/latinverb/latinverb.rb +62 -0
  9. data/lib/latinverb/paradigmatic_verbs.rb +1 -0
  10. data/lib/latinverb/querent_mutators/deponent/infinitive_mutator.rb +24 -0
  11. data/lib/latinverb/querent_mutators/deponent/participle_mutator.rb +24 -0
  12. data/lib/latinverb/{tense_method_applicator/mutators/present_only.rb → querent_mutators/impersonal.rb} +5 -2
  13. data/lib/latinverb/querent_mutators/semideponent.rb +22 -0
  14. data/lib/latinverb/tense_block.rb +8 -7
  15. data/lib/latinverb/tense_block_names.rb +32 -0
  16. data/lib/latinverb/{components/validator.rb → validator.rb} +1 -3
  17. data/lib/latinverb/version.rb +1 -1
  18. data/lib/latinverb.rb +21 -77
  19. data/test/integration/ambiguous_lookups_test.rb +1 -7
  20. data/test/integration/cluster_resolution_test.rb +1 -7
  21. data/test/integration/data_structures_test.rb +2 -9
  22. data/test/integration/defect_semi_imp_test.rb +4 -10
  23. data/test/integration/deponent_first_conjugation_test.rb +7 -9
  24. data/test/integration/deponent_fourth_conjugation_test.rb +6 -9
  25. data/test/integration/deponent_second_conjugation_test.rb +12 -11
  26. data/test/integration/deponent_third_conjugation_test.rb +1 -9
  27. data/test/integration/deponent_third_io_conjugation_test.rb +6 -9
  28. data/test/integration/first_conjugation_test.rb +8 -14
  29. data/test/integration/fourth_conjugation_test.rb +7 -7
  30. data/test/integration/freakish_verb_test.rb +86 -0
  31. data/test/integration/freakish_vs.rb_test.rb +1 -1
  32. data/test/integration/imperative_block_test.rb +1 -9
  33. data/test/integration/irregular_sum_test.rb +1 -10
  34. data/test/integration/irregulars_test.rb +1 -10
  35. data/test/integration/macron_rules_test.rb +1 -8
  36. data/test/integration/second_conjugation_test.rb +8 -8
  37. data/test/integration/third_conjugation_test.rb +8 -6
  38. data/test/integration/third_io_conjugation_test.rb +6 -6
  39. metadata +262 -107
  40. data/lib/latinverb/components/chart_presenter.rb +0 -81
  41. data/lib/latinverb/components/classifier/strategies/defective_verb_classification_strategy.rb +0 -19
  42. data/lib/latinverb/components/classifier/strategies/deponent_verb_classification_strategy.rb +0 -19
  43. data/lib/latinverb/components/classifier/strategies/impersonal_verb_classification_strategy.rb +0 -19
  44. data/lib/latinverb/components/classifier/strategies/irregular_verb_classification_strategy.rb +0 -19
  45. data/lib/latinverb/components/classifier/strategies/present_only_verb_classification_strategy.rb +0 -21
  46. data/lib/latinverb/components/classifier/strategies/regular_verb_classification_strategy.rb +0 -19
  47. data/lib/latinverb/components/classifier/strategies/semideponent_verb_classification_strategy.rb +0 -19
  48. data/lib/latinverb/components/classifier/strategies/verb_classification_strategy.rb +0 -31
  49. data/lib/latinverb/components/classifier/strategies/very_irregular_verb_classification_strategy.rb +0 -20
  50. data/lib/latinverb/components/classifier.rb +0 -76
  51. data/lib/latinverb/components/imperatives_handler.rb +0 -40
  52. data/lib/latinverb/components/infinitivizer.rb +0 -50
  53. data/lib/latinverb/components/participler.rb +0 -58
  54. data/lib/latinverb/components/passive_infinitive_factory.rb +0 -42
  55. data/lib/latinverb/components/present_only_checker.rb +0 -32
  56. data/lib/latinverb/components/principal_parts_extractor.rb +0 -35
  57. data/lib/latinverb/components/stem_deriver.rb +0 -81
  58. data/lib/latinverb/components/type_evaluator.rb +0 -35
  59. data/lib/latinverb/components.rb +0 -9
  60. data/lib/latinverb/dynamic_method_resolver.rb +0 -41
  61. data/lib/latinverb/errors.rb +0 -10
  62. data/lib/latinverb/serialization/hash.rb +0 -17
  63. data/lib/latinverb/serialization/json.rb +0 -41
  64. data/lib/latinverb/serialization/yaml.rb +0 -15
  65. data/lib/latinverb/serialization.rb +0 -3
  66. data/lib/latinverb/tense_method_applicator/defective_checker.rb +0 -21
  67. data/lib/latinverb/tense_method_applicator/deponent_string_deriver.rb +0 -80
  68. data/lib/latinverb/tense_method_applicator/first_builder.rb +0 -98
  69. data/lib/latinverb/tense_method_applicator/fourth.rb +0 -100
  70. data/lib/latinverb/tense_method_applicator/fourth_builder.rb +0 -100
  71. data/lib/latinverb/tense_method_applicator/irregular_builder.rb +0 -117
  72. data/lib/latinverb/tense_method_applicator/mutator_for_classification_factory.rb +0 -38
  73. data/lib/latinverb/tense_method_applicator/mutator_for_verb_type.rb +0 -38
  74. data/lib/latinverb/tense_method_applicator/mutators/deponent/imperative_mutator.rb +0 -49
  75. data/lib/latinverb/tense_method_applicator/mutators/deponent/infinitive_mutator.rb +0 -42
  76. data/lib/latinverb/tense_method_applicator/mutators/deponent/participle_mutator.rb +0 -47
  77. data/lib/latinverb/tense_method_applicator/mutators/deponent/tense_block_mutator.rb +0 -55
  78. data/lib/latinverb/tense_method_applicator/mutators/deponent.rb +0 -41
  79. data/lib/latinverb/tense_method_applicator/mutators/impersonal.rb +0 -27
  80. data/lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_imperative_mood_future_tense_strategy.rb +0 -29
  81. data/lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_imperative_mood_present_tense_strategy.rb +0 -29
  82. data/lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_indicative_mood_future_tense_strategy.rb +0 -35
  83. data/lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_indicative_mood_futureperfect_tense_strategy.rb +0 -28
  84. data/lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_indicative_mood_imperfect_tense_strategy.rb +0 -24
  85. data/lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_indicative_mood_pastperfect_tense_strategy.rb +0 -28
  86. data/lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_indicative_mood_perfect_tense_strategy.rb +0 -29
  87. data/lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_indicative_mood_present_tense_strategy.rb +0 -24
  88. data/lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_subjunctive_mood_imperfect_tense_strategy.rb +0 -29
  89. data/lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_subjunctive_mood_pastperfect_tense_strategy.rb +0 -30
  90. data/lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_subjunctive_mood_perfect_tense_strategy.rb +0 -30
  91. data/lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_subjunctive_mood_present_tense_strategy.rb +0 -24
  92. data/lib/latinverb/tense_method_applicator/mutators/invariant/imperatives.rb +0 -53
  93. data/lib/latinverb/tense_method_applicator/mutators/invariant/passive_voice_indicative_mood_future_tense_strategy.rb +0 -24
  94. data/lib/latinverb/tense_method_applicator/mutators/invariant/passive_voice_indicative_mood_futureperfect_tense_strategy.rb +0 -27
  95. data/lib/latinverb/tense_method_applicator/mutators/invariant/passive_voice_indicative_mood_imperfect_tense_strategy.rb +0 -24
  96. data/lib/latinverb/tense_method_applicator/mutators/invariant/passive_voice_indicative_mood_pastperfect_tense_strategy.rb +0 -27
  97. data/lib/latinverb/tense_method_applicator/mutators/invariant/passive_voice_indicative_mood_perfect_tense_strategy.rb +0 -27
  98. data/lib/latinverb/tense_method_applicator/mutators/invariant/passive_voice_indicative_mood_present_tense_strategy.rb +0 -24
  99. data/lib/latinverb/tense_method_applicator/mutators/invariant/passive_voice_subjunctive_mood_imperfect_tense_strategy.rb +0 -30
  100. data/lib/latinverb/tense_method_applicator/mutators/invariant/passive_voice_subjunctive_mood_pastperfect_tense_strategy.rb +0 -33
  101. data/lib/latinverb/tense_method_applicator/mutators/invariant/passive_voice_subjunctive_mood_perfect_tense_strategy.rb +0 -33
  102. data/lib/latinverb/tense_method_applicator/mutators/invariant/passive_voice_subjunctive_mood_present_tense_strategy.rb +0 -24
  103. data/lib/latinverb/tense_method_applicator/mutators/invariant/triplicate_and_pluralize_formatters.rb +0 -26
  104. data/lib/latinverb/tense_method_applicator/mutators/invariant.rb +0 -65
  105. data/lib/latinverb/tense_method_applicator/mutators/irregular/infinitives_builder.rb +0 -35
  106. data/lib/latinverb/tense_method_applicator/mutators/irregular/json_deserializer.rb +0 -52
  107. data/lib/latinverb/tense_method_applicator/mutators/irregular/json_revivifier.rb +0 -48
  108. data/lib/latinverb/tense_method_applicator/mutators/irregular/participles_builder.rb +0 -35
  109. data/lib/latinverb/tense_method_applicator/mutators/irregular/present_only_irregular_mask.rb +0 -37
  110. data/lib/latinverb/tense_method_applicator/mutators/irregular.rb +0 -25
  111. data/lib/latinverb/tense_method_applicator/mutators/regular.rb +0 -17
  112. data/lib/latinverb/tense_method_applicator/mutators/semideponent.rb +0 -88
  113. data/lib/latinverb/tense_method_applicator/perfect_tense_remover.rb +0 -26
  114. data/lib/latinverb/tense_method_applicator/second_builder.rb +0 -105
  115. data/lib/latinverb/tense_method_applicator/tense_methods_vectorizer.rb +0 -73
  116. data/lib/latinverb/tense_method_applicator/third_builder.rb +0 -93
  117. data/lib/latinverb/tense_method_applicator/thirdio_builder.rb +0 -100
  118. data/lib/latinverb/tense_method_applicator.rb +0 -55
  119. data/test/integration/latin_verb_test.rb +0 -166
  120. data/test/unit/latinverb_accessible_reader_test.rb +0 -18
  121. data/test/unit/principal_parts_extractor_test.rb +0 -33
metadata CHANGED
@@ -1,94 +1,304 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: latinverb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.5
4
+ version: 1.0.0.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven G. Harms
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-22 00:00:00.000000000 Z
11
+ date: 2014-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: macronconversions
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: linguistics_latin
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.0.2
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.0.2
41
+ - !ruby/object:Gem::Dependency
42
+ name: linguistics_latin_tense_block
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
32
46
  - !ruby/object:Gem::Version
33
47
  version: '0'
34
48
  type: :runtime
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
- - - '>='
52
+ - - ">="
39
53
  - !ruby/object:Gem::Version
40
54
  version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
- name: rdoc
56
+ name: latinverb_imperative_block
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - '>='
59
+ - - ">="
46
60
  - !ruby/object:Gem::Version
47
61
  version: '0'
48
62
  type: :runtime
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - '>='
66
+ - - ">="
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
- name: rake
70
+ name: latinverb_classifier
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '='
74
+ - !ruby/object:Gem::Version
75
+ version: 1.0.0.pre.1
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 1.0.0.pre.1
83
+ - !ruby/object:Gem::Dependency
84
+ name: latinverb_principal_parts_extractor
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: latinverb_deponent_string_deriver
57
99
  requirement: !ruby/object:Gem::Requirement
58
100
  requirements:
59
- - - '>='
101
+ - - ">="
60
102
  - !ruby/object:Gem::Version
61
103
  version: '0'
62
104
  type: :runtime
63
105
  prerelease: false
64
106
  version_requirements: !ruby/object:Gem::Requirement
65
107
  requirements:
66
- - - '>='
108
+ - - ">="
67
109
  - !ruby/object:Gem::Version
68
110
  version: '0'
69
111
  - !ruby/object:Gem::Dependency
70
- name: activesupport
112
+ name: latinverb_stem_deriver
71
113
  requirement: !ruby/object:Gem::Requirement
72
114
  requirements:
73
- - - '>='
115
+ - - ">="
74
116
  - !ruby/object:Gem::Version
75
117
  version: '0'
76
118
  type: :runtime
77
119
  prerelease: false
78
120
  version_requirements: !ruby/object:Gem::Requirement
79
121
  requirements:
80
- - - '>='
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: latinverb_type_evaluator
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: latinverb_querent_for_classification_builder
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
81
144
  - !ruby/object:Gem::Version
82
145
  version: '0'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: latinverb_irregular_verb_definition_consumer
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: latinverb_irregular_imperatives_retriever
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ - !ruby/object:Gem::Dependency
182
+ name: latinverb_irregular_infinitives_retriever
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ type: :runtime
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: '0'
195
+ - !ruby/object:Gem::Dependency
196
+ name: latinverb_irregular_participles_retriever
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
202
+ type: :runtime
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ - !ruby/object:Gem::Dependency
210
+ name: latinverb_imperatives
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - ">="
214
+ - !ruby/object:Gem::Version
215
+ version: '0'
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: '0'
223
+ - !ruby/object:Gem::Dependency
224
+ name: latinverb_infinitives
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :runtime
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: latinverb_participles
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ type: :runtime
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: latinverb_serialization
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ type: :runtime
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
265
+ - !ruby/object:Gem::Dependency
266
+ name: rake
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :runtime
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
279
+ - !ruby/object:Gem::Dependency
280
+ name: multi_json
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - "~>"
284
+ - !ruby/object:Gem::Version
285
+ version: '1.8'
286
+ type: :runtime
287
+ prerelease: false
288
+ version_requirements: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - "~>"
291
+ - !ruby/object:Gem::Version
292
+ version: '1.8'
83
293
  description: This gem takes the four principal parts of a standard Latin verb and
84
- then fully conjugates that verb based on the heristics of the Latin language.
294
+ then fully conjugates that verb based on the heuristics of the Latin language.
85
295
  email:
86
296
  - steven.harms@gmail.com
87
297
  executables: []
88
298
  extensions: []
89
299
  extra_rdoc_files: []
90
300
  files:
91
- - .gitignore
301
+ - ".gitignore"
92
302
  - Gemfile
93
303
  - Gemfile.lock
94
304
  - Guardfile
@@ -97,93 +307,19 @@ files:
97
307
  - etc/irreg_skel.json
98
308
  - latinverb.gemspec
99
309
  - lib/latinverb.rb
100
- - lib/latinverb/components.rb
101
- - lib/latinverb/components/chart_presenter.rb
102
- - lib/latinverb/components/classifier.rb
103
- - lib/latinverb/components/classifier/strategies/defective_verb_classification_strategy.rb
104
- - lib/latinverb/components/classifier/strategies/deponent_verb_classification_strategy.rb
105
- - lib/latinverb/components/classifier/strategies/impersonal_verb_classification_strategy.rb
106
- - lib/latinverb/components/classifier/strategies/irregular_verb_classification_strategy.rb
107
- - lib/latinverb/components/classifier/strategies/present_only_verb_classification_strategy.rb
108
- - lib/latinverb/components/classifier/strategies/regular_verb_classification_strategy.rb
109
- - lib/latinverb/components/classifier/strategies/semideponent_verb_classification_strategy.rb
110
- - lib/latinverb/components/classifier/strategies/verb_classification_strategy.rb
111
- - lib/latinverb/components/classifier/strategies/very_irregular_verb_classification_strategy.rb
112
- - lib/latinverb/components/imperatives_handler.rb
113
- - lib/latinverb/components/infinitivizer.rb
114
- - lib/latinverb/components/participler.rb
115
- - lib/latinverb/components/passive_infinitive_factory.rb
116
- - lib/latinverb/components/present_only_checker.rb
117
- - lib/latinverb/components/principal_parts_extractor.rb
118
- - lib/latinverb/components/stem_deriver.rb
119
- - lib/latinverb/components/type_evaluator.rb
120
- - lib/latinverb/components/validator.rb
121
- - lib/latinverb/dynamic_method_resolver.rb
122
- - lib/latinverb/errors.rb
123
310
  - lib/latinverb/imperative_block.rb
124
311
  - lib/latinverb/imperative_block/imperative_rule_factory.rb
312
+ - lib/latinverb/latinverb.rb
125
313
  - lib/latinverb/paradigmatic_verbs.rb
126
- - lib/latinverb/serialization.rb
127
- - lib/latinverb/serialization/hash.rb
128
- - lib/latinverb/serialization/json.rb
129
- - lib/latinverb/serialization/yaml.rb
314
+ - lib/latinverb/querent_mutators/deponent/infinitive_mutator.rb
315
+ - lib/latinverb/querent_mutators/deponent/participle_mutator.rb
316
+ - lib/latinverb/querent_mutators/impersonal.rb
317
+ - lib/latinverb/querent_mutators/semideponent.rb
130
318
  - lib/latinverb/tense_block.rb
131
319
  - lib/latinverb/tense_block/null_tense_block.rb
132
320
  - lib/latinverb/tense_block/vector_resolution_delegate.rb
133
- - lib/latinverb/tense_method_applicator.rb
134
- - lib/latinverb/tense_method_applicator/defective_checker.rb
135
- - lib/latinverb/tense_method_applicator/deponent_string_deriver.rb
136
- - lib/latinverb/tense_method_applicator/first_builder.rb
137
- - lib/latinverb/tense_method_applicator/fourth.rb
138
- - lib/latinverb/tense_method_applicator/fourth_builder.rb
139
- - lib/latinverb/tense_method_applicator/irregular_builder.rb
140
- - lib/latinverb/tense_method_applicator/mutator_for_classification_factory.rb
141
- - lib/latinverb/tense_method_applicator/mutator_for_verb_type.rb
142
- - lib/latinverb/tense_method_applicator/mutators/deponent.rb
143
- - lib/latinverb/tense_method_applicator/mutators/deponent/imperative_mutator.rb
144
- - lib/latinverb/tense_method_applicator/mutators/deponent/infinitive_mutator.rb
145
- - lib/latinverb/tense_method_applicator/mutators/deponent/participle_mutator.rb
146
- - lib/latinverb/tense_method_applicator/mutators/deponent/tense_block_mutator.rb
147
- - lib/latinverb/tense_method_applicator/mutators/impersonal.rb
148
- - lib/latinverb/tense_method_applicator/mutators/invariant.rb
149
- - lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_imperative_mood_future_tense_strategy.rb
150
- - lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_imperative_mood_present_tense_strategy.rb
151
- - lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_indicative_mood_future_tense_strategy.rb
152
- - lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_indicative_mood_futureperfect_tense_strategy.rb
153
- - lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_indicative_mood_imperfect_tense_strategy.rb
154
- - lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_indicative_mood_pastperfect_tense_strategy.rb
155
- - lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_indicative_mood_perfect_tense_strategy.rb
156
- - lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_indicative_mood_present_tense_strategy.rb
157
- - lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_subjunctive_mood_imperfect_tense_strategy.rb
158
- - lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_subjunctive_mood_pastperfect_tense_strategy.rb
159
- - lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_subjunctive_mood_perfect_tense_strategy.rb
160
- - lib/latinverb/tense_method_applicator/mutators/invariant/active_voice_subjunctive_mood_present_tense_strategy.rb
161
- - lib/latinverb/tense_method_applicator/mutators/invariant/imperatives.rb
162
- - lib/latinverb/tense_method_applicator/mutators/invariant/passive_voice_indicative_mood_future_tense_strategy.rb
163
- - lib/latinverb/tense_method_applicator/mutators/invariant/passive_voice_indicative_mood_futureperfect_tense_strategy.rb
164
- - lib/latinverb/tense_method_applicator/mutators/invariant/passive_voice_indicative_mood_imperfect_tense_strategy.rb
165
- - lib/latinverb/tense_method_applicator/mutators/invariant/passive_voice_indicative_mood_pastperfect_tense_strategy.rb
166
- - lib/latinverb/tense_method_applicator/mutators/invariant/passive_voice_indicative_mood_perfect_tense_strategy.rb
167
- - lib/latinverb/tense_method_applicator/mutators/invariant/passive_voice_indicative_mood_present_tense_strategy.rb
168
- - lib/latinverb/tense_method_applicator/mutators/invariant/passive_voice_subjunctive_mood_imperfect_tense_strategy.rb
169
- - lib/latinverb/tense_method_applicator/mutators/invariant/passive_voice_subjunctive_mood_pastperfect_tense_strategy.rb
170
- - lib/latinverb/tense_method_applicator/mutators/invariant/passive_voice_subjunctive_mood_perfect_tense_strategy.rb
171
- - lib/latinverb/tense_method_applicator/mutators/invariant/passive_voice_subjunctive_mood_present_tense_strategy.rb
172
- - lib/latinverb/tense_method_applicator/mutators/invariant/triplicate_and_pluralize_formatters.rb
173
- - lib/latinverb/tense_method_applicator/mutators/irregular.rb
174
- - lib/latinverb/tense_method_applicator/mutators/irregular/infinitives_builder.rb
175
- - lib/latinverb/tense_method_applicator/mutators/irregular/json_deserializer.rb
176
- - lib/latinverb/tense_method_applicator/mutators/irregular/json_revivifier.rb
177
- - lib/latinverb/tense_method_applicator/mutators/irregular/participles_builder.rb
178
- - lib/latinverb/tense_method_applicator/mutators/irregular/present_only_irregular_mask.rb
179
- - lib/latinverb/tense_method_applicator/mutators/present_only.rb
180
- - lib/latinverb/tense_method_applicator/mutators/regular.rb
181
- - lib/latinverb/tense_method_applicator/mutators/semideponent.rb
182
- - lib/latinverb/tense_method_applicator/perfect_tense_remover.rb
183
- - lib/latinverb/tense_method_applicator/second_builder.rb
184
- - lib/latinverb/tense_method_applicator/tense_methods_vectorizer.rb
185
- - lib/latinverb/tense_method_applicator/third_builder.rb
186
- - lib/latinverb/tense_method_applicator/thirdio_builder.rb
321
+ - lib/latinverb/tense_block_names.rb
322
+ - lib/latinverb/validator.rb
187
323
  - lib/latinverb/version.rb
188
324
  - test/integration/ambiguous_lookups_test.rb
189
325
  - test/integration/cluster_resolution_test.rb
@@ -196,19 +332,18 @@ files:
196
332
  - test/integration/deponent_third_io_conjugation_test.rb
197
333
  - test/integration/first_conjugation_test.rb
198
334
  - test/integration/fourth_conjugation_test.rb
335
+ - test/integration/freakish_verb_test.rb
199
336
  - test/integration/freakish_vs.rb_test.rb
200
337
  - test/integration/imperative_block_test.rb
201
338
  - test/integration/irregular_sum_test.rb
202
339
  - test/integration/irregulars_test.rb
203
- - test/integration/latin_verb_test.rb
204
340
  - test/integration/macron_rules_test.rb
205
341
  - test/integration/second_conjugation_test.rb
206
342
  - test/integration/third_conjugation_test.rb
207
343
  - test/integration/third_io_conjugation_test.rb
208
- - test/unit/latinverb_accessible_reader_test.rb
209
- - test/unit/principal_parts_extractor_test.rb
210
344
  homepage: http://rubygems.org/gems/latinverb
211
- licenses: []
345
+ licenses:
346
+ - MIT
212
347
  metadata: {}
213
348
  post_install_message:
214
349
  rdoc_options: []
@@ -216,18 +351,38 @@ require_paths:
216
351
  - lib
217
352
  required_ruby_version: !ruby/object:Gem::Requirement
218
353
  requirements:
219
- - - '>='
354
+ - - ">="
220
355
  - !ruby/object:Gem::Version
221
356
  version: '0'
222
357
  required_rubygems_version: !ruby/object:Gem::Requirement
223
358
  requirements:
224
- - - '>='
359
+ - - ">"
225
360
  - !ruby/object:Gem::Version
226
- version: '0'
361
+ version: 1.3.1
227
362
  requirements: []
228
363
  rubyforge_project: latinverb
229
- rubygems_version: 2.0.2
364
+ rubygems_version: 2.2.2
230
365
  signing_key:
231
366
  specification_version: 4
232
367
  summary: Gem designed to fully conjugate Latin verbs
233
- test_files: []
368
+ test_files:
369
+ - test/integration/ambiguous_lookups_test.rb
370
+ - test/integration/cluster_resolution_test.rb
371
+ - test/integration/data_structures_test.rb
372
+ - test/integration/defect_semi_imp_test.rb
373
+ - test/integration/deponent_first_conjugation_test.rb
374
+ - test/integration/deponent_fourth_conjugation_test.rb
375
+ - test/integration/deponent_second_conjugation_test.rb
376
+ - test/integration/deponent_third_conjugation_test.rb
377
+ - test/integration/deponent_third_io_conjugation_test.rb
378
+ - test/integration/first_conjugation_test.rb
379
+ - test/integration/fourth_conjugation_test.rb
380
+ - test/integration/freakish_verb_test.rb
381
+ - test/integration/freakish_vs.rb_test.rb
382
+ - test/integration/imperative_block_test.rb
383
+ - test/integration/irregular_sum_test.rb
384
+ - test/integration/irregulars_test.rb
385
+ - test/integration/macron_rules_test.rb
386
+ - test/integration/second_conjugation_test.rb
387
+ - test/integration/third_conjugation_test.rb
388
+ - test/integration/third_io_conjugation_test.rb
@@ -1,81 +0,0 @@
1
- module Linguistics
2
- module Latin
3
- module Verb
4
- class LatinVerb
5
- class ChartPresenter
6
- def initialize(verb)
7
- @verb = verb
8
- end
9
-
10
- def chart
11
- f="%9s%15s%15s%15s\n"
12
- f_subjunctive="%9s%15s%15s%15s%15s\n"
13
- c_prep "Present System", [
14
- @verb.active_voice_indicative_mood_present_tense,
15
- @verb.active_voice_indicative_mood_imperfect_tense,
16
- @verb.active_voice_indicative_mood_future_tense
17
- ], %w/Present Imperfect Future/,f
18
- puts "\n"
19
- c_prep "Perfect System", [ @verb.active_voice_indicative_mood_perfect_tense,
20
- @verb.active_voice_indicative_mood_pastperfect_tense,
21
- @verb.active_voice_indicative_mood_futureperfect_tense
22
- ], %w/Perfect Past-Perfect Future-Perfect/,f
23
- puts "\n"
24
- c_prep "Passive Present System", [
25
- @verb.passive_voice_indicative_mood_present_tense,
26
- @verb.passive_voice_indicative_mood_imperfect_tense,
27
- @verb.passive_voice_indicative_mood_future_tense
28
- ], %w/Present Imperfect Future/,f
29
- puts "\n"
30
- c_prep "Passive Perfect System", [ @verb.passive_voice_indicative_mood_perfect_tense,
31
- @verb.passive_voice_indicative_mood_pastperfect_tense,
32
- @verb.passive_voice_indicative_mood_futureperfect_tense
33
- ], %w/Perfect Past-Perfect Future-Perfect/,f
34
- puts "\n"
35
-
36
-
37
- c_prep "Subjunctives", [ @verb.active_voice_subjunctive_mood_present_tense,
38
- @verb.active_voice_subjunctive_mood_imperfect_tense,
39
- @verb.active_voice_subjunctive_mood_perfect_tense,
40
- @verb.active_voice_subjunctive_mood_pastperfect_tense
41
- ], %w/Present Imperfect Perfect Past-Perfect/,f_subjunctive
42
- puts "\n"
43
- c_prep "Passive Subjunctives", [ @verb.active_voice_subjunctive_mood_present_tense,
44
- @verb.active_voice_subjunctive_mood_imperfect_tense,
45
- @verb.active_voice_subjunctive_mood_perfect_tense,
46
- @verb.active_voice_subjunctive_mood_pastperfect_tense
47
- ], %w/Present Imperfect Perfect Past-Perfect/,f_subjunctive
48
- puts "\n"
49
- puts "Participles"
50
- @verb.methods.grep(/_participle$/).each do |p|
51
- printf "%42s %42s\n", p.to_s.gsub('_', ' ').gsub(/\b\w/){$&.upcase}, @verb.send(p)
52
- end
53
- puts "\n"
54
- puts "Infinitives"
55
- @verb.methods.grep(/infinitive$/).each do |p|
56
- printf "%42s %42s\n", (p.to_s.gsub('_', ' ').gsub(/\b\w/){$&.upcase}), @verb.send(p)
57
- end
58
- return nil
59
- end
60
-
61
- alias_method :c, :chart
62
- private
63
-
64
- def c_prep(heading, rays, subtitles, format_string)
65
- puts heading
66
- puts '=' * heading.length + "\n"
67
- printf format_string, '', *subtitles
68
- underbars = subtitles.map{|j| j.gsub!( /./, '=' )}
69
- printf format_string, '', *underbars
70
- vertical_transform( rays ).each{|a| printf format_string, *a}
71
- end
72
-
73
- def vertical_transform( opts = [] )
74
- # Get the length of the first array to be verticalized
75
- ['1st Sg.', '2nd Sg.', '3rd Sg.','1st Pl.', '2nd Pl.', '3rd Pl.'].zip(*opts)
76
- end
77
- end
78
- end
79
- end
80
- end
81
- end
@@ -1,19 +0,0 @@
1
- module Linguistics
2
- module Latin
3
- module Verb
4
- class LatinVerb
5
- class LatinVerbClassifier
6
- class DefectiveVerbClassificationStrategy < VerbClassificationStrategy
7
- def self.classification
8
- Classification::Defective
9
- end
10
-
11
- def applicable?
12
- Linguistics::Latin::Verb::DEFECTIVE_VERBS.member? first_pres
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,19 +0,0 @@
1
- module Linguistics
2
- module Latin
3
- module Verb
4
- class LatinVerb
5
- class LatinVerbClassifier
6
- class DeponentVerbClassificationStrategy < VerbClassificationStrategy
7
- def self.classification
8
- return Classification::Deponent
9
- end
10
-
11
- def applicable?
12
- infinitive =~ /ī$/ && first_pres =~ /r$/
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,19 +0,0 @@
1
- module Linguistics
2
- module Latin
3
- module Verb
4
- class LatinVerb
5
- class LatinVerbClassifier
6
- class ImpersonalVerbClassificationStrategy < VerbClassificationStrategy
7
- def self.classification
8
- Classification::Impersonal
9
- end
10
-
11
- def applicable?
12
- Linguistics::Latin::Verb::IMPERSONAL_VERBS.member?(input)
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,19 +0,0 @@
1
- module Linguistics
2
- module Latin
3
- module Verb
4
- class LatinVerb
5
- class LatinVerbClassifier
6
- class IrregularVerbClassificationStrategy < VerbClassificationStrategy
7
- def self.classification
8
- Classification::Irregular
9
- end
10
-
11
- def applicable?
12
- Linguistics::Latin::Verb::IRREGULAR_VERBS.member? first_pres
13
- end
14
- end
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,21 +0,0 @@
1
- require 'latinverb/components/present_only_checker'
2
-
3
- module Linguistics
4
- module Latin
5
- module Verb
6
- class LatinVerb
7
- class LatinVerbClassifier
8
- class PresentonlyVerbClassificationStrategy < VerbClassificationStrategy
9
- def self.classification
10
- Classification::PresentOnly
11
- end
12
-
13
- def applicable?
14
- PresentOnlyChecker.new(input).present_only?
15
- end
16
- end
17
- end
18
- end
19
- end
20
- end
21
- end