class Dude::Setup::Toggl

Attributes

prompt[R]

Public Class Methods

new(prompt) click to toggle source
# File lib/dude/setup/toggl.rb, line 6
def initialize(prompt)
  @prompt = prompt
end

Public Instance Methods

call(settings:) click to toggle source
# File lib/dude/setup/toggl.rb, line 10
def call(settings:)
  settings[:toggl][:token] = setup_token
  settings[:toggl][:project_name] = setup_project_name
  settings[:toggl][:workspace_id] = setup_workspace_id
  settings
end

Private Instance Methods

setup_project_name() click to toggle source
# File lib/dude/setup/toggl.rb, line 37
def setup_project_name
  prompt.ask(Dude::Config.style_prompt('Your Toggl project name:'), required: true)
end
setup_token() click to toggle source
# File lib/dude/setup/toggl.rb, line 21
      def setup_token
        puts <<~HEREDOC
          You need to create personal token

          #{'1.'.bold} Log in to https://trello.com/app-key
          #{'2.'.bold} Your Toggl API token can be found at the bottom of the page
          #{'3.'.bold} Press --Click to Reveal-- and paste token below
        HEREDOC

        if prompt.yes?(Dude::Config.style_prompt('Open Toggl profile page in your browser?'))
          `open https://track.toggl.com/profile`
        end

        prompt.ask(Dude::Config.style_prompt('Toggl token:'), required: true)
      end
setup_workspace_id() click to toggle source
# File lib/dude/setup/toggl.rb, line 41
def setup_workspace_id
  puts 'Can be copied from url here: https://toggl.com/app/projects/ (Example: 123456)'
  prompt.ask(Dude::Config.style_prompt('Workspace ID:'), required: true)
end