Sha256: 146c319fdc3b0afe12d7422e1d80c61617fbc9823a49e1c005a2cb967577816a

Contents?: true

Size: 860 Bytes

Versions: 5

Compression:

Stored size: 860 Bytes

Contents

module Shipit
  class StackSerializer < ActiveModel::Serializer
    include ConditionalAttributes

    has_one :lock_author
    attributes :id, :repo_owner, :repo_name, :environment, :html_url, :url, :tasks_url, :deploy_url, :deploy_spec,
               :undeployed_commits_count, :is_locked, :lock_reason, :continuous_deployment, :created_at,
               :updated_at, :locked_since

    def url
      api_stack_url(object)
    end

    def html_url
      stack_url(object)
    end

    def tasks_url
      api_stack_tasks_url(object)
    end

    def is_locked
      object.locked?
    end

    def include_lock_reason?
      object.locked?
    end

    def include_lock_author?
      object.locked?
    end

    def include_locked_since?
      object.locked?
    end

    def deploy_spec
      object.cached_deploy_spec.cacheable.config
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
shipit-engine-0.15.0 app/serializers/shipit/stack_serializer.rb
shipit-engine-0.14.0 app/serializers/shipit/stack_serializer.rb
shipit-engine-0.13.0 app/serializers/shipit/stack_serializer.rb
shipit-engine-0.12.1 app/serializers/shipit/stack_serializer.rb
shipit-engine-0.12.0 app/serializers/shipit/stack_serializer.rb