module Card::Machine
Constants
- REFRESHED
Public Class Methods
refresh_asset(asset_type, force)
click to toggle source
# File lib/card/machine.rb, line 38 def refresh_asset asset_type, force all_rule(asset_type)&.refresh_output force: force end
refresh_assets(force: false)
click to toggle source
# File lib/card/machine.rb, line 6 def refresh_assets force: false return unless force || refresh_assets? refresh_asset :script, force refresh_asset :style, force end
refresh_assets!()
click to toggle source
# File lib/card/machine.rb, line 13 def refresh_assets! refresh_assets force: true end
reset_all()
click to toggle source
# File lib/card/machine.rb, line 17 def reset_all Auth.as_bot do Card.search(right: { codename: "machine_output" }).each do |card| card.update_columns trash: true card.expire end end reset_virtual_machine_cache end
reset_script()
click to toggle source
# File lib/card/machine.rb, line 27 def reset_script Auth.as_bot do card = Card[:all, :script, :machine_output] if card card.update_columns trash: true card.expire reset_virtual_machine_cache end end end
Private Class Methods
all_rule(asset_type)
click to toggle source
# File lib/card/machine.rb, line 44 def all_rule asset_type Card[[:all, asset_type]] end
cautious_refresh?()
click to toggle source
only refresh when cache was cleared
# File lib/card/machine.rb, line 64 def cautious_refresh? return false unless Cache.persistent_cache return false if Card.cache.read REFRESHED Card.cache.write REFRESHED, true end
refresh_assets?()
click to toggle source
# File lib/card/machine.rb, line 52 def refresh_assets? 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
reset_virtual_machine_cache()
click to toggle source
# File lib/card/machine.rb, line 48 def reset_virtual_machine_cache Virtual.where(right_id: MachineCacheID).delete_all end