Class: Softcover::CLI

Inherits:
Thor
  • Object
show all
Includes:
Utils
Defined in:
lib/softcover/cli.rb

Constant Summary

Constants included from Utils

Utils::UNITS

Instance Method Summary collapse

Methods included from Utils

#add_highlight_class!, #article?, #as_size, #book_file_lines, #chapter_label, #commands, #current_book, #dependency_filename, #digest, #executable, #execute, #filename_or_default, #get_filename, #in_book_directory?, #language_labels, #linux?, #logged_in?, #master_content, #master_filename, #master_latex_header, #mkdir, #non_comment_lines, #os_x?, #path, #raw_lines, #reset_current_book!, #rm, #rm_r, #silence, #source, #template_dir, #tmpify, #unpublish_slug, #write_master_latex_file, #write_pygments_file

Instance Method Details

#buildObject



27
28
29
# File 'lib/softcover/cli.rb', line 27

def build
  Softcover::Commands::Build.all_formats(options)
end

#checkObject



91
92
93
# File 'lib/softcover/cli.rb', line 91

def check
  Softcover::Commands::Check.check_dependencies!
end

#cleanObject



77
78
79
80
81
82
83
84
85
# File 'lib/softcover/cli.rb', line 77

def clean
  rm(Dir.glob('*.aux'))
  rm(Dir.glob(File.join('chapters', '*.aux')))
  rm(Dir.glob('*.toc'))
  rm(Dir.glob('*.out'))
  rm(Dir.glob('*.tmp.*'))
  rm(Dir.glob(path('tmp/*')))
  rm('.highlight_cache')
end

#configObject



242
243
244
245
246
# File 'lib/softcover/cli.rb', line 242

def config
  require "softcover/config"
  puts "Reading contents of #{Softcover::Config.path}:"
  Softcover::Config.read
end

#deployObject



195
196
197
# File 'lib/softcover/cli.rb', line 195

def deploy
  Softcover::Commands::Deployment.deploy!
end

#loginObject



115
116
117
118
119
120
121
122
123
124
125
126
127
# File 'lib/softcover/cli.rb', line 115

def 
  puts "Logging in."

  logged_in = false
  while not logged_in do
    email = ask "Email:"
    password = ask_without_echo "Password (won't be shown):"
    unless logged_in = Softcover::Commands::Auth.(email, password)
      puts "Invalid login, please try again."
    end
  end
  puts "Welcome back, #{email}!"
end

#logoutObject



130
131
132
# File 'lib/softcover/cli.rb', line 130

def logout
  Softcover::Commands::Auth.logout
end

#new(n) ⇒ Object



214
215
216
# File 'lib/softcover/cli.rb', line 214

def new(n)
  Softcover::Commands::Generator.generate_file_tree(n, options)
end

#openObject



223
224
225
# File 'lib/softcover/cli.rb', line 223

def open
  Softcover::Commands::Opener.open!
end

#publishObject



145
146
147
148
149
150
151
152
# File 'lib/softcover/cli.rb', line 145

def publish
  require 'softcover/commands/publisher'

  invoke :login unless logged_in?

  puts "Publishing..." unless options[:silent]
  Softcover::Commands::Publisher.publish!(options)
end

#serverObject



101
102
103
104
105
106
107
108
# File 'lib/softcover/cli.rb', line 101

def server
  if Softcover::BookManifest::valid_directory?
    Softcover::Commands::Server.run options[:port]
  else
    puts 'Not in a valid book directory.'
    exit 1
  end
end

#unpublishObject



178
179
180
181
182
183
184
185
186
187
188
189
# File 'lib/softcover/cli.rb', line 178

def unpublish
  require 'softcover/commands/publisher'

  invoke :login unless logged_in?
  slug = options[:slug] || unpublish_slug
  if options[:force] || ask("Type '#{slug}' to unpublish:") == slug
    puts "Unpublishing..." unless options[:silent]
    Softcover::Commands::Publisher.unpublish!(slug)
  else
    puts "Canceled."
  end
end

#versionObject



12
13
14
15
16
# File 'lib/softcover/cli.rb', line 12

def version
  require 'softcover/version'
  puts "Softcover #{Softcover::VERSION}"
  exit 0
end