class Durt::GlobalController
Public Instance Methods
console()
click to toggle source
# File lib/durt/global_controller.rb, line 31 def console binding.pry end
create_project()
click to toggle source
# File lib/durt/global_controller.rb, line 3 def create_project project_name = prompt.ask('What will you name your project?') Durt::Project.create(name: project_name) end
create_project_config(project)
click to toggle source
# File lib/durt/global_controller.rb, line 9 def create_project_config(project) project.tap { |p| p.config!('plugins' => plugins_config) } end
select_project(project = nil)
click to toggle source
# File lib/durt/global_controller.rb, line 13 def select_project(project = nil) projects = Durt::Project.all project ||= begin prompt.select('Select project:', projects.to_choice_h) end projects.update_all(active: false) project.tap(&:active!) end
switch_to_project(project)
click to toggle source
# File lib/durt/global_controller.rb, line 25 def switch_to_project(project) project.tap do |p| p.time_tracker_plugins.each(&:switch_project) end end
Private Instance Methods
plugins_config()
click to toggle source
# File lib/durt/global_controller.rb, line 37 def plugins_config all_plugins = Durt::Plugin.all plugin_choices = (all_plugins - [Durt::LocalPlugin]) .map { |p| [p.plugin_name, p] } .to_h prompt .multi_select('Select plugins', plugin_choices) .push(Durt::LocalPlugin) .map { |p| [p.plugin_name, p.demo_config] } .to_h end
prompt()
click to toggle source
# File lib/durt/global_controller.rb, line 51 def prompt @prompt ||= TTY::Prompt.new end