Module: RubyCms::CommandsRegistry
- Included in:
- RubyCms
- Defined in:
- lib/ruby_cms/commands_registry.rb
Overview
Host apps register runnable commands (usually Rake tasks) shown on Admin → Commands.
Instance Method Summary collapse
- #find_command(key) ⇒ Object
-
#register_command(key:, label:, rake_task:, description: nil, permission: :manage_admin) ⇒ Object
Register a button-triggered command for the admin Commands screen.
- #registered_commands ⇒ Object
- #registered_commands=(list) ⇒ Object
Instance Method Details
#find_command(key) ⇒ Object
34 35 36 |
# File 'lib/ruby_cms/commands_registry.rb', line 34 def find_command(key) registered_commands.find {|e| e[:key] == key.to_s } end |
#register_command(key:, label:, rake_task:, description: nil, permission: :manage_admin) ⇒ Object
Register a button-triggered command for the admin Commands screen.
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/ruby_cms/commands_registry.rb', line 21 def register_command(key:, label:, rake_task:, description: nil, permission: :manage_admin) k = key.to_s entry = { key: k, label: label.to_s, rake_task: rake_task.to_s, description: description.to_s.presence, permission: .to_sym } self.registered_commands = registered_commands.reject {|e| e[:key] == k } + [entry] entry end |
#registered_commands ⇒ Object
6 7 8 |
# File 'lib/ruby_cms/commands_registry.rb', line 6 def registered_commands @registered_commands ||= [] end |
#registered_commands=(list) ⇒ Object
10 11 12 |
# File 'lib/ruby_cms/commands_registry.rb', line 10 def registered_commands=(list) @registered_commands = list end |