validates_email_format_of 1.8.0 → 1.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +9 -2
- data/CHANGELOG.md +16 -3
- data/README.md +19 -10
- data/config/locales/de.yml +1 -1
- data/lib/validates_email_format_of/version.rb +1 -1
- data/lib/validates_email_format_of.rb +2 -2
- data/spec/spec_helper.rb +0 -2
- data/spec/validates_email_format_of_spec.rb +4 -2
- data/validates_email_format_of.gemspec +0 -1
- metadata +3 -17
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 11c21b2a28ee1659e6727cc106aaf912487adf9b519eceeebd68f3dbb1750b88
         | 
| 4 | 
            +
              data.tar.gz: 8db0acd0c16c49e5042640bf159aa75caad8f75b899a5df91527d66c899012aa
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: c3fcec1122983e8bbcff3e8a388260d040851467dbb89d6a1157e38ab59fbe908c3b8c69793ac2166ee1cedaf1d78d0c6613fc4ac8c450fb523c45fda1821b59
         | 
| 7 | 
            +
              data.tar.gz: dbc08e3633edf9d254e80d6614795a36f4c806046aa6dafb1c0aa46e9aa729f19701fbf533be9253138d119b35c8203fdea1a64a87c6c364e0e53ded94e23a7c
         | 
    
        data/.github/workflows/ci.yml
    CHANGED
    
    | @@ -1,7 +1,6 @@ | |
| 1 1 | 
             
            name: CI
         | 
| 2 2 |  | 
| 3 3 | 
             
            on:
         | 
| 4 | 
            -
              - push
         | 
| 5 4 | 
             
              - pull_request
         | 
| 6 5 |  | 
| 7 6 | 
             
            permissions:
         | 
| @@ -15,7 +14,7 @@ jobs: | |
| 15 14 |  | 
| 16 15 | 
             
                strategy:
         | 
| 17 16 | 
             
                  matrix:
         | 
| 18 | 
            -
                    ruby: ["2.6", "2.7", "3.0", "3.1", "3.2", "3.3"]
         | 
| 17 | 
            +
                    ruby: ["2.6", "2.7", "3.0", "3.1", "3.2", "3.3", "jruby-head"]
         | 
| 19 18 | 
             
                    gemfile: ["4.2", "5.0", "5.1", "5.2", "6.0", "6.1", "7.0", "7.1"]
         | 
| 20 19 |  | 
| 21 20 | 
             
                    exclude:
         | 
| @@ -27,6 +26,8 @@ jobs: | |
| 27 26 | 
             
                        ruby: "3.2"
         | 
| 28 27 | 
             
                      - gemfile: "4.2"
         | 
| 29 28 | 
             
                        ruby: "3.3"
         | 
| 29 | 
            +
                      - gemfile: "4.2"
         | 
| 30 | 
            +
                        ruby: "jruby-head"
         | 
| 30 31 | 
             
                      - gemfile: "5.0"
         | 
| 31 32 | 
             
                        ruby: "3.0"
         | 
| 32 33 | 
             
                      - gemfile: "5.0"
         | 
| @@ -35,6 +36,8 @@ jobs: | |
| 35 36 | 
             
                        ruby: "3.2"
         | 
| 36 37 | 
             
                      - gemfile: "5.0"
         | 
| 37 38 | 
             
                        ruby: "3.3"
         | 
| 39 | 
            +
                      - gemfile: "5.0"
         | 
| 40 | 
            +
                        ruby: "jruby-head"
         | 
| 38 41 | 
             
                      - gemfile: "5.1"
         | 
| 39 42 | 
             
                        ruby: "3.0"
         | 
| 40 43 | 
             
                      - gemfile: "5.1"
         | 
| @@ -43,6 +46,8 @@ jobs: | |
| 43 46 | 
             
                        ruby: "3.2"
         | 
| 44 47 | 
             
                      - gemfile: "5.1"
         | 
| 45 48 | 
             
                        ruby: "3.3"
         | 
| 49 | 
            +
                      - gemfile: "5.1"
         | 
| 50 | 
            +
                        ruby: "jruby-head"
         | 
| 46 51 | 
             
                      - gemfile: "5.2"
         | 
| 47 52 | 
             
                        ruby: "3.0"
         | 
| 48 53 | 
             
                      - gemfile: "5.2"
         | 
| @@ -51,6 +56,8 @@ jobs: | |
| 51 56 | 
             
                        ruby: "3.2"
         | 
| 52 57 | 
             
                      - gemfile: "5.2"
         | 
| 53 58 | 
             
                        ruby: "3.3"
         | 
| 59 | 
            +
                      - gemfile: "5.2"
         | 
| 60 | 
            +
                        ruby: "jruby-head"
         | 
| 54 61 | 
             
                      - gemfile: "6.0"
         | 
| 55 62 | 
             
                        ruby: "3.2"
         | 
| 56 63 | 
             
                      - gemfile: "6.0"
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -2,7 +2,20 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            ## [Unreleased]
         | 
| 4 4 |  | 
| 5 | 
            -
            [Unreleased]: https://github.com/validates-email-format-of/validates_email_format_of/compare/v1.8. | 
| 5 | 
            +
            [Unreleased]: https://github.com/validates-email-format-of/validates_email_format_of/compare/v1.8.2...master
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            ## [1.8.2]
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            * Improve German translations - https://github.com/validates-email-format-of/validates_email_format_of/pull/111
         | 
| 10 | 
            +
             | 
| 11 | 
            +
            [1.8.2]: https://github.com/validates-email-format-of/validates_email_format_of/compare/v1.8.1...1.8.2
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            ## [1.8.1]
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            * Fix IDN->Punycode conversion when domain names start with periods - https://github.com/validates-email-format-of/validates_email_format_of/issues/109
         | 
| 16 | 
            +
            * Add jruby to test matrix - https://github.com/validates-email-format-of/validates_email_format_of/pull/108
         | 
| 17 | 
            +
             | 
| 18 | 
            +
            [1.8.1]: https://github.com/validates-email-format-of/validates_email_format_of/compare/v1.8.0...1.8.1
         | 
| 6 19 |  | 
| 7 20 | 
             
            ## [1.8.0]
         | 
| 8 21 |  | 
| @@ -13,13 +26,13 @@ | |
| 13 26 | 
             
            * ⚠️ Deprecate `:with` option - https://github.com/validates-email-format-of/validates_email_format_of/issues/42
         | 
| 14 27 | 
             
            * Require i18n >= 0.8.0 in modern Ruby versions - https://github.com/advisories/GHSA-34hf-g744-jw64
         | 
| 15 28 |  | 
| 16 | 
            -
            [ | 
| 29 | 
            +
            [1.8.0]: https://github.com/validates-email-format-of/validates_email_format_of/compare/v1.7.2...1.8.0
         | 
| 17 30 |  | 
| 18 31 | 
             
            ## [1.7.2]
         | 
| 19 32 |  | 
| 20 33 | 
             
            * Fix regression that disallowed domains starting with number - https://github.com/validates-email-format-of/validates_email_format_of/issues/88
         | 
| 21 34 |  | 
| 22 | 
            -
            [ | 
| 35 | 
            +
            [1.7.2]: https://github.com/validates-email-format-of/validates_email_format_of/compare/v1.7.1...v1.7.2
         | 
| 23 36 |  | 
| 24 37 | 
             
            ## [1.7.1] (3 Aug 2022)
         | 
| 25 38 |  | 
    
        data/README.md
    CHANGED
    
    | @@ -2,13 +2,13 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            []( https://github.com/validates-email-format-of/validates_email_format_of/actions/workflows/ci.yml?query=branch%3Amaster)
         | 
| 4 4 |  | 
| 5 | 
            -
            A Ruby gem to validate email addresses against RFC 2822 and RFC 5322.
         | 
| 5 | 
            +
            A Ruby gem to validate email addresses against RFC 2822 and RFC 5322, with optional domain name lookups.
         | 
| 6 6 |  | 
| 7 7 | 
             
            ## Why this email validator?
         | 
| 8 8 |  | 
| 9 9 | 
             
            This gem is the O.G. email validation gem for Rails.  It was started back in 2006.
         | 
| 10 10 |  | 
| 11 | 
            -
            Why use this validator?  Instead of trying to validate email addresses with one giant regular expression, this library parses addresses character by character.  This lets us handle weird cases like [nested comments](https://www.rfc-editor.org/rfc/rfc5322#appendix-A.5).  Gross but technically allowed.
         | 
| 11 | 
            +
            Why use this validator?  Instead of trying to validate email addresses with one giant regular expression, this library parses addresses character by character.  This lets us handle weird cases like [nested comments](https://www.rfc-editor.org/rfc/rfc5322#appendix-A.5).  Gross, but technically allowed.
         | 
| 12 12 |  | 
| 13 13 | 
             
            In reality, most email validating scripts will get you where you need to go.  This library just aims to go all the way.
         | 
| 14 14 |  | 
| @@ -45,14 +45,23 @@ end | |
| 45 45 | 
             
            ### Usage without Rails
         | 
| 46 46 |  | 
| 47 47 | 
             
            ```ruby
         | 
| 48 | 
            +
            ValidatesEmailFormatOf::validate_email_format("example@mydomain.com") # => nil
         | 
| 49 | 
            +
            ValidatesEmailFormatOf::validate_email_format("invalid@") # => ["does not appear to be a valid email address"]
         | 
| 50 | 
            +
             | 
| 48 51 | 
             
            # Optional, if you want error messages to be in your language
         | 
| 49 52 | 
             
            ValidatesEmailFormatOf::load_i18n_locales
         | 
| 50 53 | 
             
            I18n.locale = :pl
         | 
| 51 54 |  | 
| 52 | 
            -
            ValidatesEmailFormatOf::validate_email_format(" | 
| 53 | 
            -
            ValidatesEmailFormatOf::validate_email_format("invalid@") # => ["does not appear to be a valid email address"]
         | 
| 55 | 
            +
            ValidatesEmailFormatOf::validate_email_format("invalid@") # => ["nieprawidłowy adres email"]
         | 
| 54 56 | 
             
            ```
         | 
| 55 57 |  | 
| 58 | 
            +
            ## Internationalized Domain Names (IDN) and Punycode
         | 
| 59 | 
            +
             | 
| 60 | 
            +
            As of v1.8.0, this gem can validate email addresses using internationalized domain names (like `test@пример.рф`) as well as domains that have already been converted to Punycode code (like `test@xn--test@-3weu6azakd.xn--p1ai`).
         | 
| 61 | 
            +
             | 
| 62 | 
            +
            If you would like to forbid internationalized domains, you can pass the `idn: false` option.  Punycode is always accepted.
         | 
| 63 | 
            +
             | 
| 64 | 
            +
             | 
| 56 65 | 
             
            ## Options
         | 
| 57 66 |  | 
| 58 67 | 
             
            | Option | Type | Description |
         | 
| @@ -69,7 +78,7 @@ ValidatesEmailFormatOf::validate_email_format("invalid@") # => ["does not appear | |
| 69 78 | 
             
            The standard ActiveModel validation options (`:on`, `:if`, `:unless`, `:allow_nil`, `:allow_blank`, etc...) all work as well when using the gem as part of a Rails application.
         | 
| 70 79 | 
             
            ## Testing
         | 
| 71 80 |  | 
| 72 | 
            -
            You can see our [current Ruby and Rails test matrix here](.github/workflows/ci.yml).
         | 
| 81 | 
            +
            The gem is tested against Rails 4.2 and onward across a bunch of Ruby versions including jruby. You can see our [current Ruby and Rails test matrix here](.github/workflows/ci.yml).
         | 
| 73 82 |  | 
| 74 83 | 
             
            To execute the unit tests against [all the Rails versions we support run](gemfiles/) <tt>bundle exec appraisal rspec</tt> or run against an individual version with <tt>bundle exec appraisal rails-6.0 rspec</tt>.
         | 
| 75 84 | 
             
            ## Contributing
         | 
| @@ -96,16 +105,16 @@ Yes, our Rspec syntax is that simple! | |
| 96 105 |  | 
| 97 106 | 
             
            ## Credits
         | 
| 98 107 |  | 
| 99 | 
            -
            Written by Alex Dunae | 
| 108 | 
            +
            Written by [Alex Dunae](https://dunae.ca), 2006-24.
         | 
| 100 109 |  | 
| 101 110 | 
             
            Many thanks to the plugin's recent contributors: https://github.com/alexdunae/validates_email_format_of/contributors
         | 
| 102 111 |  | 
| 103 | 
            -
            Thanks to Francis Hwang | 
| 112 | 
            +
            Thanks to [Francis Hwang](http://fhwang.net/) at Diversion Media for creating the 1.1 update.
         | 
| 104 113 |  | 
| 105 114 | 
             
            Thanks to Travis Sinnott for creating the 1.3 update.
         | 
| 106 115 |  | 
| 107 | 
            -
            Thanks to Denis Ahearn at Riverock Technologies | 
| 116 | 
            +
            Thanks to Denis Ahearn at [Riverock Technologies](http://www.riverocktech.com/) for creating the 1.4 update.
         | 
| 108 117 |  | 
| 109 | 
            -
            Thanks to George Anderson | 
| 118 | 
            +
            Thanks to [George Anderson](http://github.com/george) and ['history'](http://github.com/history) for creating the 1.4.1 update.
         | 
| 110 119 |  | 
| 111 | 
            -
            Thanks to Isaac Betesh | 
| 120 | 
            +
            Thanks to [Isaac Betesh](https://github.com/betesh) for converting tests to Rspec and refactoring for version 1.6.0.
         | 
    
        data/config/locales/de.yml
    CHANGED
    
    | @@ -2,7 +2,7 @@ de: | |
| 2 2 | 
             
              activemodel: &errors
         | 
| 3 3 | 
             
                errors:
         | 
| 4 4 | 
             
                  messages:
         | 
| 5 | 
            -
                    invalid_email_address: 'ist  | 
| 5 | 
            +
                    invalid_email_address: 'ist anscheinend keine gültige E-Mail-Adresse'
         | 
| 6 6 | 
             
                    email_address_not_routable: 'kann nicht erreicht werden'
         | 
| 7 7 | 
             
              activerecord:
         | 
| 8 8 | 
             
                <<: *errors
         | 
| @@ -269,8 +269,8 @@ module ValidatesEmailFormatOf | |
| 269 269 | 
             
              end
         | 
| 270 270 |  | 
| 271 271 | 
             
              def self.validate_domain_part_syntax(domain, idn: true)
         | 
| 272 | 
            -
                domain = SimpleIDN.to_ascii(domain) if idn
         | 
| 273 272 | 
             
                parts = domain.downcase.split(".", -1)
         | 
| 273 | 
            +
                parts.map! { |part| SimpleIDN.to_ascii(part) } if idn
         | 
| 274 274 |  | 
| 275 275 | 
             
                return false if parts.length <= 1 # Only one domain part
         | 
| 276 276 |  | 
| @@ -299,7 +299,7 @@ module ValidatesEmailFormatOf | |
| 299 299 | 
             
                if defined?(ActiveSupport::Deprecation)
         | 
| 300 300 | 
             
                  ActiveSupport::Deprecation.warn(msg)
         | 
| 301 301 | 
             
                else
         | 
| 302 | 
            -
                  warn
         | 
| 302 | 
            +
                  warn(msg)
         | 
| 303 303 | 
             
                end
         | 
| 304 304 | 
             
              end
         | 
| 305 305 | 
             
            end
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    
| @@ -140,7 +140,8 @@ describe ValidatesEmailFormatOf do | |
| 140 140 | 
             
                  "\nnewline@example.com",
         | 
| 141 141 | 
             
                  " spacesbefore@example.com",
         | 
| 142 142 | 
             
                  "spacesafter@example.com ",
         | 
| 143 | 
            -
                  "(unbalancedcomment@example.com"
         | 
| 143 | 
            +
                  "(unbalancedcomment@example.com",
         | 
| 144 | 
            +
                  "help@.example.co.uk" # TLD can not start with a period
         | 
| 144 145 | 
             
                ].each do |address|
         | 
| 145 146 | 
             
                  describe address do
         | 
| 146 147 | 
             
                    it { should have_errors_on_email.because("does not appear to be a valid email address") }
         | 
| @@ -203,7 +204,8 @@ describe ValidatesEmailFormatOf do | |
| 203 204 |  | 
| 204 205 | 
             
                describe "when idn support is enabled" do
         | 
| 205 206 | 
             
                  before(:each) do
         | 
| 206 | 
            -
                     | 
| 207 | 
            +
                    expect(SimpleIDN).to receive(:to_ascii).with("exämple").and_return("xn--exmple-cua")
         | 
| 208 | 
            +
                    expect(SimpleIDN).to receive(:to_ascii).with("com").and_return("com")
         | 
| 207 209 | 
             
                  end
         | 
| 208 210 | 
             
                  let(:options) { {idn: true} }
         | 
| 209 211 | 
             
                  describe "test@exämple.com" do
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: validates_email_format_of
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.8. | 
| 4 | 
            +
              version: 1.8.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Alex Dunae
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire:
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2024- | 
| 12 | 
            +
            date: 2024-04-12 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: i18n
         | 
| @@ -109,20 +109,6 @@ dependencies: | |
| 109 109 | 
             
                - - ">="
         | 
| 110 110 | 
             
                  - !ruby/object:Gem::Version
         | 
| 111 111 | 
             
                    version: '0'
         | 
| 112 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 113 | 
            -
              name: pry-byebug
         | 
| 114 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 115 | 
            -
                requirements:
         | 
| 116 | 
            -
                - - ">="
         | 
| 117 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 118 | 
            -
                    version: '0'
         | 
| 119 | 
            -
              type: :development
         | 
| 120 | 
            -
              prerelease: false
         | 
| 121 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 122 | 
            -
                requirements:
         | 
| 123 | 
            -
                - - ">="
         | 
| 124 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 125 | 
            -
                    version: '0'
         | 
| 126 112 | 
             
            description: Validate email addresses against RFC 2822 and RFC 3696.
         | 
| 127 113 | 
             
            email:
         | 
| 128 114 | 
             
            - code@dunae.ca
         | 
| @@ -187,7 +173,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 187 173 | 
             
                - !ruby/object:Gem::Version
         | 
| 188 174 | 
             
                  version: '0'
         | 
| 189 175 | 
             
            requirements: []
         | 
| 190 | 
            -
            rubygems_version: 3. | 
| 176 | 
            +
            rubygems_version: 3.3.26
         | 
| 191 177 | 
             
            signing_key:
         | 
| 192 178 | 
             
            specification_version: 4
         | 
| 193 179 | 
             
            summary: Validate email addresses against RFC 2822 and RFC 3696.
         |