Sha256: 2c1ebaf55a1a2f98560e050b2069c12ce644fbf9e9978f52845d8c8786659a10

Contents?: true

Size: 1.21 KB

Versions: 1

Compression:

Stored size: 1.21 KB

Contents

require 'codily/elements/service_belongging_base'
require 'codily/elements/condition'
require 'codily/elements/file_loadable'

module Codily
  module Elements
    class ResponseObject < ServiceBelonggingBase
      include FileLoadable

      def_attr *%i(
        content_type
        status
        response
        cache_condtiion
        request_condition
      )

      defaults(
        content: "",
        content_type: "",
        response: "",
      )

      def setup
        delete_if_empty! *%i(
          content
          content_type
          response
          cache_condition
          request_condition
        )
        force_integer! *%i(
          status
        )
      end

      def content(obj = nil)
        getset :content, file_loadable(obj)
      end

      def cache_condition(name = nil, &block)
        set_refer_element(:cache_condition, Condition, {name: name, type: 'CACHE', _service_name: self.service_name}, &block)
      end

      def request_condition(name = nil, &block)
        set_refer_element(:request_condition, Condition, {name: name, type: 'REQUEST', _service_name: self.service_name}, &block)
      end

      def fastly_class
        Fastly::ResponseObject
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
codily-0.3.1 lib/codily/elements/response_object.rb