Module: Vnehm

Defined in:
lib/vnehm.rb,
lib/vnehm/os.rb,
lib/vnehm/ui.rb,
lib/vnehm/cfg.rb,
lib/vnehm/menu.rb,
lib/vnehm/track.rb,
lib/vnehm/client.rb,
lib/vnehm/command.rb,
lib/vnehm/version.rb,
lib/vnehm/playlist.rb,
lib/vnehm/applescript.rb,
lib/vnehm/path_manager.rb,
lib/vnehm/option_parser.rb,
lib/vnehm/token_manager.rb,
lib/vnehm/track_manager.rb,
lib/vnehm/command_manager.rb,
lib/vnehm/playlist_manager.rb,
lib/vnehm/commands/dl_command.rb,
lib/vnehm/tracks_view_command.rb,
lib/vnehm/commands/get_command.rb,
lib/vnehm/commands/help_command.rb,
lib/vnehm/commands/list_command.rb,
lib/vnehm/commands/search_command.rb,
lib/vnehm/commands/version_command.rb,
lib/vnehm/commands/configure_command.rb

Defined Under Namespace

Modules: AppleScript, Cfg, Client, CommandManager, OS, PathManager, PlaylistManager, TokenManager, UI Classes: Command, ConfigureCommand, DlCommand, GetCommand, HelpCommand, ListCommand, OptionParser, Playlist, SearchCommand, Track, TrackManager, TracksViewCommand, VersionCommand, VnehmExit

Constant Summary collapse

HELP =
"\#{'vnehm'.green} - \u044D\u0442\u043E \u043A\u043E\u043D\u0441\u043E\u043B\u044C\u043D\u0430\u044F \u0443\u0442\u0438\u043B\u0438\u0442\u0430, \u043A\u043E\u0442\u043E\u0440\u0430\u044F \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u0435\u0442 (\u0438 \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0435\u0442 \u0432 \u0412\u0430\u0448\u0443 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0443 iTunes) \u0430\u0443\u0434\u0438\u043E\u0437\u0430\u043F\u0438\u0441\u0438 \u0438\u0437 \u0412\u041A\u043E\u043D\u0442\u0430\u043A\u0442\u0435\n\n\#{'\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u043A\u043E\u043C\u0430\u043D\u0434\u044B:'.yellow}\n  \#{'get'.green}        \u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0438 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0442\u0440\u0435\u043A\u043E\u0432 \u0438\u0437 VK \u0432 \u0412\u0430\u0448\u0443 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u0443 iTunes\n  \#{'dl'.green}         \u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0412\u0430\u0448\u0438\u0445 \u0430\u0443\u0434\u0438\u043E\u0437\u0430\u043F\u0438\u0441\u0435\u0439 \u0438\u0437 VK\n  \#{'configure'.green}  \u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F\n  \#{'help'.green}       \u041F\u043E\u043A\u0430\u0437 \u0441\u043F\u0440\u0430\u0432\u043A\u0438 \u0434\u043B\u044F \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0439 \u043A\u043E\u043C\u0430\u043D\u0434\u044B\n  \#{'list'.green}       \u0412\u044B\u0432\u043E\u0434 \u0441\u043F\u0438\u0441\u043A\u0430 \u0412\u0430\u0448\u0438\u0445 \u0430\u0443\u0434\u0438\u043E\u0437\u0430\u043F\u0438\u0441\u0435\u0439 \u0438\u0437 VK \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445 \u0442\u0440\u0435\u043A\u043E\u0432\n  \#{'search'.green}     \u041F\u043E\u0438\u0441\u043A, \u0432\u044B\u0432\u043E\u0434 \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u044B\u0445 \u0430\u0443\u0434\u0438\u043E\u0437\u0430\u043F\u0438\u0441\u0435\u0439 \u043F\u043E \u0437\u0430\u043F\u0440\u043E\u0441\u0443\n  \#{'version'.green}    \u0412\u044B\u0432\u043E\u0434 \u0432\u0435\u0440\u0441\u0438\u0438 \u043F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u044F\n\n\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \#{'vnehm help \u041A\u041E\u041C\u0410\u041D\u0414\u0410'.yellow}, \u0447\u0442\u043E\u0431\u044B \u0443\u0437\u043D\u0430\u0442\u044C \u043F\u043E\u0434\u0440\u043E\u0431\u043D\u0435\u0435 \u043E\u0431 \u043E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043D\u043E\u0439 \u043A\u043E\u043C\u0430\u043D\u0434\u0435\n\n\u041A\u043E\u043C\u0430\u043D\u0434\u044B \u0438 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u044B (\u043D\u043E \u041D\u0415 \u043E\u043F\u0446\u0438\u0438) \u043C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u0441\u043E\u043A\u0440\u0430\u0449\u0435\u043D\u044B, \u043D\u0430\u0441\u043A\u043E\u043B\u044C\u043A\u043E \u043E\u043D\u0438 \u043C\u043E\u0433\u0443\u0442 \u0431\u044B\u0442\u044C \u043E\u0434\u043D\u043E\u0437\u043D\u0430\u0447\u043D\u044B\n\u041D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \#{'vnehm g'.magenta} \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0441\u043E\u043A\u0440\u0430\u0449\u0435\u043D\u0438\u0435\u043C \u0434\u043B\u044F \#{'vnehm get'.magenta}\n"
VERSION =
'1.1.2'.freeze

Class Method Summary collapse

Class Method Details

.initObject



52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/vnehm.rb', line 52

def init
  UI.say 'Прежде чем использовать vnehm, Вам нужно его настроить:'
  Cfg.create unless Cfg.exist?

  PathManager.set_dl_path
  UI.newline

  if OS.mac?
    PlaylistManager.set_playlist
    UI.newline
  end

  UI.say 'Теперь Вам нужно авторизоваться'
  UI.say 'Для этого следуйте инструкциям ниже:'
  TokenManager.authorize
  UI.newline

  UI.success "Теперь вы можете использовать vnehm!"
  UI.newline
  UI.sleep
end

.initialized?Boolean

Returns:

  • (Boolean)


74
75
76
# File 'lib/vnehm.rb', line 74

def initialized?
  Cfg.exist?
end

.start(args) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/vnehm.rb', line 15

def self.start(args)
  begin
    init unless initialized?

    if args.empty?
      UI.say HELP
      UI.term
    end

    CommandManager.run(args)
  rescue StandardError, Timeout::Error => ex
    Vnehm::UI.term "Ошибка во время исполнения ... (#{ex.class})\n    #{ex}"
  rescue Interrupt
  rescue VnehmExit
  end
end