class Flapjack::Data::UnscheduledMaintenance

Public Class Methods

jsonapi_associations() click to toggle source
# File lib/flapjack/data/unscheduled_maintenance.rb, line 135
def self.jsonapi_associations
  unless instance_variable_defined?('@jsonapi_associations')
    @jsonapi_associations ||= {
      :check => Flapjack::Gateways::JSONAPI::Data::JoinDescriptor.new(
        :get => true,
        :number => :singular, :link => true, :includable => true,
        :descriptions => {
          :get => "Returns the check an unscheduled maintenance period applies to."
        }
      )
    }
    populate_association_data(@jsonapi_associations)
  end
  @jsonapi_associations
end
jsonapi_methods() click to toggle source
# File lib/flapjack/data/unscheduled_maintenance.rb, line 110
def self.jsonapi_methods
  @jsonapi_methods ||= {
    :get => Flapjack::Gateways::JSONAPI::Data::MethodDescriptor.new(
      :attributes => [:start_time, :end_time, :summary],
      :descriptions => {
        :singular => "Get data for an un scheduled maintenance period.",
        :multiple => "Get data for multiple unscheduled maintenance periods."
      }
    ),
    :patch => Flapjack::Gateways::JSONAPI::Data::MethodDescriptor.new(
      :attributes => [:start_time, :end_time, :summary],
      :descriptions => {
        :singular => "Update data for an unscheduled maintenance period.",
        :multiple => "Update data for unscheduled maintenance periods.",
      }
    ),
    :delete => Flapjack::Gateways::JSONAPI::Data::MethodDescriptor.new(
      :descriptions => {
        :singular => "Delete an scheduled maintenance period.",
        :multiple => "Delete unscheduled maintenance periods."
      }
    )
  }
end
swagger_included_classes() click to toggle source
# File lib/flapjack/data/unscheduled_maintenance.rb, line 96
def self.swagger_included_classes
  # hack -- hardcoding for now
  [
    Flapjack::Data::Check,
    Flapjack::Data::Contact,
    Flapjack::Data::Medium,
    Flapjack::Data::Rule,
    Flapjack::Data::ScheduledMaintenance,
    Flapjack::Data::State,
    Flapjack::Data::Tag,
    Flapjack::Data::UnscheduledMaintenance
  ]
end

Public Instance Methods

duration() click to toggle source
# File lib/flapjack/data/unscheduled_maintenance.rb, line 46
def duration
  self.end_time - self.start_time
end

Private Instance Methods

ensure_start_time() click to toggle source
# File lib/flapjack/data/unscheduled_maintenance.rb, line 153
def ensure_start_time
  self.start_time ||= Time.now
end