0
@@ -7,7 +7,7 @@ module KeywordSearch
0
- # line
48 "lib/keyword_search.rl"
0
+ # line
53 "lib/keyword_search.rl"
0
def search(input_string, definition=nil, &block)
0
self._parser_actions = [
0
0, 1, 3, 1, 5, 1, 6, 2,
0
0, 2, 2, 1, 0, 3, 0, 2,
0
+ 4, 3, 1, 0, 4, 3, 1, 0,
0
@@ -42,8 +43,9 @@ class << self
0
private :_parser_key_offsets, :_parser_key_offsets=
0
self._parser_key_offsets = [
0
- 0, 0, 5, 8, 12, 15, 16, 17,
0
+ 0, 0, 6, 9, 14, 17, 18, 19,
0
+ 20, 24, 25, 29, 35, 37, 39, 41,
0
@@ -51,9 +53,13 @@ class << self
0
private :_parser_trans_keys, :_parser_trans_keys=
0
self._parser_trans_keys = [
0
- 0, 32, 34, 39, 58, 32, 34, 58,
0
- 32, 34, 39, 58, 32, 34, 58, 34,
0
+ 0, 32, 34, 39, 40, 58, 32, 34,
0
+ 58, 32, 34, 39, 40, 58, 32, 34,
0
+ 58, 34, 32, 39, 32, 34, 41, 58,
0
+ 41, 32, 34, 41, 58, 32, 34, 39,
0
+ 40, 41, 58, 34, 41, 32, 41, 32,
0
+ 34, 39, 41, 32, 39, 32, 34, 58,
0
@@ -61,8 +67,9 @@ class << self
0
private :_parser_single_lengths, :_parser_single_lengths=
0
self._parser_single_lengths = [
0
- 0, 5, 3, 4, 3, 1, 1, 1,
0
+ 0, 6, 3, 5, 3, 1, 1, 1,
0
+ 4, 1, 4, 6, 2, 2, 2, 2,
0
@@ -71,7 +78,8 @@ class << self
0
self._parser_range_lengths = [
0
0, 0, 0, 0, 0, 0, 0, 0,
0
+ 0, 0, 0, 0, 0, 0, 0, 0,
0
@@ -79,8 +87,9 @@ class << self
0
private :_parser_index_offsets, :_parser_index_offsets=
0
self._parser_index_offsets = [
0
- 0, 0, 6, 10, 15, 19, 21, 23,
0
+ 0, 0, 7, 11, 17, 21, 23, 25,
0
+ 27, 32, 34, 39, 46, 49, 52, 55,
0
@@ -88,10 +97,15 @@ class << self
0
private :_parser_trans_targs_wi, :_parser_trans_targs_wi=
0
self._parser_trans_targs_wi = [
0
- 8, 0, 5, 7, 0, 2, 1, 0,
0
- 3, 2, 0, 5, 7, 0, 4, 1,
0
- 0, 0, 4, 6, 5, 1, 0, 6,
0
+ 17, 0, 5, 7, 10, 0, 2, 1,
0
+ 0, 3, 2, 0, 5, 7, 8, 0,
0
+ 4, 1, 0, 0, 4, 6, 5, 1,
0
+ 0, 6, 7, 9, 9, 4, 9, 8,
0
+ 6, 9, 9, 9, 2, 11, 10, 9,
0
+ 12, 15, 8, 4, 9, 8, 13, 14,
0
+ 12, 9, 6, 9, 5, 6, 5, 13,
0
+ 16, 15, 7, 6, 7, 1, 0, 3,
0
@@ -99,10 +113,15 @@ class << self
0
private :_parser_trans_actions_wi, :_parser_trans_actions_wi=
0
self._parser_trans_actions_wi = [
0
- 7, 5, 13, 13, 5, 7, 1, 0,
0
- 0, 0, 0, 17, 17, 0, 10, 1,
0
- 0, 0, 0, 3, 0, 1, 0, 3,
0
+ 7, 5, 13, 13, 13, 5, 7, 1,
0
+ 0, 0, 0, 0, 17, 17, 17, 0,
0
+ 10, 1, 0, 0, 0, 3, 0, 1,
0
+ 0, 3, 0, 1, 0, 3, 0, 0,
0
+ 3, 0, 1, 0, 3, 0, 0, 0,
0
+ 17, 17, 17, 21, 0, 10, 3, 3,
0
+ 0, 1, 3, 0, 1, 3, 0, 3,
0
+ 3, 0, 1, 3, 0, 1, 0, 0,
0
@@ -112,7 +131,7 @@ self.parser_start = 1;
0
attr_accessor :parser_first_final
0
-self.parser_first_final =
8;
0
+self.parser_first_final =
17;
0
attr_accessor :parser_error
0
@@ -123,7 +142,7 @@ class << self
0
self.parser_en_main = 1;
0
-# line
66 "lib/keyword_search.rl"
0
+# line
71 "lib/keyword_search.rl"
0
@@ -131,15 +150,13 @@ self.parser_en_main = 1;
0
-# line 1
35 "lib/keyword_search.rb"
0
+# line 1
54 "lib/keyword_search.rb"
0
-# line 7
3 "lib/keyword_search.rl"
0
+# line 7
8 "lib/keyword_search.rl"
0
-# line 1
43 "lib/keyword_search.rb"
0
+# line 1
60 "lib/keyword_search.rb"
0
_klen, _trans, _keys, _acts, _nacts = nil
0
@@ -233,26 +250,30 @@ when 3:
0
value = data[tokstart..p-1]
0
- value = value[1..-2] if ["'", '"'].include?(value[0,1])
0
+ if ["("].include?(value[0,1])
0
+ value = parse(value[1..-2])[:default]
0
+ elsif ["'", '"'].include?(value[0,1])
0
(results[key || :default] ||= []) << value
0
# line 26 "lib/keyword_search.rl"
0
-# line 3
2 "lib/keyword_search.rl"
0
+# line 3
6 "lib/keyword_search.rl"
0
-# line 3
2 "lib/keyword_search.rl"
0
+# line 3
6 "lib/keyword_search.rl"
0
-# line 3
4 "lib/keyword_search.rl"
0
+# line 3
8 "lib/keyword_search.rl"
0
-# line 3
4 "lib/keyword_search.rl"
0
+# line 3
8 "lib/keyword_search.rl"
0
-# line
46 "lib/keyword_search.rl"
0
+# line
51 "lib/keyword_search.rl"
0
raise ParseError, "At offset #{p}, near: '#{data[p,10]}'" end
0
-# line 46 "lib/keyword_search.rl"
0
-# line 256 "lib/keyword_search.rb"
0
+# line 51 "lib/keyword_search.rl"
0
+# line 277 "lib/keyword_search.rb"
0
@@ -264,10 +285,10 @@ when 6:
0
-# line 7
4 "lib/keyword_search.rl"
0
+# line 7
9 "lib/keyword_search.rl"
0
-# line 270 "lib/keyword_search.rb"
0
-# line 75 "lib/keyword_search.rl"
0
+# line 291 "lib/keyword_search.rb"
0
+# line 80 "lib/keyword_search.rl"
0
raise ParseError, "Unclosed quotes"
Comments
No one has commented yet.