module Cliz
Public Instance Methods
create_index_file(url, folder_path)
click to toggle source
# File lib/functions.rb, line 34 def create_index_file url, folder_path html = %Q{ <!DOCTYPE html> <html> <head> <meta content="text/html;charset=utf-8" http-equiv="Content-Type"> <meta content="utf-8" http-equiv="encoding"> <script type="text/javascript"> window.location.replace("https://cliz.in"); </script> <meta http-equiv="refresh" content="0; url='https://cliz.in'" /> </head> <body> <p>Please follow <a href="https://cliz.in">this link</a>.</p> </body> </html> } redirect_content = html.gsub 'https://cliz.in', url FileUtils.mkdir_p(folder_path) File.open "#{folder_path}/index.html", 'w' do |f| f.puts redirect_content end end
generate_short_suggestion(output_directory)
click to toggle source
# File lib/functions.rb, line 20 def generate_short_suggestion output_directory counter = 0 random_string = nil loop do random_string = SecureRandom.alphanumeric[..counter] folder_path = File.join(output_directory, random_string, '/') break unless File.directory?(folder_path) counter += 1 end random_string end
get_a_folder_path(output_directory, short_suggestion = nil)
click to toggle source
Gets a folder path for the shortened url
# File lib/functions.rb, line 7 def get_a_folder_path output_directory, short_suggestion = nil folder_path = nil short_suggestion ||= generate_short_suggestion output_directory folder_path = File.join(output_directory, short_suggestion, '/') if File.directory?(folder_path) raise ("This short URL is already taken.") end folder_path end
short(config, url, short_suggestion = nil)
click to toggle source
# File lib/functions.rb, line 60 def short config, url, short_suggestion = nil output_dir = config['output_dir'] base_domain = config['base_domain'] deploy_script = config['deploy_script'] pre_script = config['pre_script'] system("sh #{pre_script}") if pre_script short_suggestion ||= generate_short_suggestion output_dir folder_path = get_a_folder_path output_dir, short_suggestion create_index_file(url, folder_path) system("sh #{deploy_script}") if deploy_script File.join base_domain, short_suggestion end