Sha256: 06a2416e7edb1994cc4edb6123ea9b14e1be9da1db15754cb8c2724c8b50859a

Contents?: true

Size: 1.02 KB

Versions: 3

Compression:

Stored size: 1.02 KB

Contents

require_relative 'resource'

module Contentful
  module Management
    # Resource Class for Links
    # https://www.contentful.com/developers/documentation/content-delivery-api/#links
    class Link
      include Contentful::Management::Resource
      include Contentful::Management::Resource::SystemProperties

      # Queries contentful for the Resource the Link is referring to
      # @param [String] space_id
      # @param [String] environment_id
      def resolve(space_id = nil, environment_id = nil)
        return client.spaces.find(id) if link_type == 'Space'

        method = Contentful::Management::Support.snakify(link_type).to_sym

        if space_id && environment_id.nil?
          return client.public_send(
            method,
            space_id
          ).find(id)
        elsif space_id && environment_id
          return client.public_send(
            method,
            space_id,
            environment_id
          ).find(id)
        end

        client.public_send(method).find(id)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
contentful-management-2.0.2 lib/contentful/management/link.rb
contentful-management-2.0.1 lib/contentful/management/link.rb
contentful-management-2.0.0 lib/contentful/management/link.rb