phrase_assembler 1.1.5 → 1.1.9
Sign up to get free protection for your applications and to get access to all the features.
@@ -5,12 +5,15 @@ class PACompositeProxy < PAAutomateProxy
|
|
5
5
|
include PAStringProxy
|
6
6
|
include PACacheProxy
|
7
7
|
|
8
|
-
|
8
|
+
attr_accessor :proxy_cache
|
9
|
+
|
10
|
+
def initialize(p_proxy_cache, p_data = {}, p_logger = nil, p_grammar = {}, init_grammar = true, init_data = true, max_tokens_level = 5, p_automate_data = [])
|
11
|
+
self.proxy_cache = p_proxy_cache
|
9
12
|
super(p_data, p_logger, p_grammar, init_grammar, init_data, max_tokens_level, p_automate_data)
|
10
13
|
end
|
11
14
|
|
12
15
|
def new_instance(p_data)
|
13
|
-
return self.class.new(p_data, self.logger, self.grammar, false, false, self.max_tokens_level, self.automate_data)
|
16
|
+
return self.class.new(self.proxy_cache, p_data, self.logger, self.grammar, false, false, self.max_tokens_level, self.automate_data)
|
14
17
|
end
|
15
18
|
|
16
19
|
@@proxy_cache = {}
|
@@ -18,10 +21,10 @@ class PACompositeProxy < PAAutomateProxy
|
|
18
21
|
@@proxy_cache
|
19
22
|
end
|
20
23
|
|
21
|
-
def set_uncacheable_args(p_data = {}, p_logger = nil, p_grammar = {}, init_grammar = true, init_data = true, max_tokens_level = 5, p_automate_data = [])
|
24
|
+
def set_uncacheable_args(p_proxy_cache, p_data = {}, p_logger = nil, p_grammar = {}, init_grammar = true, init_data = true, max_tokens_level = 5, p_automate_data = [])
|
22
25
|
end
|
23
26
|
|
24
|
-
def self.cache_id(p_data = {}, logger = nil, options = {}, grammar = {}, init_grammar = true, init_data = true, max_tokens_level = 5, p_automate_data = [])
|
27
|
+
def self.cache_id(p_proxy_cache, p_data = {}, logger = nil, options = {}, grammar = {}, init_grammar = true, init_data = true, max_tokens_level = 5, p_automate_data = [])
|
25
28
|
if p_data.nil?
|
26
29
|
return nil
|
27
30
|
else
|
@@ -65,6 +65,7 @@ class PALangProxy < PATokenProxy
|
|
65
65
|
end
|
66
66
|
|
67
67
|
values = clear_token[/\?.+/][1..-1].split(':')
|
68
|
+
|
68
69
|
if p_options.options_hash.has_key?(options_key.to_sym)
|
69
70
|
if opt_params.nil?
|
70
71
|
grammar_value = p_options.options_hash[options_key.to_sym].send(:"get_#{grammar_key}")
|
@@ -0,0 +1,39 @@
|
|
1
|
+
class PAUserProxy
|
2
|
+
attr_accessor :user
|
3
|
+
attr_accessor :proxy
|
4
|
+
def initialize(p_user, p_proxy = nil)
|
5
|
+
self.user = p_user
|
6
|
+
self.proxy = p_proxy
|
7
|
+
end
|
8
|
+
|
9
|
+
def to_s(options = {})
|
10
|
+
puts self.proxy.inspect
|
11
|
+
self.proxy.to_s(options)
|
12
|
+
end
|
13
|
+
|
14
|
+
def method_missing(sym, *args, &block)
|
15
|
+
i = 0
|
16
|
+
options_found = false
|
17
|
+
while !options_found and i < args.length
|
18
|
+
if args[i].is_a? Hash
|
19
|
+
options_found = true
|
20
|
+
args[i][:default] = self.user
|
21
|
+
end
|
22
|
+
i = i + 1
|
23
|
+
end
|
24
|
+
|
25
|
+
return_proxy_or_value(self.proxy.method_missing(sym, *args, &block))
|
26
|
+
end
|
27
|
+
|
28
|
+
def [](index)
|
29
|
+
return_proxy_or_value(self.proxy[index])
|
30
|
+
end
|
31
|
+
|
32
|
+
def return_proxy_or_value(p_proxy)
|
33
|
+
if p_proxy.is_a? self.proxy.class
|
34
|
+
return self.class.new(self.user, p_proxy)
|
35
|
+
else
|
36
|
+
return p_proxy
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
data/lib/phrase_assembler.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
$:.unshift File.expand_path(File.dirname(__FILE__))
|
2
2
|
require 'pa_proxies/pa_composite_proxy'
|
3
|
+
require 'pa_proxies/pa_user_proxy'
|
3
4
|
module PhraseAssembler
|
4
5
|
def supress_errors
|
5
6
|
@@supress_errors
|
@@ -75,6 +76,22 @@ module PhraseAssembler
|
|
75
76
|
def self._automate_data=(value)
|
76
77
|
self.send(:class_variable_set, :@@_automate_data, value)
|
77
78
|
end
|
79
|
+
|
80
|
+
def self._max_tokens_level
|
81
|
+
self.send(:class_variable_get, :@@_max_tokens_level)
|
82
|
+
end
|
83
|
+
|
84
|
+
def self._max_tokens_level=(value)
|
85
|
+
self.send(:class_variable_set, :@@_max_tokens_level, value)
|
86
|
+
end
|
87
|
+
|
88
|
+
def self._proxy_cache
|
89
|
+
self.send(:class_variable_get, :@@_proxy_cache)
|
90
|
+
end
|
91
|
+
|
92
|
+
def self._proxy_cache=(value)
|
93
|
+
self.send(:class_variable_set, :@@_proxy_cache, value)
|
94
|
+
end
|
78
95
|
end
|
79
96
|
end
|
80
97
|
|
@@ -88,8 +105,10 @@ module PhraseAssembler
|
|
88
105
|
self._languages_files_path = (options[:languages_files_path] || File.join(::Rails.root.to_s, 'app', 'yaml', 'languages'))
|
89
106
|
self._logger = (options[:logger] || RAILS_DEFAULT_LOGGER)
|
90
107
|
self._automate_data = (options[:automate_data] || [:pages, "controller", "action"])
|
108
|
+
self._max_tokens_level = (options[:max_tokens_level] || 5)
|
91
109
|
|
92
110
|
self._proxies = {}
|
111
|
+
self._proxy_cache = {}
|
93
112
|
|
94
113
|
send :include, InstanceMethods
|
95
114
|
end
|
@@ -102,16 +121,17 @@ module PhraseAssembler
|
|
102
121
|
t_pref_language = self.send(self.class._fields[:pref_language])
|
103
122
|
t_pref_language = self.class._default_pref_language if (t_pref_language.nil? or t_pref_language.empty?)
|
104
123
|
if self.class._proxies[t_pref_language].nil?
|
105
|
-
self.class._proxies[t_pref_language] = PACompositeProxy.new(nil, self.class._logger)
|
124
|
+
self.class._proxies[t_pref_language] = PACompositeProxy.new(self.class._proxy_cache, nil, self.class._logger, {}, false, false, self.class._max_tokens_level)
|
106
125
|
self.class._proxies[t_pref_language].load(File.join(self.class._languages_files_path, self.class._languages[t_pref_language]) )
|
107
126
|
self.class._proxies[t_pref_language].load_grammar(File.join(self.class._languages_files_path, self.class._grammars[t_pref_language]))
|
108
127
|
self.class._proxies[t_pref_language].automate_data = self.class._automate_data
|
109
128
|
end
|
110
129
|
if params == {}
|
111
|
-
self.class._proxies[t_pref_language]
|
130
|
+
proxy = self.class._proxies[t_pref_language]
|
112
131
|
else
|
113
|
-
self.class._proxies[t_pref_language].auto(params)
|
132
|
+
proxy = self.class._proxies[t_pref_language].auto(params)
|
114
133
|
end
|
134
|
+
return PAUserProxy.new(self, proxy)
|
115
135
|
end
|
116
136
|
|
117
137
|
def get_sex
|
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: 1
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 1.1.
|
9
|
+
- 9
|
10
|
+
version: 1.1.9
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- "Lovro \xC5\xBDmak, Radan Skori\xC4\x87, Drap"
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-02-
|
18
|
+
date: 2011-02-11 00:00:00 +01:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -52,6 +52,7 @@ files:
|
|
52
52
|
- lib/pa_proxies/pa_proxy_data.rb
|
53
53
|
- lib/pa_proxies/pa_string_proxy.rb
|
54
54
|
- lib/pa_proxies/pa_token_proxy.rb
|
55
|
+
- lib/pa_proxies/pa_user_proxy.rb
|
55
56
|
- lib/phrase_assembler.rb
|
56
57
|
- lib/utils/hash_add_on.rb
|
57
58
|
- lib/utils/r_array.rb
|