Coder Social home page Coder Social logo

validates_url's Introduction

Validates URL

This gem adds the capability of validating URLs to ActiveRecord and ActiveModel.

Installation

# add this to your Gemfile
gem "validate_url"

# or run
sudo gem install validate_url

Usage

With ActiveRecord

class Pony < ActiveRecord::Base
  # standard validation
  validates :homepage, url: true

  # with allow_nil
  validates :homepage, url: { allow_nil: true }

  # with allow_blank
  validates :homepage, url: { allow_blank: true }

  # without local hostnames
  validates :homepage, url: { no_local: true }

  # with custom schemes
  validates :homepage, url: { schemes: ['https'] }

  # with public suffix database https://publicsuffix.org/
  validates :homepage, url: { public_suffix: true }
end

With ActiveModel

class Unicorn
  include ActiveModel::Validations

  attr_accessor :homepage

  # with legacy syntax (the syntax above works also)
  validates_url :homepage, allow_blank: true
end

With RSpec

Require the matcher in spec_helper.rb or rails_helper.rb:

require 'validate_url/rspec_matcher'

In your spec:

describe Unicorn
  it { is_expected.to validate_url_of(:homepage) }
end

I18n

The default error message is not a valid URL. You can pass the message: "my custom error" option to your validation to define your own, custom message.

Contributing

Big thanks to Tanel Suurhans, Tarmo Lehtpuu, Steve Smith and all the contributors! We appreciate all your work on new features and bugfixes.

Credits

Validates URL is created and maintained by PerfectLine, LLC.

License

Validates URL is Copyright © 2010-2014 PerfectLine, LLC. It is free software, and may be redistributed under the terms specified in the LICENSE file.

How to push new version

rake version:bump:patch
rake gemspec

Fix validate_url.gemspec to remove unneeded wrong strings

gem build validate_url.gemspec
gem push validate_url-1.0.8.gem

validates_url's People

Contributors

kritik avatar donaldpiret avatar dependabot[bot] avatar cmason avatar novik avatar yyalim avatar gaga5lala avatar akestner avatar guillaumeocculy avatar martinkivi avatar wkrsz avatar dwilkie avatar eric-guo avatar delphaber avatar modsognir avatar goodreads-dev avatar imteekay avatar madogiwa0124 avatar markijbema avatar coneybeare avatar quintasan avatar mothonmars avatar okuramasafumi avatar olleolleolle avatar philipgiuliani avatar rimenes avatar sirrawlins avatar seenkoo avatar singpolyma-shopify avatar lautis avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.