latinverb_querent_for_classification_builder 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +24 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +29 -0
- data/Rakefile +12 -0
- data/latinverb_querent_for_classification_builder.gemspec +26 -0
- data/lib/latinverb_querent_for_classification_builder/past_and_perfect_tense_block_eclipser.rb +49 -0
- data/lib/latinverb_querent_for_classification_builder/querent/first/tense_method_definitions/active_voice_indicative_mood_future_tense_methods.rb +90 -0
- data/lib/latinverb_querent_for_classification_builder/querent/first/tense_method_definitions/active_voice_indicative_mood_imperfect_tense_methods.rb +90 -0
- data/lib/latinverb_querent_for_classification_builder/querent/first/tense_method_definitions/active_voice_indicative_mood_present_tense_methods.rb +90 -0
- data/lib/latinverb_querent_for_classification_builder/querent/first/tense_method_definitions/active_voice_subjunctive_mood_present_tense_methods.rb +94 -0
- data/lib/latinverb_querent_for_classification_builder/querent/first/tense_method_definitions/passive_voice_indicative_mood_future_tense_methods.rb +100 -0
- data/lib/latinverb_querent_for_classification_builder/querent/first/tense_method_definitions/passive_voice_indicative_mood_imperfect_tense_methods.rb +91 -0
- data/lib/latinverb_querent_for_classification_builder/querent/first/tense_method_definitions/passive_voice_indicative_mood_present_tense_methods.rb +92 -0
- data/lib/latinverb_querent_for_classification_builder/querent/first/tense_method_definitions/passive_voice_subjunctive_mood_present_tense_methods.rb +93 -0
- data/lib/latinverb_querent_for_classification_builder/querent/first.rb +26 -0
- data/lib/latinverb_querent_for_classification_builder/querent/fourth/tense_method_definitions/active_voice_indicative_mood_future_tense_methods.rb +90 -0
- data/lib/latinverb_querent_for_classification_builder/querent/fourth/tense_method_definitions/active_voice_indicative_mood_imperfect_tense_methods.rb +91 -0
- data/lib/latinverb_querent_for_classification_builder/querent/fourth/tense_method_definitions/active_voice_indicative_mood_present_tense_methods.rb +92 -0
- data/lib/latinverb_querent_for_classification_builder/querent/fourth/tense_method_definitions/active_voice_subjunctive_mood_present_tense_methods.rb +97 -0
- data/lib/latinverb_querent_for_classification_builder/querent/fourth/tense_method_definitions/passive_voice_indicative_mood_future_tense_methods.rb +93 -0
- data/lib/latinverb_querent_for_classification_builder/querent/fourth/tense_method_definitions/passive_voice_indicative_mood_imperfect_tense_methods.rb +92 -0
- data/lib/latinverb_querent_for_classification_builder/querent/fourth/tense_method_definitions/passive_voice_indicative_mood_present_tense_methods.rb +94 -0
- data/lib/latinverb_querent_for_classification_builder/querent/fourth/tense_method_definitions/passive_voice_subjunctive_mood_present_tense_methods.rb +94 -0
- data/lib/latinverb_querent_for_classification_builder/querent/fourth.rb +26 -0
- data/lib/latinverb_querent_for_classification_builder/querent/impersonal.rb +13 -0
- data/lib/latinverb_querent_for_classification_builder/querent/impersonal_verb_mixin.rb +13 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/active_voice_imperative_mood_future_tense_methods.rb +83 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/active_voice_imperative_mood_present_tense_methods.rb +84 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/active_voice_indicative_mood_future_tense_methods.rb +84 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/active_voice_indicative_mood_futureperfect_tense_methods.rb +84 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/active_voice_indicative_mood_imperfect_tense_methods.rb +84 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/active_voice_indicative_mood_pastperfect_tense_methods.rb +84 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/active_voice_indicative_mood_perfect_tense_methods.rb +85 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/active_voice_indicative_mood_present_tense_methods.rb +84 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/active_voice_subjunctive_mood_imperfect_tense_methods.rb +85 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/active_voice_subjunctive_mood_pastperfect_tense_methods.rb +85 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/active_voice_subjunctive_mood_perfect_tense_methods.rb +85 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/active_voice_subjunctive_mood_present_tense_methods.rb +84 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/passive_voice_indicative_mood_future_tense_methods.rb +84 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/passive_voice_indicative_mood_futureperfect_tense_methods.rb +85 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/passive_voice_indicative_mood_imperfect_tense_methods.rb +85 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/passive_voice_indicative_mood_pastperfect_tense_methods.rb +85 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/passive_voice_indicative_mood_perfect_tense_methods.rb +86 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/passive_voice_indicative_mood_present_tense_methods.rb +85 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/passive_voice_subjunctive_mood_imperfect_tense_methods.rb +86 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/passive_voice_subjunctive_mood_pastperfect_tense_methods.rb +86 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/passive_voice_subjunctive_mood_perfect_tense_methods.rb +86 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular/tense_method_definitions/passive_voice_subjunctive_mood_present_tense_methods.rb +85 -0
- data/lib/latinverb_querent_for_classification_builder/querent/irregular.rb +61 -0
- data/lib/latinverb_querent_for_classification_builder/querent/querent_interface.rb +70 -0
- data/lib/latinverb_querent_for_classification_builder/querent/second/tense_method_definitions/active_voice_indicative_mood_future_tense_methods.rb +90 -0
- data/lib/latinverb_querent_for_classification_builder/querent/second/tense_method_definitions/active_voice_indicative_mood_imperfect_tense_methods.rb +90 -0
- data/lib/latinverb_querent_for_classification_builder/querent/second/tense_method_definitions/active_voice_indicative_mood_present_tense_methods.rb +92 -0
- data/lib/latinverb_querent_for_classification_builder/querent/second/tense_method_definitions/active_voice_subjunctive_mood_present_tense_methods.rb +94 -0
- data/lib/latinverb_querent_for_classification_builder/querent/second/tense_method_definitions/passive_voice_indicative_mood_future_tense_methods.rb +98 -0
- data/lib/latinverb_querent_for_classification_builder/querent/second/tense_method_definitions/passive_voice_indicative_mood_imperfect_tense_methods.rb +92 -0
- data/lib/latinverb_querent_for_classification_builder/querent/second/tense_method_definitions/passive_voice_indicative_mood_present_tense_methods.rb +93 -0
- data/lib/latinverb_querent_for_classification_builder/querent/second/tense_method_definitions/passive_voice_subjunctive_mood_present_tense_methods.rb +96 -0
- data/lib/latinverb_querent_for_classification_builder/querent/second.rb +26 -0
- data/lib/latinverb_querent_for_classification_builder/querent/third/tense_method_definitions/active_voice_indicative_mood_future_tense_methods.rb +90 -0
- data/lib/latinverb_querent_for_classification_builder/querent/third/tense_method_definitions/active_voice_indicative_mood_imperfect_tense_methods.rb +90 -0
- data/lib/latinverb_querent_for_classification_builder/querent/third/tense_method_definitions/active_voice_indicative_mood_present_tense_methods.rb +90 -0
- data/lib/latinverb_querent_for_classification_builder/querent/third/tense_method_definitions/active_voice_subjunctive_mood_present_tense_methods.rb +96 -0
- data/lib/latinverb_querent_for_classification_builder/querent/third/tense_method_definitions/passive_voice_indicative_mood_future_tense_methods.rb +93 -0
- data/lib/latinverb_querent_for_classification_builder/querent/third/tense_method_definitions/passive_voice_indicative_mood_imperfect_tense_methods.rb +92 -0
- data/lib/latinverb_querent_for_classification_builder/querent/third/tense_method_definitions/passive_voice_indicative_mood_present_tense_methods.rb +91 -0
- data/lib/latinverb_querent_for_classification_builder/querent/third/tense_method_definitions/passive_voice_subjunctive_mood_present_tense_methods.rb +94 -0
- data/lib/latinverb_querent_for_classification_builder/querent/third.rb +26 -0
- data/lib/latinverb_querent_for_classification_builder/querent/third_io/tense_method_definitions/active_voice_indicative_mood_future_tense_methods.rb +90 -0
- data/lib/latinverb_querent_for_classification_builder/querent/third_io/tense_method_definitions/active_voice_indicative_mood_imperfect_tense_methods.rb +90 -0
- data/lib/latinverb_querent_for_classification_builder/querent/third_io/tense_method_definitions/active_voice_indicative_mood_present_tense_methods.rb +90 -0
- data/lib/latinverb_querent_for_classification_builder/querent/third_io/tense_method_definitions/active_voice_subjunctive_mood_present_tense_methods.rb +96 -0
- data/lib/latinverb_querent_for_classification_builder/querent/third_io/tense_method_definitions/passive_voice_indicative_mood_future_tense_methods.rb +95 -0
- data/lib/latinverb_querent_for_classification_builder/querent/third_io/tense_method_definitions/passive_voice_indicative_mood_imperfect_tense_methods.rb +92 -0
- data/lib/latinverb_querent_for_classification_builder/querent/third_io/tense_method_definitions/passive_voice_indicative_mood_present_tense_methods.rb +96 -0
- data/lib/latinverb_querent_for_classification_builder/querent/third_io/tense_method_definitions/passive_voice_subjunctive_mood_present_tense_methods.rb +94 -0
- data/lib/latinverb_querent_for_classification_builder/querent/third_io.rb +26 -0
- data/lib/latinverb_querent_for_classification_builder/querent.rb +46 -0
- data/lib/latinverb_querent_for_classification_builder/querent_factory.rb +29 -0
- data/lib/latinverb_querent_for_classification_builder/querent_for_classification_builder.rb +28 -0
- data/lib/latinverb_querent_for_classification_builder/querent_for_classification_strategy/deponent.rb +46 -0
- data/lib/latinverb_querent_for_classification_builder/querent_for_classification_strategy/impersonal.rb +21 -0
- data/lib/latinverb_querent_for_classification_builder/querent_for_classification_strategy/irregular.rb +24 -0
- data/lib/latinverb_querent_for_classification_builder/querent_for_classification_strategy/present_only.rb +23 -0
- data/lib/latinverb_querent_for_classification_builder/querent_for_classification_strategy/regular.rb +30 -0
- data/lib/latinverb_querent_for_classification_builder/querent_for_classification_strategy/semideponent.rb +24 -0
- data/lib/latinverb_querent_for_classification_builder/querent_mutators/.DS_Store +0 -0
- data/lib/latinverb_querent_for_classification_builder/querent_mutators/irregular/supine_inferrer.rb +42 -0
- data/lib/latinverb_querent_for_classification_builder/querent_mutators/irregular.rb +37 -0
- data/lib/latinverb_querent_for_classification_builder/semideponent_querent_adapter/active_indicative_present_tense_methods.rb +85 -0
- data/lib/latinverb_querent_for_classification_builder/semideponent_querent_adapter/active_voice_indicative_mood_future_tense_methods.rb +85 -0
- data/lib/latinverb_querent_for_classification_builder/semideponent_querent_adapter/active_voice_indicative_mood_futureperfect_tense_methods.rb +83 -0
- data/lib/latinverb_querent_for_classification_builder/semideponent_querent_adapter/active_voice_indicative_mood_imperfect_tense_methods.rb +84 -0
- data/lib/latinverb_querent_for_classification_builder/semideponent_querent_adapter/active_voice_indicative_mood_pastperfect_tense_methods.rb +83 -0
- data/lib/latinverb_querent_for_classification_builder/semideponent_querent_adapter/active_voice_indicative_mood_perfect_tense_methods.rb +85 -0
- data/lib/latinverb_querent_for_classification_builder/semideponent_querent_adapter/active_voice_indicative_mood_present_tense_methods.rb +83 -0
- data/lib/latinverb_querent_for_classification_builder/semideponent_querent_adapter/active_voice_subjunctive_mood_imperfect_tense_methods.rb +85 -0
- data/lib/latinverb_querent_for_classification_builder/semideponent_querent_adapter/active_voice_subjunctive_mood_pastperfect_tense_methods.rb +83 -0
- data/lib/latinverb_querent_for_classification_builder/semideponent_querent_adapter/active_voice_subjunctive_mood_perfect_tense_methods.rb +83 -0
- data/lib/latinverb_querent_for_classification_builder/semideponent_querent_adapter/active_voice_subjunctive_mood_present_tense_methods.rb +84 -0
- data/lib/latinverb_querent_for_classification_builder/semideponent_querent_adapter/nullified_passive_voice_tense_blocks.rb +31 -0
- data/lib/latinverb_querent_for_classification_builder/semideponent_querent_adapter.rb +53 -0
- data/lib/latinverb_querent_for_classification_builder/tense_method_definitions/active_voice_imperative_mood_future_tense_methods.rb +87 -0
- data/lib/latinverb_querent_for_classification_builder/tense_method_definitions/active_voice_imperative_mood_present_tense_methods.rb +87 -0
- data/lib/latinverb_querent_for_classification_builder/tense_method_definitions/active_voice_indicative_mood_futureperfect_tense_methods.rb +88 -0
- data/lib/latinverb_querent_for_classification_builder/tense_method_definitions/active_voice_indicative_mood_pastperfect_tense_methods.rb +88 -0
- data/lib/latinverb_querent_for_classification_builder/tense_method_definitions/active_voice_indicative_mood_perfect_tense_methods.rb +89 -0
- data/lib/latinverb_querent_for_classification_builder/tense_method_definitions/active_voice_subjunctive_mood_imperfect_tense_methods.rb +89 -0
- data/lib/latinverb_querent_for_classification_builder/tense_method_definitions/active_voice_subjunctive_mood_pastperfect_tense_methods.rb +90 -0
- data/lib/latinverb_querent_for_classification_builder/tense_method_definitions/active_voice_subjunctive_mood_perfect_tense_methods.rb +90 -0
- data/lib/latinverb_querent_for_classification_builder/tense_method_definitions/passive_voice_indicative_mood_futureperfect_tense_methods.rb +87 -0
- data/lib/latinverb_querent_for_classification_builder/tense_method_definitions/passive_voice_indicative_mood_imperfect_tense_methods.rb +90 -0
- data/lib/latinverb_querent_for_classification_builder/tense_method_definitions/passive_voice_indicative_mood_pastperfect_tense_methods.rb +87 -0
- data/lib/latinverb_querent_for_classification_builder/tense_method_definitions/passive_voice_indicative_mood_perfect_tense_methods.rb +87 -0
- data/lib/latinverb_querent_for_classification_builder/tense_method_definitions/passive_voice_subjunctive_mood_pastperfect_tense_methods.rb +93 -0
- data/lib/latinverb_querent_for_classification_builder/tense_method_definitions/passive_voice_subjunctive_mood_perfect_tense_methods.rb +93 -0
- data/lib/latinverb_querent_for_classification_builder/version.rb +3 -0
- data/lib/latinverb_querent_for_classification_builder.rb +132 -0
- data/test/builder_test.rb +7 -0
- metadata +235 -0
@@ -0,0 +1,46 @@
|
|
1
|
+
#encoding: UTF-8
|
2
|
+
|
3
|
+
module Linguistics
|
4
|
+
module Latin
|
5
|
+
module Verb
|
6
|
+
class LatinVerb
|
7
|
+
class Querent
|
8
|
+
include Querent::QuerentInterface
|
9
|
+
TENSE_METHOD_DEFINITIONS = [
|
10
|
+
Querent::ActiveVoiceImperativeMoodFutureTenseMethods,
|
11
|
+
Querent::ActiveVoiceImperativeMoodPresentTenseMethods,
|
12
|
+
Querent::ActiveVoiceIndicativeMoodFutureperfectTenseMethods,
|
13
|
+
Querent::ActiveVoiceIndicativeMoodPastperfectTenseMethods,
|
14
|
+
Querent::ActiveVoiceIndicativeMoodPerfectTenseMethods,
|
15
|
+
Querent::ActiveVoiceSubjunctiveMoodImperfectTenseMethods,
|
16
|
+
Querent::ActiveVoiceSubjunctiveMoodPastPerfectTenseMethods,
|
17
|
+
Querent::ActiveVoiceSubjunctiveMoodPerfectTenseMethods,
|
18
|
+
Querent::PassiveVoiceIndicativeMoodFutureperfectTenseMethods,
|
19
|
+
Querent::PassiveVoiceIndicativeMoodPastperfectTenseMethods,
|
20
|
+
Querent::PassiveVoiceIndicativeMoodPerfectTMethods,
|
21
|
+
Querent::PassiveVoiceSubjunctiveMoodImperfectTenseMethods,
|
22
|
+
Querent::PassiveVoiceSubjunctiveMoodPastperfectTenseMethods,
|
23
|
+
Querent::PassiveVoiceSubjunctiveMoodPerfectTenseMethods
|
24
|
+
]
|
25
|
+
|
26
|
+
extend Forwardable
|
27
|
+
def_delegators :@verb, :stem, :imperatives, :first_person_singular, :first_person_perfect,
|
28
|
+
:present_active_infinitive, :passive_perfect_participle, :present_active_infinitive, :verb_type
|
29
|
+
|
30
|
+
def initialize(verb)
|
31
|
+
@verb = verb
|
32
|
+
@added_vectorized_methods = []
|
33
|
+
|
34
|
+
add_tense_methods!
|
35
|
+
end
|
36
|
+
|
37
|
+
def add_tense_methods!
|
38
|
+
collection = TENSE_METHOD_DEFINITIONS + tense_definitions_template
|
39
|
+
extend_with_tense_method_definitions!(collection)
|
40
|
+
register_methods!(collection)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Linguistics
|
2
|
+
module Latin
|
3
|
+
module Verb
|
4
|
+
class LatinVerb
|
5
|
+
class QuerentFactory
|
6
|
+
extend Forwardable
|
7
|
+
def_delegators :@verb, :short_type
|
8
|
+
|
9
|
+
|
10
|
+
MAPPING = {
|
11
|
+
First: FirstQuerent,
|
12
|
+
Second: SecondQuerent,
|
13
|
+
Third: ThirdQuerent,
|
14
|
+
ThirdIO: ThirdIOQuerent,
|
15
|
+
Fourth: FourthQuerent
|
16
|
+
}
|
17
|
+
|
18
|
+
def initialize(verb)
|
19
|
+
@verb = verb
|
20
|
+
end
|
21
|
+
|
22
|
+
def querent
|
23
|
+
MAPPING[short_type].new(@verb)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Linguistics
|
2
|
+
module Latin
|
3
|
+
module Verb
|
4
|
+
class LatinVerb
|
5
|
+
class QuerentForClassificationBuilder
|
6
|
+
extend Forwardable
|
7
|
+
def_delegators :@verb, :short_class
|
8
|
+
|
9
|
+
MAPPING = {
|
10
|
+
Regular: QuerentForClassificationStrategy::Regular,
|
11
|
+
Irregular: QuerentForClassificationStrategy::Irregular,
|
12
|
+
PresentOnly: QuerentForClassificationStrategy::PresentOnly,
|
13
|
+
Deponent: QuerentForClassificationStrategy::Deponent,
|
14
|
+
Semideponent: QuerentForClassificationStrategy::Semideponent,
|
15
|
+
Impersonal: QuerentForClassificationStrategy::Impersonal,
|
16
|
+
}
|
17
|
+
|
18
|
+
attr_reader :querent
|
19
|
+
|
20
|
+
def initialize(verb)
|
21
|
+
@verb = verb
|
22
|
+
@querent = MAPPING[short_class.to_sym].new(@verb).querent
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module Linguistics
|
2
|
+
module Latin
|
3
|
+
module Verb
|
4
|
+
class LatinVerb
|
5
|
+
class QuerentForClassificationBuilder
|
6
|
+
module QuerentForClassificationStrategy
|
7
|
+
class Deponent < Regular
|
8
|
+
extend Forwardable
|
9
|
+
def_delegators :@verb, :original_string
|
10
|
+
|
11
|
+
def initialize(verb)
|
12
|
+
super
|
13
|
+
prepare_deponent_proxy!
|
14
|
+
reroute_active_calls_to_proxys_passives!
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def prepare_deponent_proxy!
|
20
|
+
@querent.extend Forwardable
|
21
|
+
@querent.instance_variable_set(:@deponentProxy, LatinVerb.new(proxy_string, :proxy_verb => true))
|
22
|
+
end
|
23
|
+
|
24
|
+
def reroute_active_calls_to_proxys_passives!
|
25
|
+
passive_and_active_pairs do |passive_method_name, active_method_name|
|
26
|
+
@querent.def_delegator "@deponentProxy", passive_method_name, active_method_name
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def passive_and_active_pairs
|
31
|
+
LatinVerb::Querent::PASSIVE_TENSE_METHODS.map do |passive_method_name|
|
32
|
+
active_correlate = passive_method_name.to_s.sub(/^passive(.*)/, "active\\1")
|
33
|
+
yield passive_method_name, active_correlate
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def proxy_string
|
38
|
+
DeponentStringDeriver.new(original_string).proxy_string
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Linguistics
|
2
|
+
module Latin
|
3
|
+
module Verb
|
4
|
+
class LatinVerb
|
5
|
+
class QuerentForClassificationBuilder
|
6
|
+
module QuerentForClassificationStrategy
|
7
|
+
class Impersonal < Regular
|
8
|
+
def initialize(verb)
|
9
|
+
@verb = verb
|
10
|
+
end
|
11
|
+
|
12
|
+
def querent
|
13
|
+
ImpersonalQuerent.new(@verb).extend(ImpersonalVerbMixin)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Linguistics
|
2
|
+
module Latin
|
3
|
+
module Verb
|
4
|
+
class LatinVerb
|
5
|
+
class QuerentForClassificationBuilder
|
6
|
+
module QuerentForClassificationStrategy
|
7
|
+
class Irregular
|
8
|
+
extend Forwardable
|
9
|
+
def_delegators :@verb, :original_string, :passive_perfect_participle
|
10
|
+
|
11
|
+
attr_reader :querent
|
12
|
+
|
13
|
+
def initialize(verb)
|
14
|
+
@verb = verb
|
15
|
+
@builder = QuerentMutators::Irregular.new(original_string, passive_perfect_participle, @verb.original_string)
|
16
|
+
@querent = @builder.querent
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Linguistics
|
2
|
+
module Latin
|
3
|
+
module Verb
|
4
|
+
class LatinVerb
|
5
|
+
class QuerentForClassificationBuilder
|
6
|
+
module QuerentForClassificationStrategy
|
7
|
+
class PresentOnly < Regular
|
8
|
+
private
|
9
|
+
|
10
|
+
def post_initialize
|
11
|
+
eclipse_past_and_pastperfect_tenses!
|
12
|
+
end
|
13
|
+
|
14
|
+
def eclipse_past_and_pastperfect_tenses!
|
15
|
+
@querent.extend(PerfectAndPastperfectTenseBlockEclipser)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/lib/latinverb_querent_for_classification_builder/querent_for_classification_strategy/regular.rb
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
module Linguistics
|
2
|
+
module Latin
|
3
|
+
module Verb
|
4
|
+
class LatinVerb
|
5
|
+
class QuerentForClassificationBuilder
|
6
|
+
module QuerentForClassificationStrategy
|
7
|
+
class Regular
|
8
|
+
extend Forwardable
|
9
|
+
def_delegators :@querent, :defined_tense_methods
|
10
|
+
|
11
|
+
attr_reader :querent
|
12
|
+
|
13
|
+
def initialize(verb)
|
14
|
+
@verb = verb
|
15
|
+
@querent = QuerentFactory.new(@verb).querent
|
16
|
+
|
17
|
+
post_initialize
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def post_initialize
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
|
2
|
+
module Linguistics
|
3
|
+
module Latin
|
4
|
+
module Verb
|
5
|
+
class LatinVerb
|
6
|
+
class QuerentForClassificationBuilder
|
7
|
+
module QuerentForClassificationStrategy
|
8
|
+
class Semideponent < Regular
|
9
|
+
def post_initialize
|
10
|
+
override_default_querent!
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def override_default_querent!
|
16
|
+
@querent = SemideponentQuerentAdapter.new(@verb, @querent)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/lib/latinverb_querent_for_classification_builder/querent_mutators/irregular/supine_inferrer.rb
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
module Linguistics
|
2
|
+
module Latin
|
3
|
+
module Verb
|
4
|
+
class LatinVerb
|
5
|
+
module QuerentMutators
|
6
|
+
class Irregular
|
7
|
+
class SupineInferrer
|
8
|
+
def initialize(perfect_passive_participle)
|
9
|
+
@perfect_passive_participle = String(perfect_passive_participle)
|
10
|
+
end
|
11
|
+
|
12
|
+
def supine
|
13
|
+
return {} unless accusative_supine
|
14
|
+
{:ablative => ablative_supine, :accusative => accusative_supine}
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def ablative_supine
|
20
|
+
return @ablative_supine if @ablative_supine
|
21
|
+
return "" if ablative_supine_base.nil?
|
22
|
+
String(ablative_supine_base + "ū")
|
23
|
+
end
|
24
|
+
|
25
|
+
def ablative_supine_base
|
26
|
+
return nil if accusative_supine.nil?
|
27
|
+
String(accusative_supine.sub(/^(.*)u(m)$/, "\\1"))
|
28
|
+
end
|
29
|
+
|
30
|
+
def accusative_supine
|
31
|
+
split_participle_string = @perfect_passive_participle.split(/\s+/).first
|
32
|
+
return nil if split_participle_string.nil?
|
33
|
+
@accusative_supine ||= String(split_participle_string.sub(/s\z/,'m'))
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
@@ -0,0 +1,37 @@
|
|
1
|
+
#encoding: UTF-8
|
2
|
+
|
3
|
+
module Linguistics
|
4
|
+
module Latin
|
5
|
+
module Verb
|
6
|
+
class LatinVerb
|
7
|
+
module QuerentMutators
|
8
|
+
class Irregular
|
9
|
+
attr_reader :querent
|
10
|
+
|
11
|
+
def initialize(lookup_string, passive_perfect_participle, *args)
|
12
|
+
@structure = IrregularVerbDefinitionConsumer::JsonDeserializer.new(lookup_string).revivified_data_structure
|
13
|
+
@querent = LatinVerb::IrregularQuerent.new(@structure)
|
14
|
+
end
|
15
|
+
|
16
|
+
def imperative_handler
|
17
|
+
raw = @structure["tense_blocks"]
|
18
|
+
source = raw["active_voice_imperative_mood_present_tense"] || raw["active voice_imperative_mood_present_tense"]
|
19
|
+
raw = source["data"]
|
20
|
+
OpenStruct.new( :imperatives => [String(raw[1]).gsub(/\s+/,''), String(raw[4]).gsub(/\s+/,'')] )
|
21
|
+
end
|
22
|
+
|
23
|
+
def infinitivizer
|
24
|
+
OpenStruct.new(@structure['infinitives']['data'].merge(:participle_methods => @structure['participles']['data'].keys))
|
25
|
+
end
|
26
|
+
|
27
|
+
def participler
|
28
|
+
participles_data = @structure['participles']['data']
|
29
|
+
supine_data = SupineInferrer.new(participles_data["perfect_passive_participle"]).supine
|
30
|
+
OpenStruct.new(participles_data.merge({:supine => supine_data}))
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,85 @@
|
|
1
|
+
module Linguistics
|
2
|
+
module Latin
|
3
|
+
module Verb
|
4
|
+
class LatinVerb
|
5
|
+
class Querent
|
6
|
+
module MaskedActiveIndicativePresent
|
7
|
+
def active_voice_indicative_mood_present_tense
|
8
|
+
@proxyVerb.passive_voice_indicative_mood_present_tense
|
9
|
+
end
|
10
|
+
|
11
|
+
def active_voice_indicative_mood_present_tense_first_person_singular_number
|
12
|
+
@proxyVerb.passive_voice_indicative_mood_present_tense.first_person_singular_number
|
13
|
+
end
|
14
|
+
|
15
|
+
def active_voice_indicative_mood_present_tense_singular_number_first_person
|
16
|
+
@proxyVerb.passive_voice_indicative_mood_present_tense.singular_number_first_person
|
17
|
+
end
|
18
|
+
|
19
|
+
def active_voice_indicative_mood_present_tense_second_person_singular_number
|
20
|
+
@proxyVerb.passive_voice_indicative_mood_present_tense.second_person_singular_number
|
21
|
+
end
|
22
|
+
|
23
|
+
def active_voice_indicative_mood_present_tense_singular_number_second_person
|
24
|
+
@proxyVerb.passive_voice_indicative_mood_present_tense.singular_number_second_person
|
25
|
+
end
|
26
|
+
|
27
|
+
def active_voice_indicative_mood_present_tense_third_person_singular_number
|
28
|
+
@proxyVerb.passive_voice_indicative_mood_present_tense.third_person_singular_number
|
29
|
+
end
|
30
|
+
|
31
|
+
def active_voice_indicative_mood_present_tense_singular_number_third_person
|
32
|
+
@proxyVerb.passive_voice_indicative_mood_present_tense.singular_number_third_person
|
33
|
+
end
|
34
|
+
|
35
|
+
def active_voice_indicative_mood_present_tense_first_person_plural_number
|
36
|
+
@proxyVerb.passive_voice_indicative_mood_present_tense.first_person_plural_number
|
37
|
+
end
|
38
|
+
|
39
|
+
def active_voice_indicative_mood_present_tense_plural_number_first_person
|
40
|
+
@proxyVerb.passive_voice_indicative_mood_present_tense.plural_number_first_person
|
41
|
+
end
|
42
|
+
|
43
|
+
def active_voice_indicative_mood_present_tense_second_person_plural_number
|
44
|
+
@proxyVerb.passive_voice_indicative_mood_present_tense.second_person_plural_number
|
45
|
+
end
|
46
|
+
|
47
|
+
def active_voice_indicative_mood_present_tense_plural_number_second_person
|
48
|
+
@proxyVerb.passive_voice_indicative_mood_present_tense.plural_number_second_person
|
49
|
+
end
|
50
|
+
|
51
|
+
def active_voice_indicative_mood_present_tense_third_person_plural_number
|
52
|
+
@proxyVerb.passive_voice_indicative_mood_present_tense.third_person_plural_number
|
53
|
+
end
|
54
|
+
|
55
|
+
def active_voice_indicative_mood_present_tense_plural_number_third_person
|
56
|
+
@proxyVerb.passive_voice_indicative_mood_present_tense.plural_number_third_person
|
57
|
+
end
|
58
|
+
|
59
|
+
def active_voice_indicative_mood_present_tense_first_person
|
60
|
+
@proxyVerb.passive_voice_indicative_mood_present_tense.first_person
|
61
|
+
end
|
62
|
+
|
63
|
+
def active_voice_indicative_mood_present_tense_second_person
|
64
|
+
@proxyVerb.passive_voice_indicative_mood_present_tense.second_person
|
65
|
+
end
|
66
|
+
|
67
|
+
def active_voice_indicative_mood_present_tense_third_person
|
68
|
+
@proxyVerb.passive_voice_indicative_mood_present_tense.third_person
|
69
|
+
end
|
70
|
+
|
71
|
+
def active_voice_indicative_mood_present_tense_singular_number
|
72
|
+
@proxyVerb.passive_voice_indicative_mood_present_tense.singular_number
|
73
|
+
end
|
74
|
+
|
75
|
+
def active_voice_indicative_mood_present_tense_plural_number
|
76
|
+
@proxyVerb.passive_voice_indicative_mood_present_tense.plural_number
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
|
@@ -0,0 +1,85 @@
|
|
1
|
+
module Linguistics
|
2
|
+
module Latin
|
3
|
+
module Verb
|
4
|
+
class LatinVerb
|
5
|
+
class SemideponentQuerentAdapter
|
6
|
+
module ActiveVoiceIndicativeMoodFutureTenseMethods
|
7
|
+
def active_voice_indicative_mood_future_tense
|
8
|
+
@proxyVerb.active_voice_indicative_mood_future_tense
|
9
|
+
end
|
10
|
+
|
11
|
+
def active_voice_indicative_mood_future_tense_first_person_singular_number
|
12
|
+
@proxyVerb.active_voice_indicative_mood_future_tense.first_person_singular_number
|
13
|
+
end
|
14
|
+
|
15
|
+
def active_voice_indicative_mood_future_tense_singular_number_first_person
|
16
|
+
@proxyVerb.active_voice_indicative_mood_future_tense.singular_number_first_person
|
17
|
+
end
|
18
|
+
|
19
|
+
def active_voice_indicative_mood_future_tense_second_person_singular_number
|
20
|
+
@proxyVerb.active_voice_indicative_mood_future_tense.second_person_singular_number
|
21
|
+
end
|
22
|
+
|
23
|
+
def active_voice_indicative_mood_future_tense_singular_number_second_person
|
24
|
+
@proxyVerb.active_voice_indicative_mood_future_tense.singular_number_second_person
|
25
|
+
end
|
26
|
+
|
27
|
+
def active_voice_indicative_mood_future_tense_third_person_singular_number
|
28
|
+
@proxyVerb.active_voice_indicative_mood_future_tense.third_person_singular_number
|
29
|
+
end
|
30
|
+
|
31
|
+
def active_voice_indicative_mood_future_tense_singular_number_third_person
|
32
|
+
@proxyVerb.active_voice_indicative_mood_future_tense.singular_number_third_person
|
33
|
+
end
|
34
|
+
|
35
|
+
def active_voice_indicative_mood_future_tense_first_person_plural_number
|
36
|
+
@proxyVerb.active_voice_indicative_mood_future_tense.first_person_plural_number
|
37
|
+
end
|
38
|
+
|
39
|
+
def active_voice_indicative_mood_future_tense_plural_number_first_person
|
40
|
+
@proxyVerb.active_voice_indicative_mood_future_tense.plural_number_first_person
|
41
|
+
end
|
42
|
+
|
43
|
+
def active_voice_indicative_mood_future_tense_second_person_plural_number
|
44
|
+
@proxyVerb.active_voice_indicative_mood_future_tense.second_person_plural_number
|
45
|
+
end
|
46
|
+
|
47
|
+
def active_voice_indicative_mood_future_tense_plural_number_second_person
|
48
|
+
@proxyVerb.active_voice_indicative_mood_future_tense.plural_number_second_person
|
49
|
+
end
|
50
|
+
|
51
|
+
def active_voice_indicative_mood_future_tense_third_person_plural_number
|
52
|
+
@proxyVerb.active_voice_indicative_mood_future_tense.third_person_plural_number
|
53
|
+
end
|
54
|
+
|
55
|
+
def active_voice_indicative_mood_future_tense_plural_number_third_person
|
56
|
+
@proxyVerb.active_voice_indicative_mood_future_tense.plural_number_third_person
|
57
|
+
end
|
58
|
+
|
59
|
+
def active_voice_indicative_mood_future_tense_first_person
|
60
|
+
@proxyVerb.active_voice_indicative_mood_future_tense.first_person
|
61
|
+
end
|
62
|
+
|
63
|
+
def active_voice_indicative_mood_future_tense_second_person
|
64
|
+
@proxyVerb.active_voice_indicative_mood_future_tense.second_person
|
65
|
+
end
|
66
|
+
|
67
|
+
def active_voice_indicative_mood_future_tense_third_person
|
68
|
+
@proxyVerb.active_voice_indicative_mood_future_tense.third_person
|
69
|
+
end
|
70
|
+
|
71
|
+
def active_voice_indicative_mood_future_tense_singular_number
|
72
|
+
@proxyVerb.active_voice_indicative_mood_future_tense.singular_number
|
73
|
+
end
|
74
|
+
|
75
|
+
def active_voice_indicative_mood_future_tense_plural_number
|
76
|
+
@proxyVerb.active_voice_indicative_mood_future_tense.plural_number
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
|
@@ -0,0 +1,83 @@
|
|
1
|
+
module Linguistics
|
2
|
+
module Latin
|
3
|
+
module Verb
|
4
|
+
class LatinVerb
|
5
|
+
class SemideponentQuerentAdapter
|
6
|
+
module ActiveVoiceIndicativeMoodFutureperfectTenseMethods
|
7
|
+
def active_voice_indicative_mood_futureperfect_tense
|
8
|
+
@proxyVerb.passive_voice_indicative_mood_futureperfect_tense
|
9
|
+
end
|
10
|
+
|
11
|
+
def active_voice_indicative_mood_futureperfect_tense_first_person_singular_number
|
12
|
+
@proxyVerb.passive_voice_indicative_mood_futureperfect_tense.first_person_singular_number
|
13
|
+
end
|
14
|
+
|
15
|
+
def active_voice_indicative_mood_futureperfect_tense_singular_number_first_person
|
16
|
+
@proxyVerb.passive_voice_indicative_mood_futureperfect_tense.singular_number_first_person
|
17
|
+
end
|
18
|
+
|
19
|
+
def active_voice_indicative_mood_futureperfect_tense_second_person_singular_number
|
20
|
+
@proxyVerb.passive_voice_indicative_mood_futureperfect_tense.second_person_singular_number
|
21
|
+
end
|
22
|
+
|
23
|
+
def active_voice_indicative_mood_futureperfect_tense_singular_number_second_person
|
24
|
+
@proxyVerb.passive_voice_indicative_mood_futureperfect_tense.singular_number_second_person
|
25
|
+
end
|
26
|
+
|
27
|
+
def active_voice_indicative_mood_futureperfect_tense_third_person_singular_number
|
28
|
+
@proxyVerb.passive_voice_indicative_mood_futureperfect_tense.third_person_singular_number
|
29
|
+
end
|
30
|
+
|
31
|
+
def active_voice_indicative_mood_futureperfect_tense_singular_number_third_person
|
32
|
+
@proxyVerb.passive_voice_indicative_mood_futureperfect_tense.singular_number_third_person
|
33
|
+
end
|
34
|
+
|
35
|
+
def active_voice_indicative_mood_futureperfect_tense_first_person_plural_number
|
36
|
+
@proxyVerb.passive_voice_indicative_mood_futureperfect_tense.first_person_plural_number
|
37
|
+
end
|
38
|
+
|
39
|
+
def active_voice_indicative_mood_futureperfect_tense_plural_number_first_person
|
40
|
+
@proxyVerb.passive_voice_indicative_mood_futureperfect_tense.plural_number_first_person
|
41
|
+
end
|
42
|
+
|
43
|
+
def active_voice_indicative_mood_futureperfect_tense_second_person_plural_number
|
44
|
+
@proxyVerb.passive_voice_indicative_mood_futureperfect_tense.second_person_plural_number
|
45
|
+
end
|
46
|
+
|
47
|
+
def active_voice_indicative_mood_futureperfect_tense_plural_number_second_person
|
48
|
+
@proxyVerb.passive_voice_indicative_mood_futureperfect_tense.plural_number_second_person
|
49
|
+
end
|
50
|
+
|
51
|
+
def active_voice_indicative_mood_futureperfect_tense_third_person_plural_number
|
52
|
+
@proxyVerb.passive_voice_indicative_mood_futureperfect_tense.third_person_plural_number
|
53
|
+
end
|
54
|
+
|
55
|
+
def active_voice_indicative_mood_futureperfect_tense_plural_number_third_person
|
56
|
+
@proxyVerb.passive_voice_indicative_mood_futureperfect_tense.plural_number_third_person
|
57
|
+
end
|
58
|
+
|
59
|
+
def active_voice_indicative_mood_futureperfect_tense_first_person
|
60
|
+
@proxyVerb.passive_voice_indicative_mood_futureperfect_tense.first_person
|
61
|
+
end
|
62
|
+
|
63
|
+
def active_voice_indicative_mood_futureperfect_tense_second_person
|
64
|
+
@proxyVerb.passive_voice_indicative_mood_futureperfect_tense.second_person
|
65
|
+
end
|
66
|
+
|
67
|
+
def active_voice_indicative_mood_futureperfect_tense_third_person
|
68
|
+
@proxyVerb.passive_voice_indicative_mood_futureperfect_tense.third_person
|
69
|
+
end
|
70
|
+
|
71
|
+
def active_voice_indicative_mood_futureperfect_tense_singular_number
|
72
|
+
@proxyVerb.passive_voice_indicative_mood_futureperfect_tense.singular_number
|
73
|
+
end
|
74
|
+
|
75
|
+
def active_voice_indicative_mood_futureperfect_tense_plural_number
|
76
|
+
@proxyVerb.passive_voice_indicative_mood_futureperfect_tense.plural_number
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|