module RestFtpDaemon module ViewsHelper def dashboard_feature name, enabled, message_on = "enabled", message_of = "disabled" # Build classes class_status = enabled ? 'enabled' : 'disabled' classes = "btn btn-default feature-#{class_status}" # Build title title_status = enabled ? message_on : message_of title = "#{name}: #{title_status}" return sprintf( '
%s
', classes, title, name, title ) end def dashboard_job_url job "#{MOUNT_JOBS}/#{job.id}" if job.respond_to? :id end def job_runs_style runs return "label-outline" if runs <= 0 return "label-info" if runs == 1 return "label-warning" if runs == 2 return "label-danger" if runs > 2 end def job_method_label method return if method.nil? klass = case method when JOB_METHOD_FILE "label-primary" when JOB_METHOD_FTP "label-warning" when JOB_METHOD_FTPS "label-success" else "label-default" end "
#{method.upcase}
" end def datetime_short datetime # return param.class return "-" if datetime.nil? return "?" unless datetime.respond_to? :to_date return datetime.to_datetime.strftime("%H:%M:%S") if datetime.to_date == Time.now.to_date datetime.to_datetime.strftime("%d/%m %H:%M:%S") end def formatted_duration duration out = [] hours = duration / (60 * 60) minutes = (duration / 60) % 60 seconds = duration % 60 out << "#{hours}h" if hours > 0 out << "#{minutes}mn" if (minutes > 0) || (hours > 0) out << "#{seconds}s" out.join(" ") end def remove_credentials path return unless path.is_a? String path.sub(/([a-z]+:\/\/[^\/]+):[^\/]+\@/, '\1@') end def token_to_label name, url = '' clean_url = remove_credentials url sprintf '%s', clean_url, name end def token_highlight path return unless path.is_a? String path.gsub(/\[([^\[]+)\]/, token_to_label('\1')) end def text_or_empty text return "-" if text.nil? || text.empty? text end end end