Sha256: 3e9da7d55e207f6abe16db23bb6d78169a6877d95c9c6720604f33606f34c793

Contents?: true

Size: 817 Bytes

Versions: 9

Compression:

Stored size: 817 Bytes

Contents

# frozen_string_literal: true

module Nanoc::Int::ProcessingActions
  class Layout < Nanoc::Int::ProcessingAction
    # layout '/foo.erb'
    # layout '/foo.erb', params

    attr_reader :layout_identifier
    attr_reader :params

    def initialize(layout_identifier, params)
      @layout_identifier = layout_identifier
      @params = params
    end

    def serialize
      [:layout, @layout_identifier, Nanoc::Int::Checksummer.calc(@params)]
    end

    def to_s
      "layout #{@layout_identifier.inspect}, #{@params.inspect}"
    end

    def hash
      self.class.hash ^ layout_identifier.hash ^ params.hash
    end

    def ==(other)
      self.class == other.class && layout_identifier == other.layout_identifier && params == other.params
    end

    def eql?(other)
      self == other
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
nanoc-4.11.0 lib/nanoc/base/entities/processing_actions/layout.rb
nanoc-4.10.4 lib/nanoc/base/entities/processing_actions/layout.rb
nanoc-4.10.3 lib/nanoc/base/entities/processing_actions/layout.rb
nanoc-4.10.2 lib/nanoc/base/entities/processing_actions/layout.rb
nanoc-4.10.1 lib/nanoc/base/entities/processing_actions/layout.rb
nanoc-4.10.0 lib/nanoc/base/entities/processing_actions/layout.rb
nanoc-4.9.9 lib/nanoc/base/entities/processing_actions/layout.rb
nanoc-4.9.8 lib/nanoc/base/entities/processing_actions/layout.rb
nanoc-4.9.7 lib/nanoc/base/entities/processing_actions/layout.rb