From fc8ec4e6e83a4788d79caf951723dcf2c859dccf Mon Sep 17 00:00:00 2001 From: Kevin Olbrich Date: Thu, 12 Dec 2013 18:25:31 +0000 Subject: [PATCH] metrics and fields --- lib/fog/joyent/analytics.rb | 3 +++ lib/fog/joyent/models/analytics/field.rb | 0 lib/fog/joyent/models/analytics/fields.rb | 0 lib/fog/joyent/models/analytics/metric.rb | 7 ++++++- lib/fog/joyent/models/analytics/metrics.rb | 18 ++++++++++++++++++ 5 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 lib/fog/joyent/models/analytics/field.rb create mode 100644 lib/fog/joyent/models/analytics/fields.rb diff --git a/lib/fog/joyent/analytics.rb b/lib/fog/joyent/analytics.rb index a4efc0140..498b37174 100644 --- a/lib/fog/joyent/analytics.rb +++ b/lib/fog/joyent/analytics.rb @@ -27,6 +27,9 @@ module Fog collection :metrics model :metric + collection :fields + model :field + class Mock def self.data @data ||= Hash.new do |hash, key| diff --git a/lib/fog/joyent/models/analytics/field.rb b/lib/fog/joyent/models/analytics/field.rb new file mode 100644 index 000000000..e69de29bb diff --git a/lib/fog/joyent/models/analytics/fields.rb b/lib/fog/joyent/models/analytics/fields.rb new file mode 100644 index 000000000..e69de29bb diff --git a/lib/fog/joyent/models/analytics/metric.rb b/lib/fog/joyent/models/analytics/metric.rb index b3b934ad1..396cb61f0 100644 --- a/lib/fog/joyent/models/analytics/metric.rb +++ b/lib/fog/joyent/models/analytics/metric.rb @@ -4,8 +4,13 @@ module Fog module Joyent class Analytics class Metric < Fog::Model - attribute :name + attribute :module + attribute :stat attribute :label + attribute :interval + attribute :fields + attribute :unit + attribute :type end end diff --git a/lib/fog/joyent/models/analytics/metrics.rb b/lib/fog/joyent/models/analytics/metrics.rb index e69de29bb..833707a02 100644 --- a/lib/fog/joyent/models/analytics/metrics.rb +++ b/lib/fog/joyent/models/analytics/metrics.rb @@ -0,0 +1,18 @@ +require 'fog/joyent/models/analytics/metric' + +module Fog + module Joyent + class Analytics + class Metrics < Fog::Collection + + model Fog::Joyent::Analytics::Metric + + def all + data = service.describe_analytics.body['metrics'] + load(data) + end + + end + end + end +end