Sha256: 1442ea83fda68a4150b937a257b35963a1df8f0ef926a887659858d231ab8441

Contents?: true

Size: 927 Bytes

Versions: 5

Compression:

Stored size: 927 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

5 entries across 5 versions & 1 rubygems

Version Path
card-mod-machines-0.11.4 lib/card/machine.rb
card-mod-machines-0.11.3 lib/card/machine.rb
card-mod-machines-0.11.2 lib/card/machine.rb
card-mod-machines-0.11.1 lib/card/machine.rb
card-mod-machines-0.11.0 lib/card/machine.rb