Class: Antwort::CLI
- Inherits:
-
Thor
show all
- Includes:
- FileHelpers, Thor::Actions
- Defined in:
- lib/antwort/cli/cli.rb,
lib/antwort/cli/send.rb,
lib/antwort/cli/upload.rb
Defined Under Namespace
Classes: Send, Upload
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
#count_files, #create_file!, #email_id_from_folder_name, #list_folders
Instance Attribute Details
#email_id ⇒ Object
Returns the value of attribute email_id.
200
201
202
|
# File 'lib/antwort/cli/cli.rb', line 200
def email_id
@email_id
end
|
#project_name ⇒ Object
Returns the value of attribute project_name.
200
201
202
|
# File 'lib/antwort/cli/cli.rb', line 200
def project_name
@project_name
end
|
Class Method Details
.source_root ⇒ Object
set template source path for Thor
9
10
11
|
# File 'lib/antwort/cli/cli.rb', line 9
def self.source_root
File.expand_path('../../../template', File.dirname(__FILE__))
end
|
Instance Method Details
#build(email_id = '') ⇒ Object
134
135
136
137
138
139
140
141
142
143
144
|
# File 'lib/antwort/cli/cli.rb', line 134
def build(email_id = '')
if email_id.empty?
say 'Error: ', :red
say 'build which email?'
list
else
to_build = options[:all] ? EmailCollection.new.list : email_id
Build.new(to_build, options).create!
show_accuracy_warning if options[:partials]
end
end
|
#init(project_name) ⇒ Object
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/antwort/cli/cli.rb', line 31
def init(project_name)
@project_name = project_name
@user = options[:user] if options[:user]
@key = options[:key] if options[:key]
copy_project
initialize_git_repo if options[:git]
run_bundler if options[:bundle]
say "New project initialized in: ./#{project_directory}/", :green
end
|
#list ⇒ Object
55
56
57
58
59
|
# File 'lib/antwort/cli/cli.rb', line 55
def list
EmailCollection.new.list.each do |email_id|
puts "- #{email_id}"
end
end
|
#new(email_id) ⇒ Object
46
47
48
49
|
# File 'lib/antwort/cli/cli.rb', line 46
def new(email_id)
@email_id = email_id
copy_email
end
|
#prune ⇒ Object
154
155
156
157
158
159
160
161
162
163
164
165
166
|
# File 'lib/antwort/cli/cli.rb', line 154
def prune
if confirms_prune?
build_dir = File.expand_path('./build')
Dir.foreach(build_dir) do |f|
next if f.to_s[0] == '.'
say ' delete ', :red
say "./build/#{f}/"
FileUtils.rm_rf(File.expand_path("./build/#{f}"))
end
else
say 'prune aborted.'
end
end
|
#remove(email_id) ⇒ Object
176
177
178
179
180
181
182
183
184
185
186
187
188
189
|
# File 'lib/antwort/cli/cli.rb', line 176
def remove(email_id)
@email_id = email_id
unless can_remove?
say "The '#{email_id}' folder is a project dependency and cannot be removed.", :red
return
end
if confirms_remove?
remove_email
else
say 'Remove aborted.'
end
end
|
#send(email_id) ⇒ Object
88
89
90
91
92
93
94
95
96
97
98
99
100
|
# File 'lib/antwort/cli/cli.rb', line 88
def send(email_id)
require 'antwort/cli/send'
build = last_build_by_id(email_id)
if build.nil?
say ' warning ', :yellow
say "No build found for '#{email_id}'. Building now..."
build(email_id)
build = last_build_by_id(email_id)
end
Send.new(build, options).send
end
|
#server ⇒ Object
110
111
112
113
|
# File 'lib/antwort/cli/cli.rb', line 110
def server
require 'antwort'
Antwort::Server.run!(port: options[:port])
end
|
#upload(email_id) ⇒ Object
66
67
68
69
|
# File 'lib/antwort/cli/cli.rb', line 66
def upload(email_id)
require 'antwort/cli/upload'
Upload.new(email_id).upload
end
|
#version ⇒ Object
194
195
196
|
# File 'lib/antwort/cli/cli.rb', line 194
def version
puts "Version: #{Antwort::VERSION}" if options[:version]
end
|