Sha256: 5fd487cb4245c09df0755e6dd2950a728bbb031e665796975192b1e68e33e9bb
Contents?: true
Size: 733 Bytes
Versions: 3
Compression:
Stored size: 733 Bytes
Contents
# frozen_string_literal: true module Bridgetown class Publisher # @param site [Bridgetown::Site] def initialize(site) @site = site end def publish?(thing) can_be_published?(thing) && !hidden_in_the_future?(thing) end def hidden_in_the_future?(thing) return false unless thing.respond_to?(:date) future_allowed = thing.respond_to?(:collection) && thing.collection.metadata.future || @site.future thing_time = thing.date.is_a?(Date) ? thing.date.to_time.to_i : thing.date.to_i !future_allowed && thing_time > @site.time.to_i end private def can_be_published?(thing) thing.data.fetch("published", true) || @site.unpublished end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
bridgetown-core-0.21.0.beta2 | lib/bridgetown-core/publisher.rb |
bridgetown-core-0.21.0.beta1 | lib/bridgetown-core/publisher.rb |
bridgetown-core-0.20.0 | lib/bridgetown-core/publisher.rb |