Sha256: fef597f3337257e0d55fa197fe8c56fe86c0df0341f563211690164fc71efec9

Contents?: true

Size: 909 Bytes

Versions: 11

Compression:

Stored size: 909 Bytes

Contents

module Nanoc::Int
  # @api private
  class Item < ::Nanoc::Int::Document
    # @see Document#initialize
    def initialize(content, attributes, identifier)
      super

      @forced_outdated_status = ForcedOutdatedStatus.new
    end

    # Returns an object that can be used for uniquely identifying objects.
    #
    # @api private
    #
    # @return [Object] An unique reference to this object
    def reference
      [:item, identifier.to_s]
    end

    # Hack to allow a frozen item to still have modifiable frozen status.
    #
    # FIXME: Remove this.
    class ForcedOutdatedStatus
      attr_accessor :bool

      def initialize
        @bool = false
      end

      def freeze
      end
    end

    # @api private
    def forced_outdated=(bool)
      @forced_outdated_status.bool = bool
    end

    # @api private
    def forced_outdated?
      @forced_outdated_status.bool
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
nanoc-4.1.6 lib/nanoc/base/entities/item.rb
nanoc-4.1.5 lib/nanoc/base/entities/item.rb
nanoc-4.1.4 lib/nanoc/base/entities/item.rb
nanoc-4.1.3 lib/nanoc/base/entities/item.rb
nanoc-4.1.2 lib/nanoc/base/entities/item.rb
nanoc-4.1.1 lib/nanoc/base/entities/item.rb
nanoc-4.1.0 lib/nanoc/base/entities/item.rb
nanoc-4.1.0rc2 lib/nanoc/base/entities/item.rb
nanoc-4.1.0rc1 lib/nanoc/base/entities/item.rb
nanoc-4.1.0b1 lib/nanoc/base/entities/item.rb
nanoc-4.1.0a1 lib/nanoc/base/entities/item.rb