class Nucleon::Action::Node::Cache
Public Class Methods
describe()
click to toggle source
Calls superclass method
# File lib/nucleon/action/node/cache.rb 10 def self.describe 11 super(:node, :cache, 600) 12 end
Public Instance Methods
arguments()
click to toggle source
# File lib/nucleon/action/node/cache.rb 34 def arguments 35 [ :name, :value ] 36 end
clear_node_cache(node)
click to toggle source
# File lib/nucleon/action/node/cache.rb 118 def clear_node_cache(node) 119 node.clear_cache 120 121 if node.cache.status == code.success 122 success("Cached properties cleared", { :i18n => false }) 123 else 124 error("Cached properties could not be cleared", { :i18n => false }) 125 myself.status = code.cache_save_failed 126 end 127 end
configure()
click to toggle source
Calls superclass method
# File lib/nucleon/action/node/cache.rb 17 def configure 18 super do 19 codes :cache_save_failed 20 21 register_str :name 22 register_str :value 23 24 register_bool :delete 25 register_bool :clear 26 27 register_translator :input_format 28 register_translator :format, :json 29 end 30 end
delete_node_cache(node, name)
click to toggle source
# File lib/nucleon/action/node/cache.rb 83 def delete_node_cache(node, name) 84 node.delete_cache_setting(name) 85 86 if node.cache.status == code.success 87 success("Cached property #{name.join('.')} deleted", { :i18n => false }) 88 else 89 error("Cached property #{name.join('.')} deletion could not be saved", { :i18n => false }) 90 myself.status = code.cache_save_failed 91 end 92 end
execute()
click to toggle source
Calls superclass method
# File lib/nucleon/action/node/cache.rb 41 def execute 42 super do |node| 43 ensure_node(node) do 44 if settings.delete(:clear, false) 45 clear_node_cache(node) 46 elsif ! settings[:name] || settings[:name].empty? 47 render_node_cache(node) 48 else 49 settings[:name] = settings[:name].split('.') 50 settings[:value] = nil if settings[:value].is_a?(String) && settings[:value].empty? 51 52 if settings.delete(:delete, false) 53 delete_node_cache(node, settings[:name]) 54 elsif ! settings[:value].nil? 55 set_node_cache(node, settings[:name], settings[:value]) 56 else 57 render_node_cache_property(node, settings[:name]) 58 end 59 end 60 end 61 end 62 end
render_node_cache(node)
click to toggle source
# File lib/nucleon/action/node/cache.rb 67 def render_node_cache(node) 68 format = settings[:format] 69 myself.result = node.cache_setting([], {}, :hash) 70 render result, :format => format 71 end
render_node_cache_property(node, name)
click to toggle source
# File lib/nucleon/action/node/cache.rb 75 def render_node_cache_property(node, name) 76 format = settings[:format] 77 myself.result = node.cache_setting(name) 78 render result, :format => format 79 end
set_node_cache(node, name, value)
click to toggle source
# File lib/nucleon/action/node/cache.rb 96 def set_node_cache(node, name, value) 97 input_format = settings[:input_format] 98 99 value = Util::Data.value(render(value, { 100 :format => input_format, 101 :silent => true 102 })) if input_format 103 104 myself.result = value 105 106 node.set_cache_setting(name, value) 107 108 if node.cache.status == code.success 109 success("Cached property #{name.join('.')} saved", { :i18n => false }) 110 else 111 error("Cached property #{name.join('.')} could not be saved", { :i18n => false }) 112 myself.status = code.cache_save_failed 113 end 114 end