Sha256: 1ff0fb3fd71b017d6c0da2d6dc82cda7203a62818b206f92ffd114e4f60235d9

Contents?: true

Size: 1.15 KB

Versions: 3

Compression:

Stored size: 1.15 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
        )
      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

3 entries across 3 versions & 1 rubygems

Version Path
codily-0.3.0 lib/codily/elements/response_object.rb
codily-0.2.0 lib/codily/elements/response_object.rb
codily-0.1.0.beta lib/codily/elements/response_object.rb