module Crowbar::Client::Mixin::Database

A mixin with barclamp related helpers

Constants

REGEX_DATABASE
REGEX_HOSTNAME
REGEX_IPV4
REGEX_PASSWORD
REGEX_PORT
REGEX_USERNAME

Public Instance Methods

fields() click to toggle source
# File lib/crowbar/client/mixin/database.rb, line 60
def fields
  [
    :username,
    :password,
    :database,
    :host,
    :port
  ]
end
valid?(field, value) click to toggle source
# File lib/crowbar/client/mixin/database.rb, line 43
def valid?(field, value)
  case field
  when :username
    !value.match(/#{REGEX_USERNAME}/).nil?
  when :password
    !value.match(/#{REGEX_PASSWORD}/).nil?
  when :database
    !value.match(/#{REGEX_DATABASE}/).nil?
  when :host
    !value.match(/#{REGEX_HOSTNAME}|#{REGEX_IPV4}/).nil?
  when :port
    !value.match(/#{REGEX_PORT}/).nil?
  else
    false
  end
end
validate_params!(params) click to toggle source
# File lib/crowbar/client/mixin/database.rb, line 36
def validate_params!(params)
  fields.each do |field|
    next if valid?(field, params.send(field))
    raise InvalidDatabaseParameterError, field
  end
end