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
- def initialize(p_data = {}, p_logger = nil, p_grammar = {}, init_grammar = true, init_data = true, max_tokens_level = 5, p_automate_data = [])
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}")
@@ -1,5 +1,5 @@
1
1
  module PAStringProxy
2
- def to_s(p_options = nil)
2
+ def to_s(p_options = {})
3
3
  temp_data = get_data(p_options)
4
4
  if temp_data.is_a? Array
5
5
  raise "Can not put Array to String"
@@ -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
@@ -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: 25
4
+ hash: 1
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 1
9
- - 5
10
- version: 1.1.5
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-10 00:00:00 +01:00
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