phrase_assembler 1.1.5 → 1.1.9
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.
@@ -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
|