module Pult::Panel::App
Public Class Methods
config_dir!(app_hash, path)
click to toggle source
# File lib/pult/panel/app.rb, line 3 def self.config_dir! app_hash, path app_name = app_hash.keys.first dir = Pathname.new(path).dirname.to_s app_hash[app_name] = {} if ! app_hash[app_name] config = (app_hash[app_name]['config'] ||= {}) config['dir'] ||= dir end
make_apps!(panel)
click to toggle source
# File lib/pult/panel/app.rb, line 14 def self.make_apps! panel panel.instance_variable_set(:@_apps, []) for app_name in panel.keys hash = panel[app_name] panel._apps << app_name to_app! hash, panel, app_name end end
multi_action!(app_hash)
click to toggle source
# File lib/pult/panel/app.rb, line 40 def self.multi_action! app_hash app_hash.keys.each do |key| value = app_hash[key] case value.class.name when "Hash" multi_action! value when "Array" case Pult::MULTIACT when 'clone' clone app_hash complex = {} value.each{ |elm| complex[elm] = app_hash[elm] } app_hash[key] = complex when 'join' app_hash[key] = '$(' + value.join(') && $(') + ')' end end end end
to_app!(app_hash, panel, app_name)
click to toggle source
# File lib/pult/panel/app.rb, line 26 def self.to_app! app_hash, panel, app_name multi_action! app_hash app_hash.class_eval { include DotAccessible } Injector.inject! app_hash, panel, app_name app_hash.values.each do |target| to_app!(target, panel, app_name) if target.is_a?(Hash) end app_hash end