5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/xively-rb/templates/json/key_defaults.rb', line 5
def generate_json(options={})
if self.permissions
s = self.permissions.collect { |s|
if s.resources
res = s.resources.collect { |r| { :feed_id => r.feed_id, :datastream_id => r.datastream_id, :datastream_trigger_id => r.datastream_trigger_id }.delete_if_nil_value
}
end
{
:referer => s.referer,
:source_ip => s.source_ip,
:label => s.label,
:minimum_interval => s.minimum_interval,
:access_methods => s.access_methods.collect { |a| a.to_s.downcase },
:resources => res
}
}
end
output = {
:key => {
:id => id,
:expires_at => expires_at.respond_to?(:iso8601) ? expires_at.iso8601(6) : expires_at,
:api_key => key,
:user => user,
:label => label,
:private_access => private_access,
:permissions => s
}
}
!options[:include_blank] ? output.delete_if_nil_value : output
end
|