Sha256: 18a4219f60e4613728618faafe812e8f49f2d3f0208931b44120155ea0caa644

Contents?: true

Size: 1.12 KB

Versions: 3

Compression:

Stored size: 1.12 KB

Contents

module Fog
  module Parsers
    module AWS
      module CloudWatch

        class GetMetricStatistics < Fog::Parsers::Base

          def reset
            @response = { 'GetMetricStatisticsResult' => {'Datapoints' => []}, 'ResponseMetadata' => {} }
            reset_datapoint
          end

          def reset_datapoint
            @datapoint = {}
          end

          def start_element(name, attrs = [])
            super
          end

          def end_element(name)
            case name
            when 'Average', 'Maximum', 'Minimum', 'SampleCount', 'Sum'
              @datapoint[name] = value.to_f
            when 'Unit'
              @datapoint[name] = value
            when 'Timestamp'
              @datapoint[name] = Time.parse value
            when 'member'
              @response['GetMetricStatisticsResult']['Datapoints'] << @datapoint
              reset_datapoint
            when 'Label'
              @response['GetMetricStatisticsResult'][name] = value
            when 'RequestId'
              @response['ResponseMetadata'][name] = value
            end
          end
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
brightbox-cli-0.14.1 lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cloud_watch/get_metric_statistics.rb
brightbox-cli-0.14.0 lib/brightbox-cli/vendor/fog/lib/fog/aws/parsers/cloud_watch/get_metric_statistics.rb
fog-1.0.0 lib/fog/aws/parsers/cloud_watch/get_metric_statistics.rb