phrase_assembler 1.2.4 → 1.2.5
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/lib/pa_proxies/pa_error_proxy.rb +13 -0
- data/lib/pa_proxies/pa_user_proxy.rb +62 -21
- data/lib/phrase_assembler.rb +33 -15
- metadata +4 -3
@@ -1,46 +1,87 @@
|
|
1
|
+
require 'pa_proxies/pa_error_proxy'
|
1
2
|
class PAUserProxy
|
2
3
|
attr_accessor :user
|
3
4
|
attr_accessor :proxy
|
4
|
-
|
5
|
+
attr_accessor :supress_errors
|
6
|
+
attr_accessor :logger
|
7
|
+
|
8
|
+
def initialize(p_user, p_proxy = nil, p_supress_errors = true, p_logger = nil)
|
5
9
|
self.user = p_user
|
6
10
|
self.proxy = p_proxy
|
11
|
+
self.supress_errors = p_supress_errors
|
12
|
+
self.logger = p_logger
|
7
13
|
end
|
8
14
|
|
9
15
|
def to_s(options = {})
|
10
|
-
|
11
|
-
|
16
|
+
begin
|
17
|
+
options = {:default => @user}.merge(options)
|
18
|
+
self.proxy.to_s(options)
|
19
|
+
rescue Exception => e
|
20
|
+
if self.supress_errors
|
21
|
+
self.logger.error "Phrase: #{e}" unless self.logger.nil?
|
22
|
+
return PAErrorProxy.new("")
|
23
|
+
else
|
24
|
+
raise(e)
|
25
|
+
end
|
26
|
+
end
|
12
27
|
end
|
13
28
|
|
14
29
|
def method_missing(sym, *args, &block)
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
30
|
+
begin
|
31
|
+
if args[0].is_a? Hash
|
32
|
+
options = args.delete_at(0)
|
33
|
+
end_proxy = self.proxy.method_missing(sym, *args, &block)
|
34
|
+
options[:default] = self.user
|
35
|
+
if end_proxy.data.is_a? Array
|
36
|
+
return end_proxy.collect{|proxy| proxy.to_s(options)}
|
37
|
+
else
|
38
|
+
return end_proxy.to_s(options)
|
39
|
+
end
|
21
40
|
else
|
22
|
-
|
41
|
+
proxy = self.proxy.method_missing(sym, *args, &block)
|
42
|
+
if proxy.data.is_a? String
|
43
|
+
return proxy.to_s({:default => self.user})
|
44
|
+
else
|
45
|
+
return self.class.new(self.user, proxy, self.supress_errors)
|
46
|
+
end
|
23
47
|
end
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
return
|
48
|
+
rescue Exception => e
|
49
|
+
if self.supress_errors
|
50
|
+
self.logger.error "Phrase: #{e}" unless self.logger.nil?
|
51
|
+
return PAErrorProxy.new("")
|
28
52
|
else
|
29
|
-
|
53
|
+
raise(e)
|
30
54
|
end
|
31
55
|
end
|
32
56
|
end
|
33
57
|
|
34
58
|
def length
|
35
|
-
|
59
|
+
begin
|
60
|
+
return self.proxy.length
|
61
|
+
rescue Exception => e
|
62
|
+
if self.supress_errors
|
63
|
+
return 0
|
64
|
+
else
|
65
|
+
raise(e)
|
66
|
+
end
|
67
|
+
end
|
36
68
|
end
|
37
69
|
|
38
70
|
def [](index)
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
71
|
+
begin
|
72
|
+
proxy = self.proxy[index]
|
73
|
+
if proxy.data.is_a? String
|
74
|
+
return proxy.to_s(:default => @user)
|
75
|
+
else
|
76
|
+
return self.class.new(self.user, proxy, self.supress_errors)
|
77
|
+
end
|
78
|
+
rescue Exception => e
|
79
|
+
if self.supress_errors
|
80
|
+
self.logger.error "Phrase: #{e}" unless self.logger.nil?
|
81
|
+
return PAErrorProxy.new("")
|
82
|
+
else
|
83
|
+
raise(e)
|
84
|
+
end
|
44
85
|
end
|
45
86
|
end
|
46
87
|
|
data/lib/phrase_assembler.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
$:.unshift File.expand_path(File.dirname(__FILE__))
|
2
2
|
require 'pa_proxies/pa_composite_proxy'
|
3
3
|
require 'pa_proxies/pa_user_proxy'
|
4
|
+
require 'pa_proxies/pa_error_proxy'
|
4
5
|
module PhraseAssembler
|
6
|
+
@@supress_errors = true
|
5
7
|
def supress_errors
|
6
8
|
@@supress_errors
|
7
9
|
end
|
@@ -118,24 +120,40 @@ module PhraseAssembler
|
|
118
120
|
attr_reader :phrase
|
119
121
|
|
120
122
|
def phrase(params = {})
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
self.class._proxies[t_pref_language]
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
123
|
+
begin
|
124
|
+
t_pref_language = self.send(self.class._fields[:pref_language])
|
125
|
+
t_pref_language = self.class._default_pref_language if (t_pref_language.nil? or t_pref_language.empty?)
|
126
|
+
if self.class._proxies[t_pref_language].nil?
|
127
|
+
self.class._proxies[t_pref_language] = PACompositeProxy.new(self.class._proxy_cache, nil, self.class._logger, {}, false, false, self.class._max_tokens_level)
|
128
|
+
self.class._proxies[t_pref_language].load(File.join(self.class._languages_files_path, self.class._languages[t_pref_language]) )
|
129
|
+
self.class._proxies[t_pref_language].load_grammar(File.join(self.class._languages_files_path, self.class._grammars[t_pref_language]))
|
130
|
+
self.class._proxies[t_pref_language].automate_data = self.class._automate_data
|
131
|
+
end
|
132
|
+
if params == {}
|
133
|
+
proxy = self.class._proxies[t_pref_language]
|
134
|
+
else
|
135
|
+
proxy = self.class._proxies[t_pref_language].auto(params)
|
136
|
+
end
|
137
|
+
return PAUserProxy.new(self, proxy, PhraseAssembler.supress_errors)
|
138
|
+
rescue Exception => e
|
139
|
+
if PhraseAssembler.supress_errors
|
140
|
+
return PAErrorProxy.new("")
|
141
|
+
else
|
142
|
+
raise e
|
143
|
+
end
|
144
|
+
end
|
135
145
|
end
|
136
146
|
|
137
147
|
def get_sex
|
138
|
-
|
148
|
+
begin
|
149
|
+
self.send(self.class._fields[:sex])
|
150
|
+
rescue Exception => e
|
151
|
+
if PhraseAssembler.supress_errors
|
152
|
+
return :default
|
153
|
+
else
|
154
|
+
raise e
|
155
|
+
end
|
156
|
+
end
|
139
157
|
end
|
140
158
|
end
|
141
159
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: phrase_assembler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 21
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 1.2.
|
9
|
+
- 5
|
10
|
+
version: 1.2.5
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- "Lovro \xC5\xBDmak, Radan Skori\xC4\x87, Drap"
|
@@ -46,6 +46,7 @@ files:
|
|
46
46
|
- lib/pa_proxies/pa_automate_proxy.rb
|
47
47
|
- lib/pa_proxies/pa_cache_proxy.rb
|
48
48
|
- lib/pa_proxies/pa_composite_proxy.rb
|
49
|
+
- lib/pa_proxies/pa_error_proxy.rb
|
49
50
|
- lib/pa_proxies/pa_lang_proxy.rb
|
50
51
|
- lib/pa_proxies/pa_link_proxy.rb
|
51
52
|
- lib/pa_proxies/pa_proxy.rb
|