aws-codedeploy-agent 0.0.3 → 0.0.4
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/CHANGES.md +4 -0
- data/aws-codedeploy-agent.gemspec +7 -9
- metadata +41 -68
- data/vendor/gems/jmespath-1.0.1/lib/jmespath.rb +0 -41
- data/vendor/gems/jmespath-1.0.1/lib/jmespath/caching_parser.rb +0 -30
- data/vendor/gems/jmespath-1.0.1/lib/jmespath/errors.rb +0 -17
- data/vendor/gems/jmespath-1.0.1/lib/jmespath/expr_node.rb +0 -15
- data/vendor/gems/jmespath-1.0.1/lib/jmespath/lexer.rb +0 -116
- data/vendor/gems/jmespath-1.0.1/lib/jmespath/parser.rb +0 -347
- data/vendor/gems/jmespath-1.0.1/lib/jmespath/runtime.rb +0 -71
- data/vendor/gems/jmespath-1.0.1/lib/jmespath/token.rb +0 -41
- data/vendor/gems/jmespath-1.0.1/lib/jmespath/token_stream.rb +0 -60
- data/vendor/gems/jmespath-1.0.1/lib/jmespath/tree_interpreter.rb +0 -523
- data/vendor/gems/jmespath-1.0.1/lib/jmespath/version.rb +0 -3
data/CHANGES.md
CHANGED
@@ -5,7 +5,7 @@ $:.push File.expand_path("../vendor/gems/process_manager/lib", __FILE__)
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = 'aws-codedeploy-agent'
|
8
|
-
s.version = '0.0.
|
8
|
+
s.version = '0.0.4'
|
9
9
|
s.license = 'Apache-2.0'
|
10
10
|
s.summary = 'AWS CodeDeploy Agent'
|
11
11
|
s.description = 'CodeDeploy Agent is responsible for doing the actual work of deploying software on an individual EC2 instance.'
|
@@ -21,19 +21,17 @@ Gem::Specification.new do |s|
|
|
21
21
|
s.executables = s.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
22
22
|
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
23
23
|
|
24
|
-
s.add_dependency('json_pure', '~> 1.6')
|
25
|
-
s.add_dependency('rubyzip', '~> 1.1.0')
|
26
|
-
s.add_dependency('httpclient')
|
27
|
-
s.add_dependency('rake')
|
28
24
|
s.add_dependency('archive-tar-minitar', '~> 0.5.2')
|
29
|
-
|
30
|
-
s.add_dependency('gli', '~> 2.5')
|
31
25
|
s.add_dependency('aws-sdk-core', '~> 2.0.42')
|
32
26
|
s.add_dependency('builder', '~> 3.2.2')
|
33
|
-
s.add_dependency('gli', '~> 2.5
|
27
|
+
s.add_dependency('gli', '~> 2.5')
|
28
|
+
s.add_dependency('httpclient')
|
29
|
+
s.add_dependency('json_pure', '~> 1.6')
|
34
30
|
s.add_dependency('little-plugger', '~> 1.1.3')
|
35
|
-
s.add_dependency('logging', '~> 1.8
|
31
|
+
s.add_dependency('logging', '~> 1.8')
|
36
32
|
s.add_dependency('multi_json', '~> 1.8.4')
|
37
33
|
s.add_dependency('multi_xml', '~> 0.5.5')
|
34
|
+
s.add_dependency('rake', '~> 0.9')
|
35
|
+
s.add_dependency('rubyzip', '~> 1.1.0')
|
38
36
|
s.add_dependency('simple_pid', '~> 0.2.1')
|
39
37
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-codedeploy-agent
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,13 +13,13 @@ cert_chain: []
|
|
13
13
|
date: 2015-07-15 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
|
-
name:
|
16
|
+
name: archive-tar-minitar
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
22
|
+
version: 0.5.2
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -27,15 +27,15 @@ dependencies:
|
|
27
27
|
requirements:
|
28
28
|
- - ~>
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
version:
|
30
|
+
version: 0.5.2
|
31
31
|
- !ruby/object:Gem::Dependency
|
32
|
-
name:
|
32
|
+
name: aws-sdk-core
|
33
33
|
requirement: !ruby/object:Gem::Requirement
|
34
34
|
none: false
|
35
35
|
requirements:
|
36
36
|
- - ~>
|
37
37
|
- !ruby/object:Gem::Version
|
38
|
-
version:
|
38
|
+
version: 2.0.42
|
39
39
|
type: :runtime
|
40
40
|
prerelease: false
|
41
41
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -43,47 +43,31 @@ dependencies:
|
|
43
43
|
requirements:
|
44
44
|
- - ~>
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
47
|
-
- !ruby/object:Gem::Dependency
|
48
|
-
name: httpclient
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
|
-
requirements:
|
52
|
-
- - ! '>='
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
|
-
type: :runtime
|
56
|
-
prerelease: false
|
57
|
-
version_requirements: !ruby/object:Gem::Requirement
|
58
|
-
none: false
|
59
|
-
requirements:
|
60
|
-
- - ! '>='
|
61
|
-
- !ruby/object:Gem::Version
|
62
|
-
version: '0'
|
46
|
+
version: 2.0.42
|
63
47
|
- !ruby/object:Gem::Dependency
|
64
|
-
name:
|
48
|
+
name: builder
|
65
49
|
requirement: !ruby/object:Gem::Requirement
|
66
50
|
none: false
|
67
51
|
requirements:
|
68
|
-
- -
|
52
|
+
- - ~>
|
69
53
|
- !ruby/object:Gem::Version
|
70
|
-
version:
|
54
|
+
version: 3.2.2
|
71
55
|
type: :runtime
|
72
56
|
prerelease: false
|
73
57
|
version_requirements: !ruby/object:Gem::Requirement
|
74
58
|
none: false
|
75
59
|
requirements:
|
76
|
-
- -
|
60
|
+
- - ~>
|
77
61
|
- !ruby/object:Gem::Version
|
78
|
-
version:
|
62
|
+
version: 3.2.2
|
79
63
|
- !ruby/object:Gem::Dependency
|
80
|
-
name:
|
64
|
+
name: gli
|
81
65
|
requirement: !ruby/object:Gem::Requirement
|
82
66
|
none: false
|
83
67
|
requirements:
|
84
68
|
- - ~>
|
85
69
|
- !ruby/object:Gem::Version
|
86
|
-
version:
|
70
|
+
version: '2.5'
|
87
71
|
type: :runtime
|
88
72
|
prerelease: false
|
89
73
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -91,31 +75,31 @@ dependencies:
|
|
91
75
|
requirements:
|
92
76
|
- - ~>
|
93
77
|
- !ruby/object:Gem::Version
|
94
|
-
version:
|
78
|
+
version: '2.5'
|
95
79
|
- !ruby/object:Gem::Dependency
|
96
|
-
name:
|
80
|
+
name: httpclient
|
97
81
|
requirement: !ruby/object:Gem::Requirement
|
98
82
|
none: false
|
99
83
|
requirements:
|
100
|
-
- -
|
84
|
+
- - ! '>='
|
101
85
|
- !ruby/object:Gem::Version
|
102
|
-
version: '
|
86
|
+
version: '0'
|
103
87
|
type: :runtime
|
104
88
|
prerelease: false
|
105
89
|
version_requirements: !ruby/object:Gem::Requirement
|
106
90
|
none: false
|
107
91
|
requirements:
|
108
|
-
- -
|
92
|
+
- - ! '>='
|
109
93
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
94
|
+
version: '0'
|
111
95
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
96
|
+
name: json_pure
|
113
97
|
requirement: !ruby/object:Gem::Requirement
|
114
98
|
none: false
|
115
99
|
requirements:
|
116
100
|
- - ~>
|
117
101
|
- !ruby/object:Gem::Version
|
118
|
-
version:
|
102
|
+
version: '1.6'
|
119
103
|
type: :runtime
|
120
104
|
prerelease: false
|
121
105
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -123,15 +107,15 @@ dependencies:
|
|
123
107
|
requirements:
|
124
108
|
- - ~>
|
125
109
|
- !ruby/object:Gem::Version
|
126
|
-
version:
|
110
|
+
version: '1.6'
|
127
111
|
- !ruby/object:Gem::Dependency
|
128
|
-
name:
|
112
|
+
name: little-plugger
|
129
113
|
requirement: !ruby/object:Gem::Requirement
|
130
114
|
none: false
|
131
115
|
requirements:
|
132
116
|
- - ~>
|
133
117
|
- !ruby/object:Gem::Version
|
134
|
-
version:
|
118
|
+
version: 1.1.3
|
135
119
|
type: :runtime
|
136
120
|
prerelease: false
|
137
121
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -139,15 +123,15 @@ dependencies:
|
|
139
123
|
requirements:
|
140
124
|
- - ~>
|
141
125
|
- !ruby/object:Gem::Version
|
142
|
-
version:
|
126
|
+
version: 1.1.3
|
143
127
|
- !ruby/object:Gem::Dependency
|
144
|
-
name:
|
128
|
+
name: logging
|
145
129
|
requirement: !ruby/object:Gem::Requirement
|
146
130
|
none: false
|
147
131
|
requirements:
|
148
132
|
- - ~>
|
149
133
|
- !ruby/object:Gem::Version
|
150
|
-
version:
|
134
|
+
version: '1.8'
|
151
135
|
type: :runtime
|
152
136
|
prerelease: false
|
153
137
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -155,15 +139,15 @@ dependencies:
|
|
155
139
|
requirements:
|
156
140
|
- - ~>
|
157
141
|
- !ruby/object:Gem::Version
|
158
|
-
version:
|
142
|
+
version: '1.8'
|
159
143
|
- !ruby/object:Gem::Dependency
|
160
|
-
name:
|
144
|
+
name: multi_json
|
161
145
|
requirement: !ruby/object:Gem::Requirement
|
162
146
|
none: false
|
163
147
|
requirements:
|
164
148
|
- - ~>
|
165
149
|
- !ruby/object:Gem::Version
|
166
|
-
version: 1.
|
150
|
+
version: 1.8.4
|
167
151
|
type: :runtime
|
168
152
|
prerelease: false
|
169
153
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -171,15 +155,15 @@ dependencies:
|
|
171
155
|
requirements:
|
172
156
|
- - ~>
|
173
157
|
- !ruby/object:Gem::Version
|
174
|
-
version: 1.
|
158
|
+
version: 1.8.4
|
175
159
|
- !ruby/object:Gem::Dependency
|
176
|
-
name:
|
160
|
+
name: multi_xml
|
177
161
|
requirement: !ruby/object:Gem::Requirement
|
178
162
|
none: false
|
179
163
|
requirements:
|
180
164
|
- - ~>
|
181
165
|
- !ruby/object:Gem::Version
|
182
|
-
version:
|
166
|
+
version: 0.5.5
|
183
167
|
type: :runtime
|
184
168
|
prerelease: false
|
185
169
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -187,15 +171,15 @@ dependencies:
|
|
187
171
|
requirements:
|
188
172
|
- - ~>
|
189
173
|
- !ruby/object:Gem::Version
|
190
|
-
version:
|
174
|
+
version: 0.5.5
|
191
175
|
- !ruby/object:Gem::Dependency
|
192
|
-
name:
|
176
|
+
name: rake
|
193
177
|
requirement: !ruby/object:Gem::Requirement
|
194
178
|
none: false
|
195
179
|
requirements:
|
196
180
|
- - ~>
|
197
181
|
- !ruby/object:Gem::Version
|
198
|
-
version:
|
182
|
+
version: '0.9'
|
199
183
|
type: :runtime
|
200
184
|
prerelease: false
|
201
185
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -203,15 +187,15 @@ dependencies:
|
|
203
187
|
requirements:
|
204
188
|
- - ~>
|
205
189
|
- !ruby/object:Gem::Version
|
206
|
-
version:
|
190
|
+
version: '0.9'
|
207
191
|
- !ruby/object:Gem::Dependency
|
208
|
-
name:
|
192
|
+
name: rubyzip
|
209
193
|
requirement: !ruby/object:Gem::Requirement
|
210
194
|
none: false
|
211
195
|
requirements:
|
212
196
|
- - ~>
|
213
197
|
- !ruby/object:Gem::Version
|
214
|
-
version:
|
198
|
+
version: 1.1.0
|
215
199
|
type: :runtime
|
216
200
|
prerelease: false
|
217
201
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -219,7 +203,7 @@ dependencies:
|
|
219
203
|
requirements:
|
220
204
|
- - ~>
|
221
205
|
- !ruby/object:Gem::Version
|
222
|
-
version:
|
206
|
+
version: 1.1.0
|
223
207
|
- !ruby/object:Gem::Dependency
|
224
208
|
name: simple_pid
|
225
209
|
requirement: !ruby/object:Gem::Requirement
|
@@ -311,17 +295,6 @@ files:
|
|
311
295
|
- vendor/gems/codedeploy-commands/lib/aws/codedeploy_commands.rb
|
312
296
|
- vendor/gems/codedeploy-commands/lib/aws/plugins/certificate_authority.rb
|
313
297
|
- vendor/gems/codedeploy-commands/lib/aws/plugins/deploy_control_endpoint.rb
|
314
|
-
- vendor/gems/jmespath-1.0.1/lib/jmespath.rb
|
315
|
-
- vendor/gems/jmespath-1.0.1/lib/jmespath/caching_parser.rb
|
316
|
-
- vendor/gems/jmespath-1.0.1/lib/jmespath/errors.rb
|
317
|
-
- vendor/gems/jmespath-1.0.1/lib/jmespath/expr_node.rb
|
318
|
-
- vendor/gems/jmespath-1.0.1/lib/jmespath/lexer.rb
|
319
|
-
- vendor/gems/jmespath-1.0.1/lib/jmespath/parser.rb
|
320
|
-
- vendor/gems/jmespath-1.0.1/lib/jmespath/runtime.rb
|
321
|
-
- vendor/gems/jmespath-1.0.1/lib/jmespath/token.rb
|
322
|
-
- vendor/gems/jmespath-1.0.1/lib/jmespath/token_stream.rb
|
323
|
-
- vendor/gems/jmespath-1.0.1/lib/jmespath/tree_interpreter.rb
|
324
|
-
- vendor/gems/jmespath-1.0.1/lib/jmespath/version.rb
|
325
298
|
- vendor/gems/process_manager/README.md
|
326
299
|
- vendor/gems/process_manager/lib/blank.rb
|
327
300
|
- vendor/gems/process_manager/lib/core_ext.rb
|
@@ -1,41 +0,0 @@
|
|
1
|
-
require 'multi_json'
|
2
|
-
require 'pathname'
|
3
|
-
|
4
|
-
module JMESPath
|
5
|
-
|
6
|
-
autoload :CachingParser, 'jmespath/caching_parser'
|
7
|
-
autoload :Errors, 'jmespath/errors'
|
8
|
-
autoload :ExprNode, 'jmespath/expr_node'
|
9
|
-
autoload :Lexer, 'jmespath/lexer'
|
10
|
-
autoload :Parser, 'jmespath/parser'
|
11
|
-
autoload :Runtime, 'jmespath/runtime'
|
12
|
-
autoload :Token, 'jmespath/token'
|
13
|
-
autoload :TokenStream, 'jmespath/token_stream'
|
14
|
-
autoload :TreeInterpreter, 'jmespath/tree_interpreter'
|
15
|
-
autoload :VERSION, 'jmespath/version'
|
16
|
-
|
17
|
-
class << self
|
18
|
-
|
19
|
-
|
20
|
-
# @param [String] expression A valid
|
21
|
-
# [JMESPath](https://github.com/boto/jmespath) expression.
|
22
|
-
# @param [Hash] data
|
23
|
-
# @return [Mixed,nil] Returns the matched values. Returns `nil` if the
|
24
|
-
# expression does not resolve inside `data`.
|
25
|
-
def search(expression, data)
|
26
|
-
data = case data
|
27
|
-
when Hash, Struct then data # check for most common case first
|
28
|
-
when Pathname then load_json(data)
|
29
|
-
when IO, StringIO then MultiJson.load(data.read)
|
30
|
-
else data
|
31
|
-
end
|
32
|
-
Runtime.new.search(expression, data)
|
33
|
-
end
|
34
|
-
|
35
|
-
# @api private
|
36
|
-
def load_json(path)
|
37
|
-
MultiJson.load(File.open(path, 'r', encoding: 'UTF-8') { |f| f.read })
|
38
|
-
end
|
39
|
-
|
40
|
-
end
|
41
|
-
end
|
@@ -1,30 +0,0 @@
|
|
1
|
-
require 'thread'
|
2
|
-
|
3
|
-
module JMESPath
|
4
|
-
class CachingParser
|
5
|
-
|
6
|
-
def initialize(options = {})
|
7
|
-
@parser = options[:parser] || Parser.new(options)
|
8
|
-
@mutex = Mutex.new
|
9
|
-
@cache = {}
|
10
|
-
end
|
11
|
-
|
12
|
-
def parse(expression)
|
13
|
-
if cached = @cache[expression]
|
14
|
-
cached
|
15
|
-
else
|
16
|
-
cache_expression(expression)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
private
|
21
|
-
|
22
|
-
def cache_expression(expression)
|
23
|
-
@mutex.synchronize do
|
24
|
-
@cache.clear if @cache.size > 1000
|
25
|
-
@cache[expression] = @parser.parse(expression)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
end
|
30
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
module JMESPath
|
2
|
-
module Errors
|
3
|
-
|
4
|
-
class Error < StandardError; end
|
5
|
-
|
6
|
-
class RuntimeError < Error; end
|
7
|
-
|
8
|
-
class SyntaxError < Error; end
|
9
|
-
|
10
|
-
class InvalidTypeError < Error; end
|
11
|
-
|
12
|
-
class InvalidArityError < Error; end
|
13
|
-
|
14
|
-
class UnknownFunctionError < Error; end
|
15
|
-
|
16
|
-
end
|
17
|
-
end
|
@@ -1,116 +0,0 @@
|
|
1
|
-
module JMESPath
|
2
|
-
# @api private
|
3
|
-
class Lexer
|
4
|
-
|
5
|
-
# @api private
|
6
|
-
TOKEN_PATTERNS = {}
|
7
|
-
|
8
|
-
# @api private
|
9
|
-
TOKEN_TYPES = {}
|
10
|
-
|
11
|
-
{
|
12
|
-
'[a-zA-Z_][a-zA-Z_0-9]*' => :identifier,
|
13
|
-
'\.' => :dot,
|
14
|
-
'\*' => :star,
|
15
|
-
'\[\]' => :flatten,
|
16
|
-
'-?\d+' => :number,
|
17
|
-
'\|\|' => :or,
|
18
|
-
'\|' => :pipe,
|
19
|
-
'\[\?' => :filter,
|
20
|
-
'\[' => :lbracket,
|
21
|
-
'\]' => :rbracket,
|
22
|
-
'"(?:\\\\\\\\|\\\\"|[^"])*"' => :quoted_identifier,
|
23
|
-
'`(?:\\\\\\\\|\\\\`|[^`])*`' => :literal,
|
24
|
-
',' => :comma,
|
25
|
-
':' => :colon,
|
26
|
-
'@' => :current,
|
27
|
-
'&' => :expref,
|
28
|
-
'\(' => :lparen,
|
29
|
-
'\)' => :rparen,
|
30
|
-
'\{' => :lbrace,
|
31
|
-
'\}' => :rbrace,
|
32
|
-
'!=' => :comparator,
|
33
|
-
'==' => :comparator,
|
34
|
-
'<=' => :comparator,
|
35
|
-
'>=' => :comparator,
|
36
|
-
'<' => :comparator,
|
37
|
-
'>' => :comparator,
|
38
|
-
'[ \t]' => :skip,
|
39
|
-
}.each.with_index do |(pattern, type), n|
|
40
|
-
TOKEN_PATTERNS[n] = pattern
|
41
|
-
TOKEN_TYPES[n] = type
|
42
|
-
end
|
43
|
-
|
44
|
-
# @api private
|
45
|
-
TOKEN_REGEX = /(#{TOKEN_PATTERNS.values.join(')|(')})/
|
46
|
-
|
47
|
-
# @api private
|
48
|
-
JSON_VALUE = /^[\["{]/
|
49
|
-
|
50
|
-
# @api private
|
51
|
-
JSON_NUMBER = /^\-?[0-9]*(\.[0-9]+)?([e|E][+|\-][0-9]+)?$/
|
52
|
-
|
53
|
-
# @param [String<JMESPath>] expression
|
54
|
-
# @return [Array<Hash>]
|
55
|
-
def tokenize(expression)
|
56
|
-
offset = 0
|
57
|
-
tokens = []
|
58
|
-
expression.scan(TOKEN_REGEX).each do |match|
|
59
|
-
match_index = match.find_index { |token| !token.nil? }
|
60
|
-
match_value = match[match_index]
|
61
|
-
type = TOKEN_TYPES[match_index]
|
62
|
-
token = Token.new(type, match_value, offset)
|
63
|
-
if token.type != :skip
|
64
|
-
case token.type
|
65
|
-
when :number then token_number(token, expression, offset)
|
66
|
-
when :literal then token_literal(token, expression, offset)
|
67
|
-
when :quoted_identifier
|
68
|
-
token_quoted_identifier(token, expression, offset)
|
69
|
-
end
|
70
|
-
tokens << token
|
71
|
-
end
|
72
|
-
offset += match_value.size
|
73
|
-
end
|
74
|
-
tokens << Token.new(:eof, nil, offset)
|
75
|
-
unless expression.size == offset
|
76
|
-
syntax_error('invalid expression', expression, offset)
|
77
|
-
end
|
78
|
-
tokens
|
79
|
-
end
|
80
|
-
|
81
|
-
private
|
82
|
-
|
83
|
-
def token_number(token, expression, offset)
|
84
|
-
token[:value] = token[:value].to_i
|
85
|
-
end
|
86
|
-
|
87
|
-
def token_literal(token, expression, offset)
|
88
|
-
token[:value] = token[:value][1..-2].lstrip.gsub('\`', '`')
|
89
|
-
token[:value] =
|
90
|
-
case token[:value]
|
91
|
-
when 'true', 'false' then token[:value] == 'true'
|
92
|
-
when 'null' then nil
|
93
|
-
when '' then syntax_error("empty json literal", expression, offset)
|
94
|
-
when JSON_VALUE then decode_json(token[:value], expression, offset)
|
95
|
-
when JSON_NUMBER then decode_json(token[:value], expression, offset)
|
96
|
-
else decode_json('"' + token[:value] + '"', expression, offset)
|
97
|
-
end
|
98
|
-
end
|
99
|
-
|
100
|
-
def token_quoted_identifier(token, expression, offset)
|
101
|
-
token[:value] = decode_json(token[:value], expression, offset)
|
102
|
-
end
|
103
|
-
|
104
|
-
def decode_json(json, expression, offset)
|
105
|
-
MultiJson.load(json)
|
106
|
-
rescue MultiJson::ParseError => e
|
107
|
-
syntax_error(e.message, expression, offset)
|
108
|
-
end
|
109
|
-
|
110
|
-
def syntax_error(message, expression, offset)
|
111
|
-
msg = message + "in #{expression.inspect} at #{offset}"
|
112
|
-
raise Errors::SyntaxError.new(msg)
|
113
|
-
end
|
114
|
-
|
115
|
-
end
|
116
|
-
end
|