Sha256: b47e6f27b28049334a3bbf9656652e3e6f35421c0e651a0b70ecd33c0d80639c

Contents?: true

Size: 999 Bytes

Versions: 3

Compression:

Stored size: 999 Bytes

Contents

require 'thor'

module WorkingMan
  class CLI < Thor
    require 'working_man/cli/config'

    class_option :file, default: '~/.working_man.yml', aliases: '-f'

    desc 'start', 'Starts your work day'
    def start
      configuration_check(options[:file])

      print "Staring work...\n"

      WorkingMan::Actions.launch_applications($config['apps'])
      WorkingMan::Actions.open_urls($config['urls'])

      print "Work hard today!\n"
    end

    desc 'stop', 'Stop working and go home!'
    def stop
      configuration_check(options[:file])

      print "Stopping work...\n"

      WorkingMan::Actions.close_applications($config['apps'])

      print "Have a great day!\n"
    end

    desc 'version', 'Print the version'
    def version
      print "#{WorkingMan::VERSION}\n"
    end
    map ['-v', '--version'] => :version

    private
    def configuration_check(file)
      config_path = File.expand_path(file)
      WorkingMan::CLI::Config.check_config(config_path)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
working_man-1.2.0 lib/working_man/cli.rb
working_man-1.1.0 lib/working_man/cli.rb
working_man-1.0.0 lib/working_man/cli.rb