module Pult::Panel::App::Injector
Constants
- SYS_KEYS
Public Class Methods
inject!(hash, panel, app)
click to toggle source
# File lib/pult/panel/app/injector.rb, line 5 def self.inject! hash, panel, app hash.instance_eval <<-STR def _app "#{app}" end def _panel ->{ ObjectSpace._id2ref(#{panel.object_id}) }.call end STR hash.instance_eval do def app? true end def _to_flat param=self, prefix=nil hash = param.each_pair.reduce({}) do |a, (k, v)| v.is_a?(Hash) && ! SYS_KEYS.include?(k) ? a.merge(_to_flat(v, "#{prefix}#{k}.")) : a.merge("#{prefix}#{k}" => v) end Pult::Panel::App.to_app! hash, _panel, _app end def _config _panel[_app].config end def _actions keys - SYS_KEYS end def _translated_actions _actions.map{ |action| _action_title(action) } end # # TODO order param like :ui => :az, :orig => :config, etc.. # def _ui_actions order: :az_ui resproc = proc { |action| [action, _action_title(action)] } tacts = _translated_actions case order when :config _actions.map(&resproc) when :config_ui _actions.map(&resproc).sort_by{|arr| tacts.index(arr[1]) } when :az _actions.sort.map(&resproc) when :az_ui _actions.map(&resproc).sort_by{|arr| arr[1] } end end def _action_title action _action_translate(action) || action end def _action_translate action self&.config&.ui&.ru&.action&.send(:[], action) end end end
Public Instance Methods
_action_title(action)
click to toggle source
# File lib/pult/panel/app/injector.rb, line 62 def _action_title action _action_translate(action) || action end
_action_translate(action)
click to toggle source
# File lib/pult/panel/app/injector.rb, line 66 def _action_translate action self&.config&.ui&.ru&.action&.send(:[], action) end
_actions()
click to toggle source
# File lib/pult/panel/app/injector.rb, line 35 def _actions keys - SYS_KEYS end
_config()
click to toggle source
# File lib/pult/panel/app/injector.rb, line 31 def _config _panel[_app].config end
_to_flat(param=self, prefix=nil)
click to toggle source
# File lib/pult/panel/app/injector.rb, line 21 def _to_flat param=self, prefix=nil hash = param.each_pair.reduce({}) do |a, (k, v)| v.is_a?(Hash) && ! SYS_KEYS.include?(k) ? a.merge(_to_flat(v, "#{prefix}#{k}.")) : a.merge("#{prefix}#{k}" => v) end Pult::Panel::App.to_app! hash, _panel, _app end
_translated_actions()
click to toggle source
# File lib/pult/panel/app/injector.rb, line 39 def _translated_actions _actions.map{ |action| _action_title(action) } end
_ui_actions(order: :az_ui)
click to toggle source
TODO order param like :ui => :az, :orig => :config, etc..
# File lib/pult/panel/app/injector.rb, line 46 def _ui_actions order: :az_ui resproc = proc { |action| [action, _action_title(action)] } tacts = _translated_actions case order when :config _actions.map(&resproc) when :config_ui _actions.map(&resproc).sort_by{|arr| tacts.index(arr[1]) } when :az _actions.sort.map(&resproc) when :az_ui _actions.map(&resproc).sort_by{|arr| arr[1] } end end
app?()
click to toggle source
# File lib/pult/panel/app/injector.rb, line 17 def app? true end