lib/mite-backup.rb in mite-backup-0.1.2 vs lib/mite-backup.rb in mite-backup-0.1.3
- old
+ new
@@ -45,17 +45,19 @@
end
private
def runnable?
- failed "Please provide your account name with --account [ACCOUNT]." unless @account
+ failed "Please provide your account subdomain with --account [ACCOUNT-SUBDOMAIN]." unless @account
failed "Please provide your mite.users email with --email [EMAIL]." unless @email
failed "Please provide your mite.users password with --password [PASSWORD]." unless @password
end
def create
- @id = parse_json(perform_request(Net::HTTP::Post.new("/account/backup.json")))["id"]
+ @id = parse_json(perform_request(Net::HTTP::Post.new("/account/backup.json")){ |code|
+ "Could not find any account located at #{domain}" if code == "404"
+ })["id"]
end
def check
MAX_CHECKS.times do |i|
sleep(SLEEP_BEFORE_EACH_CHECK)
@@ -84,24 +86,29 @@
request['User-Agent'] = USER_AGENT
response = mite.request(request)
if response.code == "401"
failed "Could not authenticate with email #{@email.inspect} and provided password. The user needs to be an admin or the owner of the mite.account!"
elsif !["200", "201"].include?(response.code)
- failed "mite responded with irregular code #{response.code}"
+ message = block_given? && yield(response.code)
+ failed(message || "mite responded with irregular code #{response.code}")
end
response.body
end
def parse_json(string)
MultiJson.decode(string)["backup"]
end
def mite
@mite ||= begin
- mite = Net::HTTP.new(URI.parse("https://#{@account}.mite.yo.lk/").host, 443)
+ mite = Net::HTTP.new(URI.parse(domain).host, 443)
mite.use_ssl = true
mite
end
+ end
+
+ def domain
+ "https://#{@account}.mite.yo.lk/"
end
def failed(reason)
$stderr.puts "Failed: #{reason}"
exit(1)