module EverydayPlugins::TypeHelper
Public Instance Methods
basic_type(list, *args)
click to toggle source
# File lib/everyday-plugins/plugin.rb, line 123 def basic_type(list, *args) options = Plugins.get_var :options list.any? { |item| if item[:block].nil? flag_boolean(item, options) else item[:block].call(options, *args) end } end
complex_filter(list, options, symbol)
click to toggle source
# File lib/everyday-plugins/plugin.rb, line 138 def complex_filter(list, options, symbol) list.filtermap { |item| if item[:block].nil? if item[:options].has_key?(symbol) && flag_boolean(item, options) item[:options][symbol] else item[:options].has_key?(:option) && !options[item[:options][:option]].nil? ? options[item[:options][:option]] : false end else rval = item[:block].call(options) (rval.nil? || !rval) ? false : rval end } end
flag_boolean(item, options)
click to toggle source
# File lib/everyday-plugins/plugin.rb, line 134 def flag_boolean(item, options) item[:options].has_key?(:option) && options[item[:options][:option]] == (item[:options].has_key?(:value) ? item[:options][:value] : true) end
get_name(list)
click to toggle source
# File lib/everyday-plugins/plugin.rb, line 163 def get_name(list) options = Plugins.get_var :options rval = complex_filter(list.sort_by { |v| -v[:options][:priority] }, options, :name) (rval.nil? || rval.empty?) ? false : rval.first end
simple_type(list, *args)
click to toggle source
# File lib/everyday-plugins/plugin.rb, line 153 def simple_type(list, *args) options = Plugins.get_var :options list.sort_by { |v| v[:options][:order] }.each { |item| item[:block].call(options, *args) } end
simple_type_with_result(list)
click to toggle source
# File lib/everyday-plugins/plugin.rb, line 158 def simple_type_with_result(list) result = Plugins.get_var :result simple_type(list, result) end