Sha256: d80f4315cbb06eacbf6f087446fdb0f775d6b8d446c9f61e346d889d10286bf0

Contents?: true

Size: 449 Bytes

Versions: 5

Compression:

Stored size: 449 Bytes

Contents

module RailsAdminSettings
  class HexColorValidator < ActiveModel::EachValidator
    def validate_each(record, attribute, value)
      record.errors[attribute] << (options[:message] || I18n.t('admin.settings.invalid_color')) unless value.blank? || self.class.matches?(value)
    end
    def self.matches?(value)
      return false unless value
      /^(?:[0-9a-f]{3})(?:[0-9a-f]{3})?$/i.match(value).nil? ? false : true
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rails_admin_settings-0.5.0 lib/rails_admin_settings/hex_color_validator.rb
rails_admin_settings-0.4.3 lib/rails_admin_settings/hex_color_validator.rb
rails_admin_settings-0.4.2 lib/rails_admin_settings/hex_color_validator.rb
rails_admin_settings-0.4.1 lib/rails_admin_settings/hex_color_validator.rb
rails_admin_settings-0.4.0 lib/rails_admin_settings/hex_color_validator.rb