diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e631b5d..f2c9bc7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,11 +9,11 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - ruby-version: ['2.6.10'] + ruby-version: ['2.7.8', '3.0.7'] steps: - uses: actions/checkout@v3 - name: Set up Ruby ${{ matrix.ruby-version }} - uses: ruby/setup-ruby@v1.133.0 + uses: ruby/setup-ruby@v1.218.0 with: ruby-version: ${{ matrix.ruby-version }} bundler-cache: true @@ -24,14 +24,14 @@ jobs: name: linters / rubocop runs-on: ubuntu-latest env: - RUBY_VERSION: 2.6.10 + RUBY_VERSION: 2.7.8 RUBOCOP_VERSION: 1.41.1 steps: - name: Codebase Checkout uses: actions/checkout@v3 - name: Setup Ruby - uses: ruby/setup-ruby@v1.133.0 + uses: ruby/setup-ruby@v1.218.0 with: ruby-version: ${{ env.RUBY_VERSION }} bundler-cache: true diff --git a/.rubocop.yml b/.rubocop.yml index da4db36..050a1f3 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,2 +1,2 @@ AllCops: - TargetRubyVersion: 2.6 + TargetRubyVersion: 2.7 diff --git a/Gemfile.lock b/Gemfile.lock index eaa984f..d7c2fa4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,76 +1,75 @@ PATH remote: . specs: - validate_url (1.0.3) - activemodel (>= 3.0.0) + validate_url (1.0.4) + activemodel (>= 3.0.0, < 7.0) addressable - public_suffix (~> 2.x.x) + public_suffix (~> 4.0.0) GEM remote: https://rubygems.org/ specs: - activemodel (5.2.2) - activesupport (= 5.2.2) - activerecord (5.2.2) - activemodel (= 5.2.2) - activesupport (= 5.2.2) - arel (>= 9.0) - activesupport (5.2.2) + activemodel (6.1.7.10) + activesupport (= 6.1.7.10) + activerecord (6.1.7.10) + activemodel (= 6.1.7.10) + activesupport (= 6.1.7.10) + activesupport (6.1.7.10) concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - addressable (2.5.2) - public_suffix (>= 2.0.2, < 4.0) - arel (9.0.0) - builder (3.2.3) - concurrent-ruby (1.1.3) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + base64 (0.2.0) + builder (3.3.0) + concurrent-ruby (1.3.4) descendants_tracker (0.0.4) thread_safe (~> 0.3, >= 0.3.1) diff-lcs (1.3) faraday (0.9.2) multipart-post (>= 1.2, < 3) git (1.5.0) - github_api (0.11.3) - addressable (~> 2.3) - descendants_tracker (~> 0.0.1) - faraday (~> 0.8, < 0.10) - hashie (>= 1.2) - multi_json (>= 1.7.5, < 2.0) - nokogiri (~> 1.6.0) - oauth2 - hashie (3.6.0) + github_api (0.18.1) + addressable (~> 2.4) + descendants_tracker (~> 0.0.4) + faraday (~> 0.8) + hashie (>= 3.4) + oauth2 (~> 1.0) + hashie (5.0.0) highline (2.0.0) - i18n (1.2.0) + i18n (1.14.7) concurrent-ruby (~> 1.0) - jeweler (2.3.5) + jeweler (2.1.1) builder bundler (>= 1.0) git (>= 1.2.5) - github_api (~> 0.11.0) + github_api highline (>= 1.6.15) nokogiri (>= 1.5.10) - psych (~> 2.2) rake rdoc - semver2 - jwt (2.1.0) - mini_portile2 (2.1.0) - minitest (5.11.3) - multi_json (1.13.1) + semver + jwt (2.10.1) + base64 + mini_portile2 (2.8.8) + minitest (5.25.4) + multi_json (1.15.0) multi_xml (0.6.0) - multipart-post (2.0.0) - nokogiri (1.6.8.1) - mini_portile2 (~> 2.1.0) - oauth2 (1.4.1) - faraday (>= 0.8, < 0.16.0) + multipart-post (2.4.1) + nokogiri (1.15.7) + mini_portile2 (~> 2.8.2) + racc (~> 1.4) + oauth2 (1.4.8) + faraday (>= 0.8, < 3.0) jwt (>= 1.0, < 3.0) multi_json (~> 1.3) multi_xml (~> 0.5) rack (>= 1.2, < 3) - psych (2.2.4) - public_suffix (2.0.5) - rack (2.2.8) + public_suffix (4.0.7) + racc (1.8.1) + rack (2.2.10) rake (12.3.0) rdoc (6.0.4) rspec (3.8.0) @@ -86,23 +85,25 @@ GEM diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.8.0) rspec-support (3.8.0) - semver2 (3.4.2) - sqlite3 (1.3.13) + semver (1.0.1) + sqlite3 (1.6.9) thread_safe (0.3.6) - tzinfo (1.2.5) - thread_safe (~> 0.1) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) + zeitwerk (2.6.18) PLATFORMS ruby DEPENDENCIES - activerecord + activerecord (< 7.0) + concurrent-ruby (= 1.3.4) diff-lcs (>= 1.1.2) jeweler rake rspec (>= 3.0.0) - sqlite3 + sqlite3 (= 1.6.9) validate_url! BUNDLED WITH - 1.17.1 + 2.4.15 diff --git a/VERSION.yml b/VERSION.yml index 4a08c4f..c9986fd 100644 --- a/VERSION.yml +++ b/VERSION.yml @@ -1,5 +1,5 @@ --- :major: 1 :minor: 0 -:patch: 2 +:patch: 4 :build: diff --git a/lib/validate_url.rb b/lib/validate_url.rb index 075b3bc..ff4841f 100644 --- a/lib/validate_url.rb +++ b/lib/validate_url.rb @@ -2,16 +2,16 @@ require 'active_model' require 'active_support/i18n' require 'public_suffix' -I18n.load_path += Dir[File.dirname(__FILE__) + "/locale/*.yml"] +I18n.load_path += Dir[File.dirname(__FILE__) + '/locale/*.yml'] module ActiveModel module Validations class UrlValidator < ActiveModel::EachValidator def initialize(options) - options.reverse_merge!(:schemes => %w(http https)) - options.reverse_merge!(:no_local => false) - options.reverse_merge!(:public_suffix => false) - options.reverse_merge!(:no_pre_query => false) + options.reverse_merge!(schemes: %w[http https]) + options.reverse_merge!(no_local: false) + options.reverse_merge!(public_suffix: false) + options.reverse_merge!(no_pre_query: false) super(options) end @@ -33,9 +33,10 @@ def validate_each(record, attribute, value) add_error(options.fetch(:message, :url_host)) unless validate_host_presence(uri) add_error(options.fetch(:message, :url_suffix)) unless validate_suffix(uri, public_suffix) add_error(options.fetch(:message, :url_suffix)) unless validate_no_local(uri, no_local) - add_error(*options.fetch(:message, [:url_scheme, :schemes => schemes.join(', ')])) unless validate_scheme_presence(uri, schemes) + unless validate_scheme_presence(uri, schemes) + add_error(*options.fetch(:message, [:url_scheme, schemes: schemes.join(', ')])) + end add_error(options.fetch(:message, :url_path)) unless validate_pre_query(uri, no_pre_query) - rescue Addressable::URI::InvalidURIError add_error(options.fetch(:message, :url)) end @@ -43,7 +44,10 @@ def validate_each(record, attribute, value) def add_error(*message) return if @errors.include?(message) - @record.errors.add(@attribute, *message) + + arg = message.slice(0) + kwargs = message.slice(1) || {} + @record.errors.add(@attribute, arg, **kwargs) @errors << message end @@ -52,7 +56,7 @@ def validate_host_presence(uri) end def validate_suffix(uri, public_suffix) - !public_suffix || (PublicSuffix.valid?(uri.host, :default_rule => nil)) + !public_suffix || PublicSuffix.valid?(uri.host, default_rule: nil) end def validate_no_local(uri, no_local) @@ -65,9 +69,8 @@ def validate_scheme_presence(uri, schemes) def validate_pre_query(uri, no_pre_query) # URLs with queries should have a '/' before the '?'. - no_pre_query || uri.query.nil? || uri.path&.starts_with?('/') + no_pre_query || uri.query.nil? || uri.path&.start_with?('/') end - end module ClassMethods diff --git a/spec/resources/user.rb b/spec/resources/user.rb index 30b4c04..3d9edfa 100644 --- a/spec/resources/user.rb +++ b/spec/resources/user.rb @@ -3,5 +3,5 @@ class User attr_accessor :homepage - validates :homepage, :url => true + validates :homepage, url: true end diff --git a/spec/resources/user_with_ar.rb b/spec/resources/user_with_ar.rb index 28b7c8a..4aa754a 100644 --- a/spec/resources/user_with_ar.rb +++ b/spec/resources/user_with_ar.rb @@ -1,5 +1,5 @@ class UserWithAr < ActiveRecord::Base - self.table_name = "users" + self.table_name = 'users' - validates :homepage, :url => true + validates :homepage, url: true end diff --git a/spec/resources/user_with_ar_legacy.rb b/spec/resources/user_with_ar_legacy.rb index e970800..2298811 100644 --- a/spec/resources/user_with_ar_legacy.rb +++ b/spec/resources/user_with_ar_legacy.rb @@ -1,5 +1,5 @@ class UserWithArLegacy < ActiveRecord::Base - self.table_name = "users" + self.table_name = 'users' validates_url :homepage end diff --git a/spec/resources/user_with_blank.rb b/spec/resources/user_with_blank.rb index a8363d9..6af6b11 100644 --- a/spec/resources/user_with_blank.rb +++ b/spec/resources/user_with_blank.rb @@ -5,5 +5,5 @@ class UserWithBlank attr_accessor :homepage - validates :homepage, :url => {:allow_blank => true} + validates :homepage, url: { allow_blank: true } end diff --git a/spec/resources/user_with_custom_message.rb b/spec/resources/user_with_custom_message.rb index b17bc55..e7fc789 100644 --- a/spec/resources/user_with_custom_message.rb +++ b/spec/resources/user_with_custom_message.rb @@ -3,5 +3,5 @@ class UserWithCustomMessage attr_accessor :homepage - validates :homepage, :url => {message: "wrong"} + validates :homepage, url: { message: 'wrong' } end diff --git a/spec/resources/user_with_custom_scheme.rb b/spec/resources/user_with_custom_scheme.rb index 9c56d23..cc0b475 100644 --- a/spec/resources/user_with_custom_scheme.rb +++ b/spec/resources/user_with_custom_scheme.rb @@ -3,5 +3,5 @@ class UserWithCustomScheme attr_accessor :homepage - validates :homepage, :url => { :schemes => ['ftp'] } + validates :homepage, url: { schemes: ['ftp'] } end diff --git a/spec/resources/user_with_legacy_syntax.rb b/spec/resources/user_with_legacy_syntax.rb index 06e77b4..d76c089 100644 --- a/spec/resources/user_with_legacy_syntax.rb +++ b/spec/resources/user_with_legacy_syntax.rb @@ -5,5 +5,5 @@ class UserWithLegacySyntax attr_accessor :homepage - validates_url :homepage, :allow_blank => true + validates_url :homepage, allow_blank: true end diff --git a/spec/resources/user_with_nil.rb b/spec/resources/user_with_nil.rb index fa033b9..45336cf 100644 --- a/spec/resources/user_with_nil.rb +++ b/spec/resources/user_with_nil.rb @@ -5,5 +5,5 @@ class UserWithNil attr_accessor :homepage - validates :homepage, :url => {:allow_nil => true} + validates :homepage, url: { allow_nil: true } end diff --git a/spec/resources/user_with_no_local.rb b/spec/resources/user_with_no_local.rb index 2e302e3..f93a9ec 100644 --- a/spec/resources/user_with_no_local.rb +++ b/spec/resources/user_with_no_local.rb @@ -5,5 +5,5 @@ class UserWithNoLocal attr_accessor :homepage - validates :homepage, :url => {:no_local => true} -end \ No newline at end of file + validates :homepage, url: { no_local: true } +end diff --git a/spec/resources/user_with_no_pre_query.rb b/spec/resources/user_with_no_pre_query.rb index fc534cb..a30551d 100644 --- a/spec/resources/user_with_no_pre_query.rb +++ b/spec/resources/user_with_no_pre_query.rb @@ -5,5 +5,5 @@ class UserWithNoPreQuery attr_accessor :homepage - validates :homepage, :url => {:no_pre_query => true} + validates :homepage, url: { no_pre_query: true } end diff --git a/spec/resources/user_with_public_suffix.rb b/spec/resources/user_with_public_suffix.rb index df90023..182f586 100644 --- a/spec/resources/user_with_public_suffix.rb +++ b/spec/resources/user_with_public_suffix.rb @@ -5,5 +5,5 @@ class UserWithPublicSuffix attr_accessor :homepage - validates :homepage, :url => {:public_suffix => true} + validates :homepage, url: { public_suffix: true } end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index daec130..7be454c 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -10,8 +10,8 @@ ActiveRecord::Migration.verbose = false ActiveRecord::Base.establish_connection( - "adapter" => "sqlite3", - "database" => ":memory:" + 'adapter' => 'sqlite3', + 'database' => ':memory:' ) require File.join(File.dirname(__FILE__), '..', 'init') diff --git a/spec/validate_url_spec.rb b/spec/validate_url_spec.rb index 0886d01..4aa687b 100644 --- a/spec/validate_url_spec.rb +++ b/spec/validate_url_spec.rb @@ -1,15 +1,11 @@ -# encoding: utf-8 require 'spec_helper' -describe "URL validation" do - +describe 'URL validation' do before(:all) do - ActiveRecord::Schema.define(:version => 1) do - - create_table :users, :force => true do |t| + ActiveRecord::Schema.define(version: 1) do + create_table :users, force: true do |t| t.column :homepage, :string end - end end @@ -17,259 +13,259 @@ ActiveRecord::Base.connection.drop_table(:users) end - context "with regular validator" do + context 'with regular validator' do before do @user = User.new end - it "should not allow nil as url" do + it 'does not allow nil as url' do @user.homepage = nil expect(@user).not_to be_valid end - it "should not allow blank as url" do - @user.homepage = "" + it 'does not allow blank as url' do + @user.homepage = '' expect(@user).not_to be_valid end - it "should not allow an url without scheme" do - @user.homepage = "www.example.com" + it 'does not allow an url without scheme' do + @user.homepage = 'www.example.com' expect(@user).not_to be_valid end - it "should allow an url with http" do - @user.homepage = "http://localhost" + it 'allows an url with http' do + @user.homepage = 'http://localhost' expect(@user).to be_valid end - it "should allow an url with https" do - @user.homepage = "https://localhost" + it 'allows an url with https' do + @user.homepage = 'https://localhost' expect(@user).to be_valid end - it "should not allow a url with an invalid scheme" do - @user.homepage = "ftp://localhost" + it 'does not allow a url with an invalid scheme' do + @user.homepage = 'ftp://localhost' expect(@user).not_to be_valid end - it "should not allow a url with only a scheme" do - @user.homepage = "http://" + it 'does not allow a url with only a scheme' do + @user.homepage = 'http://' expect(@user).not_to be_valid end - it "should not allow a url without a host" do - @user.homepage = "http:/" + it 'does not allow a url without a host' do + @user.homepage = 'http:/' expect(@user).not_to be_valid end - it "should allow a url with an underscore" do - @user.homepage = "http://foo_bar.com" + it 'allows a url with an underscore' do + @user.homepage = 'http://foo_bar.com' expect(@user).to be_valid end - it "should allow a url with query only if it has a path" do - @user.homepage = "http://foo_bar.com/?" + it 'allows a url with query only if it has a path' do + @user.homepage = 'http://foo_bar.com/?' expect(@user).to be_valid - @user.homepage = "http://foo_bar.com/?a=b" + @user.homepage = 'http://foo_bar.com/?a=b' expect(@user).to be_valid - @user.homepage = "http://foo_bar.com?a=b" + @user.homepage = 'http://foo_bar.com?a=b' expect(@user).not_to be_valid end - it "should not allow a url with no host but a query" do - @user.homepage = "http:///?a=b" - expect(@user).not_to be_valid - @user.homepage = "http://?" - expect(@user).not_to be_valid + it 'does not allow a url with no host but a query' do + @user.homepage = 'http:///?a=b' + expect(@user).not_to be_valid + @user.homepage = 'http://?' + expect(@user).not_to be_valid end - it "should return multiple error messages" do - @user.homepage = "invalid" - error_message = ["requires valid host", "requires scheme in: http, https"] + it 'returns multiple error messages' do + @user.homepage = 'invalid' + error_message = ['requires valid host', 'requires scheme in: http, https'] expect(@user).not_to be_valid expect(@user.errors[:homepage]).to eq(error_message) end - end - context "with allow nil" do + context 'with allow nil' do before do @user = UserWithNil.new end - it "should allow nil as url" do + it 'allows nil as url' do @user.homepage = nil expect(@user).to be_valid end - it "should not allow blank as url" do - @user.homepage = "" + it 'does not allow blank as url' do + @user.homepage = '' expect(@user).not_to be_valid end - it "should allow a valid url" do - @user.homepage = "http://www.example.com" + it 'allows a valid url' do + @user.homepage = 'http://www.example.com' expect(@user).to be_valid end - it "should allow a url with an underscore" do - @user.homepage = "http://foo_bar.com" + it 'allows a url with an underscore' do + @user.homepage = 'http://foo_bar.com' expect(@user).to be_valid end end - context "with allow blank" do + context 'with allow blank' do before do @user = UserWithBlank.new end - it "should allow nil as url" do + it 'allows nil as url' do @user.homepage = nil expect(@user).to be_valid end - it "should allow blank as url" do - @user.homepage = "" + it 'allows blank as url' do + @user.homepage = '' expect(@user).to be_valid end - it "should allow a valid url" do - @user.homepage = "http://www.example.com" + it 'allows a valid url' do + @user.homepage = 'http://www.example.com' expect(@user).to be_valid end - it "should allow a url with an underscore" do - @user.homepage = "http://foo_bar.com" + it 'allows a url with an underscore' do + @user.homepage = 'http://foo_bar.com' expect(@user).to be_valid end end - context "with no_local" do + context 'with no_local' do before do @user = UserWithNoLocal.new end - it "should allow a valid internet url" do - @user.homepage = "http://www.example.com" + it 'allows a valid internet url' do + @user.homepage = 'http://www.example.com' expect(@user).to be_valid end - it "should not allow a local hostname" do - @user.homepage = "http://localhost" + it 'does not allow a local hostname' do + @user.homepage = 'http://localhost' expect(@user).not_to be_valid end - it "should not allow weird urls that get interpreted as local hostnames" do - @user.homepage = "http://http://example.com" + it 'does not allow weird urls that get interpreted as local hostnames' do + @user.homepage = 'http://http://example.com' expect(@user).not_to be_valid end end - context "with no_pre_query" do + context 'with no_pre_query' do before do @user = UserWithNoPreQuery.new end - it "should allow a valid url with no pre query" do - @user.homepage = "http://foo_bar?a=b" + it 'allows a valid url with no pre query' do + @user.homepage = 'http://foo_bar?a=b' expect(@user).to be_valid end end - context "with public_suffix" do + context 'with public_suffix' do before do @user = UserWithPublicSuffix.new end - it "should allow a valid public suffix" do - @user.homepage = "http://www.example.com" + it 'allows a valid public suffix' do + @user.homepage = 'http://www.example.com' @user.should be_valid end - it "should not allow a local hostname" do - @user.homepage = "http://localhost" + it 'does not allow a local hostname' do + @user.homepage = 'http://localhost' @user.should_not be_valid end - it "should not allow non public hosts suffixes" do - @user.homepage = "http://example.not_a_valid_tld" + it 'does not allow non public hosts suffixes' do + @user.homepage = 'http://example.not_a_valid_tld' @user.should_not be_valid end end - context "with legacy syntax" do + context 'with legacy syntax' do before do @user = UserWithLegacySyntax.new end - it "should allow nil as url" do + it 'allows nil as url' do @user.homepage = nil expect(@user).to be_valid end - it "should allow blank as url" do - @user.homepage = "" + it 'allows blank as url' do + @user.homepage = '' expect(@user).to be_valid end - it "should allow a valid url" do - @user.homepage = "http://www.example.com" + it 'allows a valid url' do + @user.homepage = 'http://www.example.com' expect(@user).to be_valid end - it "should not allow invalid url" do - @user.homepage = "random" + it 'does not allow invalid url' do + @user.homepage = 'random' expect(@user).not_to be_valid end - it "should allow a url with an underscore" do - @user.homepage = "http://foo_bar.com" + it 'allows a url with an underscore' do + @user.homepage = 'http://foo_bar.com' expect(@user).to be_valid end end - context "with ActiveRecord" do + context 'with ActiveRecord' do before do @user = UserWithAr.new end - it "should not allow invalid url" do - @user.homepage = "random" + it 'does not allow invalid url' do + @user.homepage = 'random' expect(@user).not_to be_valid end end - context "with ActiveRecord and legacy syntax" do + context 'with ActiveRecord and legacy syntax' do before do @user = UserWithArLegacy.new end - it "should not allow invalid url" do - @user.homepage = "random" + it 'does not allow invalid url' do + @user.homepage = 'random' expect(@user).not_to be_valid end end - context "with regular validator and custom scheme" do + context 'with regular validator and custom scheme' do before do @user = UserWithCustomScheme.new end - it "should allow alternative URI schemes" do - @user.homepage = "ftp://ftp.example.com" + it 'allows alternative URI schemes' do + @user.homepage = 'ftp://ftp.example.com' expect(@user).to be_valid end end - context "with custom message" do + context 'with custom message' do before do @user = UserWithCustomMessage.new end - it "should use custom message" do - @user.homepage = "invalid" + it 'uses custom message' do + @user.homepage = 'invalid' @user.valid? - expect(@user.errors[:homepage]).to eq(["wrong"]) + + expect(@user.errors[:homepage]).to eq(['wrong']) end end end diff --git a/validate_url.gemspec b/validate_url.gemspec index 211f796..fe3f10c 100644 --- a/validate_url.gemspec +++ b/validate_url.gemspec @@ -2,45 +2,47 @@ # DO NOT EDIT THIS FILE DIRECTLY # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec' # -*- encoding: utf-8 -*- + # stub: validate_url 1.0.3 ruby lib Gem::Specification.new do |s| - s.name = "validate_url" - s.version = "1.0.3" + s.name = 'validate_url' + s.version = '1.0.4' - s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= - s.require_paths = ["lib"] - s.authors = ["Tanel Suurhans", "Tarmo Lehtpuu", "Vladimir Krylov"] - s.date = "2015-07-21" - s.description = "Library for validating urls in Rails." + s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version= + s.require_paths = ['lib'] + s.authors = ['Tanel Suurhans', 'Tarmo Lehtpuu', 'Vladimir Krylov'] + s.date = '2015-07-21' + s.description = 'Library for validating urls in Rails.' s.license = 'MIT' - s.email = ["tanel.suurhans@perfectline.co", "tarmo.lehtpuu@perfectline.co", "vladimir.krylov@perfectline.co"] + s.email = ['tanel.suurhans@perfectline.co', 'tarmo.lehtpuu@perfectline.co', 'vladimir.krylov@perfectline.co'] s.extra_rdoc_files = [ - "LICENSE.md", - "README.md" + 'LICENSE.md', + 'README.md' ] s.files = [ - "init.rb", - "install.rb", - "lib/locale/de.yml", - "lib/locale/en.yml", - "lib/locale/it.yml", - "lib/locale/ja.yml", - "lib/locale/pt-BR.yml", - "lib/locale/tr.yml", - "lib/validate_url.rb" + 'init.rb', + 'install.rb', + 'lib/locale/de.yml', + 'lib/locale/en.yml', + 'lib/locale/it.yml', + 'lib/locale/ja.yml', + 'lib/locale/pt-BR.yml', + 'lib/locale/tr.yml', + 'lib/validate_url.rb' ] - s.homepage = "http://github.com/perfectline/validates_url/tree/master" - s.rubygems_version = "2.4.5" - s.summary = "Library for validating urls in Rails." + s.homepage = 'http://github.com/perfectline/validates_url/tree/master' + s.rubygems_version = '2.4.5' + s.summary = 'Library for validating urls in Rails.' - s.add_runtime_dependency(%q, [">= 3.0.0"]) - s.add_runtime_dependency(%q, [">= 0"]) - s.add_runtime_dependency(%q, ["~> 2.x.x"]) - s.add_development_dependency(%q, [">= 3.0.0"]) - s.add_development_dependency(%q, [">= 1.1.2"]) - s.add_development_dependency(%q) - s.add_development_dependency(%q) - s.add_development_dependency(%q) - s.add_development_dependency(%q) + s.add_runtime_dependency('activemodel', ['>= 3.0.0', '< 7.0']) + s.add_runtime_dependency('addressable') + s.add_runtime_dependency('public_suffix', ['~> 4.0.0']) + s.add_development_dependency('activerecord', ['< 7.0']) + s.add_development_dependency('concurrent-ruby', ['= 1.3.4']) + s.add_development_dependency('diff-lcs', ['>= 1.1.2']) + s.add_development_dependency('jeweler') + s.add_development_dependency('rake') + s.add_development_dependency('rspec', ['>= 3.0.0']) + s.add_development_dependency('sqlite3', ['= 1.6.9']) end