Sha256: ca1bcf952700fc1dc9aca82fa474569cfb6d61fd74b589a0dfa0630f1a10e957

Contents?: true

Size: 1.14 KB

Versions: 4

Compression:

Stored size: 1.14 KB

Contents

require 'fastly'
require 'codily/elements/base'
require 'codily/elements/service'

module Codily
  module Elements
    class ServiceBelonggingBase < Base
      def initialize(*)
        super

        if fastly_obj
          service_version = root.service_version_get(fastly_obj.service_id)
          raise "[bug?] Root#service_version_set should be called before passing fastly obj to ServiceBelonggingBase.new" unless service_version
          @hash[:_service_name] = service_version[:name]
          @hash[:_service_id] = service_version[:id]
        end
      end

      def self.parent_class
        Service
      end

      def parent_key
        service_name
      end

      def service_id
        @hash[:_service_id] ||= begin
          service_version = root.service_version_get(service_name)
          if service_version
            service_version[:id]
          else
            nil
          end
        end
      end

      def service_name
        @hash[:_service_name]
      end

      def key
        [service_name, name]
      end

      def as_hash
        @hash.reject { |k,v| k == :_service_name || k == :_service_id }
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

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