Sha256: 8e07c6c496744a9a73124ae0ddb15416efc15dec5a92c987022096dfafbcfe6a

Contents?: true

Size: 413 Bytes

Versions: 3

Compression:

Stored size: 413 Bytes

Contents

require 'ox'
class GcxSiteNameValidator < ActiveModel::EachValidator
  def validate_each(record, attribute, value)
    if value =~ /^[a-z][a-z0-9_\-]{2,79}$/i
      res = RestClient.get(GcxApi.gcx_url + "/wp-gcx/check-name.php?name=#{value}")
      doc = Ox.parse(res)
      unless doc.nodes.first.attributes[:result] == 'true'
        record.errors[attribute] << "is already taken"
      end
    end
  end
end


Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
gcx_api-0.0.3 lib/validators/gcx_site_name_validator.rb
gcx_api-0.0.2 lib/validators/gcx_site_name_validator.rb
gcx_api-0.0.1 lib/validators/gcx_site_name_validator.rb