Sha256: b88244fe9f274427a3102063c9d5c829cf626e9e9226f70f81286bd6cfaeb67e

Contents?: true

Size: 1.65 KB

Versions: 1

Compression:

Stored size: 1.65 KB

Contents

require_relative 'endpoint'

module Manifestly
  module Entity
    class WorkflowStep < ChildEndpoint
      attr_accessor :id
      attr_accessor :checklist_id
      attr_accessor :position
      attr_accessor :title
      attr_accessor :description
      attr_accessor :description_with_links
      attr_accessor :created_at
      attr_accessor :updated_at
      attr_reader :header_step
      attr_accessor :active
      attr_accessor :original_id
      attr_accessor :late_at_offset
      attr_accessor :late_at_offset_units
      attr_accessor :late_at_basis
      attr_accessor :parent_step_id
      attr_accessor :assignee_id
      attr_accessor :assignee_type
      attr_accessor :late_at_basis_step_data_setting_id
      attr_accessor :step_data_setting

      invalid_method(:create)
      invalid_class_method(:get)
      invalid_method(:update)
      invalid_method(:save)
      invalid_method(:delete)

      def self.parent_class
        Workflow
      end

      def self.endpoint_target
        :steps
      end

      def content_objects
        return @content_objects if @content_objects

        @content_objects = Manifestly::Entity::WorkflowStepContentObject.list(self) if id
        @content_objects ||= []
      end

      def content_objects=(values)
        @content_objects = Array(values).map { |it| WorkflowStepContentObject.new(self, it) }
      end

      # Header step needs to always be a boolean (even if not set)
      def header_step # rubocop:disable DuplicateMethods
        @header_step || false
      end

      # Always convert to a boolean
      def header_step=(value)
        @header_step = (value.to_s == 'true')
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
manifestly-client-1.0.4 lib/manifestly/entity/workflow_step.rb