Sha256: be3163115619e7655d95e7e213a092ddb0ed16854d12aca51378f92cddb79e35

Contents?: true

Size: 1.29 KB

Versions: 12

Compression:

Stored size: 1.29 KB

Contents

# encoding: utf-8

module Doggy
  module Models
    class Screen < Doggy::Model
      attribute :id,                 Integer
      attribute :board_title,        String

      attribute :board_bgtype,       String
      attribute :templated,          Boolean
      attribute :template_variables, Array[Hash]
      attribute :widgets,            Array[Hash]
      attribute :height,             String
      attribute :width,              String
      attribute :read_only,          Boolean

      def prefix
        'screen'
      end

      def ensure_read_only!
        self.read_only = true
      end

      def refute_read_only!
        self.read_only = false
      end

      def self.resource_url(id = nil)
        "https://app.datadoghq.com/api/v1/screen".tap do |base_url|
          base_url << "/#{ id }" if id
        end
      end

      def managed?
        !(board_title =~ Doggy::DOG_SKIP_REGEX)
      end

      def ensure_managed_emoji!
        return unless managed?
        return if self.board_title =~ /\xF0\x9F\x90\xB6/
        self.board_title += " \xF0\x9F\x90\xB6"
      end

      def human_url
        "https://app.datadoghq.com/screen/#{ id }"
      end

      # Screens don't have a direct edit URL
      alias_method :human_edit_url, :human_url
    end # Screen
  end # Models
end # Doggy

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
doggy-2.0.41 lib/doggy/models/screen.rb
doggy-2.0.40 lib/doggy/models/screen.rb
doggy-2.0.39 lib/doggy/models/screen.rb
doggy-2.0.38 lib/doggy/models/screen.rb
doggy-2.0.37 lib/doggy/models/screen.rb
doggy-2.0.36 lib/doggy/models/screen.rb
doggy-2.0.35 lib/doggy/models/screen.rb
doggy-2.0.34 lib/doggy/models/screen.rb
doggy-2.0.33 lib/doggy/models/screen.rb
doggy-2.0.32 lib/doggy/models/screen.rb
doggy-2.0.31 lib/doggy/models/screen.rb
doggy-2.0.30 lib/doggy/models/screen.rb