3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/parser.rb', line 3
def self.parse(json)
raise SchemaError unless JsonValidator.validate('yappl', json)
data = JSON.parse(json)
rules = data['preference'].collect do |preference|
rule = preference['rule']
Rule.new(
permitted_purposes: rule['purpose']['permitted'],
excluded_purposes: rule['purpose']['excluded'],
permitted_utilizers: rule['utilizer']['permitted'],
excluded_utilizers: rule['utilizer']['excluded'],
transformations: rule['transformation'],
valid_from: Time.parse(rule['valid_from']),
expiration_date: Time.parse(rule['exp_date'])
)
end
return Policy.new(data['id'], rules)
end
|