From 489abd713a80f8c053bd513b6f05f5ee287f6d5b Mon Sep 17 00:00:00 2001 From: Scott Schneider Date: Mon, 3 Nov 2014 13:07:22 -0800 Subject: [PATCH] Wrap hostname-shortening into a [Sinatra helper] method --- lib/vmpooler/api.rb | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/lib/vmpooler/api.rb b/lib/vmpooler/api.rb index 4ae70e4..40c9156 100644 --- a/lib/vmpooler/api.rb +++ b/lib/vmpooler/api.rb @@ -22,6 +22,16 @@ module Vmpooler set :environment, 'production' + helpers do + def hostname_shorten hostname + if ( $config[:config]['domain'] and hostname =~ /^\w+\.#{$config[:config]['domain']}$/ ) + hostname = hostname[/[^\.]+/] + end + + hostname + end + end + get '/' do erb :dashboard, locals: { site_name: $config[:config]['site_name'] || 'vmpooler', @@ -293,9 +303,7 @@ module Vmpooler result['ok'] = false - if ( $config[:config]['domain'] and params[:hostname] =~ /^\w+\.#{$config[:config]['domain']}$/ ) - params[:hostname] = params[:hostname][/[^\.]+/] - end + params[:hostname] = hostname_shorten(params[:hostname]) if $redis.exists('vmpooler__vm__'+params[:hostname]) result['ok'] = true @@ -321,9 +329,7 @@ module Vmpooler result['ok'] = false - if ( $config[:config]['domain'] and params[:hostname] =~ /^\w+\.#{$config[:config]['domain']}$/ ) - params[:hostname] = params[:hostname][/[^\.]+/] - end + params[:hostname] = hostname_shorten(params[:hostname]) $config[:pools].each do |pool| if $redis.sismember('vmpooler__running__'+pool['name'], params[:hostname]) @@ -343,9 +349,7 @@ module Vmpooler result['ok'] = false - if ( $config[:config]['domain'] and params[:hostname] =~ /^\w+\.#{$config[:config]['domain']}$/ ) - params[:hostname] = params[:hostname][/[^\.]+/] - end + params[:hostname] = hostname_shorten(params[:hostname]) if $redis.exists('vmpooler__vm__'+params[:hostname]) jdata = JSON.parse(request.body.read)