Class: Misoni::CLI

Inherits:
Thor
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/misoni/cli.rb

Constant Summary collapse

LAUNCH_AGENT_DIR =
"#{ENV['HOME']}/Library/LaunchAgents"
LAUNCH_AGENT_FILE =
"#{LAUNCH_AGENT_DIR}/com.neoneobeam.misoni.plist"
LOG_DIR =
"#{ENV['HOME']}/Library/Logs/com.neoneobeam.misoni"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



16
17
18
# File 'lib/misoni/cli.rb', line 16

def self.source_root
  File.dirname(__FILE__)
end

Instance Method Details

#authObject



48
49
50
51
# File 'lib/misoni/cli.rb', line 48

def auth
  success = Misoni.auth
  say 'Succeeded', Thor::Shell::Color::GREEN if success
end

#configObject



43
44
45
# File 'lib/misoni/cli.rb', line 43

def config
  Misoni.config
end

#installObject



21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/misoni/cli.rb', line 21

def install
  empty_directory LOG_DIR
  if Misoni.in_rbenv?
    template "templates/com.neoneobeam.misoni.plist.rbenv.tt", "#{LAUNCH_AGENT_FILE}"
  else
    template "templates/com.neoneobeam.misoni.plist.tt", "#{LAUNCH_AGENT_FILE}"
  end
  run "sudo chmod 600 #{LAUNCH_AGENT_FILE}"
  run "sudo chown root #{LAUNCH_AGENT_FILE}"
  run "launchctl load #{LAUNCH_AGENT_FILE}"
  say
  say 'Completed install. Please run `misoni config` or `pit set "http://auth.zokei.ac.jp:16978"` to set your ID/Password.', Thor::Shell::Color::GREEN
end

#uninstallObject



36
37
38
39
40
# File 'lib/misoni/cli.rb', line 36

def uninstall
  run "launchctl unload #{LAUNCH_AGENT_FILE}"
  return unless File.exist?(LAUNCH_AGENT_FILE)
  remove_file LAUNCH_AGENT_FILE
end

#versionObject



54
55
56
# File 'lib/misoni/cli.rb', line 54

def version
  say "misoni #{Misoni::VERSION}"
end