Sha256: e051634ce2a0a574008153c2f5cfffe24016c0f91c6ae0fe22e08aea2330d668

Contents?: true

Size: 929 Bytes

Versions: 4

Compression:

Stored size: 929 Bytes

Contents

class Card
  module Machine
    REFRESHED = "MACHINE_ASSETS_REFRESHED".freeze

    class << self
      def refresh_script_and_style
        return unless refresh_script_and_style?

        Card.fetch(:all, :script)&.update_if_source_file_changed
        Card.fetch(:all, :style)&.update_if_source_file_changed
      end

      private

      def refresh_script_and_style?
        case Cardio.config.machine_refresh
        when :eager    then true
        when :cautious then cautious_refresh?
        when :never    then false
        else
          raise Card::Error,
                "unknown option for machine_refresh: #{Cardio.config.machine_refresh}"
        end
      end

      # only refresh when cache was cleared
      def cautious_refresh?
        return false unless Card::Cache.persistent_cache
        return false if Card.cache.read REFRESHED

        Card.cache.write REFRESHED, true
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
card-mod-machines-0.11.7 lib/card/machine.rb
card-mod-machines-0.12.0 lib/card/machine.rb
card-mod-machines-0.11.6 lib/card/machine.rb
card-mod-machines-0.11.5 lib/card/machine.rb