gutentag 2.5.0 → 2.5.1
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 +5 -5
- data/.rubocop.yml +2 -0
- data/.travis.yml +4 -4
- data/Appraisals +4 -3
- data/CHANGELOG.md +6 -0
- data/README.md +14 -0
- data/gutentag.gemspec +8 -7
- data/lib/gutentag/tag_names.rb +3 -1
- data/lib/gutentag/tag_validations.rb +1 -1
- data/spec/acceptance/tag_names_spec.rb +12 -0
- metadata +19 -6
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 | 
            -
             | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 2 | 
            +
            SHA256:
         | 
| 3 | 
            +
              metadata.gz: 2220c5448de91dad49288b5d2370588e09a08bf863f3398b1ef0eb07e54691ef
         | 
| 4 | 
            +
              data.tar.gz: 42b8046acab85218e0e3ecea86ae5d1fb27e2ca69895567b66d66227b3070ffe
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: a151247791c559ff523ebb8af939ed28a0d55932b1d99d0476fa77a6ae9bafe724526ed1f21a3eb38d05ea0a371540e15c659f69e062abfe90f33f337b7ee71d
         | 
| 7 | 
            +
              data.tar.gz: fd7f8db5ee16bd1fb854e9d2ad3bf18dc5b48de866e307bc750a4ff525ab303981e3eddef1ac562bbe0918fdd32e088543fba7025d09a4ff2af7e87d2694c8dc
         | 
    
        data/.rubocop.yml
    CHANGED
    
    
    
        data/.travis.yml
    CHANGED
    
    
    
        data/Appraisals
    CHANGED
    
    | @@ -36,7 +36,8 @@ appraise "rails_5_2" do | |
| 36 36 | 
             
            end if RUBY_VERSION.to_f >= 2.2
         | 
| 37 37 |  | 
| 38 38 | 
             
            appraise "rails_6_0" do
         | 
| 39 | 
            -
              gem "rails", | 
| 40 | 
            -
              gem "pg", | 
| 41 | 
            -
              gem "mysql2", | 
| 39 | 
            +
              gem "rails",   "~> 6.0.0.beta1"
         | 
| 40 | 
            +
              gem "pg",      "~> 1.0",   :platform => :ruby
         | 
| 41 | 
            +
              gem "mysql2",  "~> 0.5.0", :platform => :ruby
         | 
| 42 | 
            +
              gem "sqlite3", "~> 1.4", :platform => :ruby
         | 
| 42 43 | 
             
            end if RUBY_VERSION.to_f >= 2.5 && RUBY_PLATFORM != "java"
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -2,6 +2,12 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            All notable changes to this project (at least, from v0.5.0 onwards) will be documented in this file.
         | 
| 4 4 |  | 
| 5 | 
            +
            ## 2.5.1 - 2019-05-10
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            ### Fixed
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            * Ensuring consistent behaviour for tag_names array - names are not duplicated, and are normalised prior to saving (as discussed in [issue #66](https://github.com/pat/gutentag/issues/66)).
         | 
| 10 | 
            +
             | 
| 5 11 | 
             
            ## 2.5.0 - 2019-03-15
         | 
| 6 12 |  | 
| 7 13 | 
             
            **Pleease note this release ends official support of Rails 3.2 and Ruby (MRI) 2.2.** The code currently still works on Ruby 2.2, and all features except for the new `Gutentag::Tag.names_for_scope` method work in Rails 3.2, but they're no longer tested against, and cannot be guaranteed to work in future releases.
         | 
    
        data/README.md
    CHANGED
    
    | @@ -16,6 +16,7 @@ If you want to know more, read [this blog post](http://freelancing-gods.com/post | |
| 16 16 | 
             
            * [Installation](#installation)
         | 
| 17 17 | 
             
            * [Upgrading](#upgrading)
         | 
| 18 18 | 
             
            * [Configuration](#configuration)
         | 
| 19 | 
            +
            * [Extending](#extending)
         | 
| 19 20 | 
             
            * [Contribution](#contribution)
         | 
| 20 21 | 
             
            * [Licence](#licence)
         | 
| 21 22 |  | 
| @@ -151,6 +152,19 @@ Gutentag.normaliser = lambda { |value| value.to_s.upcase } | |
| 151 152 |  | 
| 152 153 | 
             
            Gutentag ignores case by default, but can be customised to be case-sensitive by supplying your own validations and normaliser, as outlined by [Robin Mehner](https://github.com/rmehner) in [issue 42](https://github.com/pat/gutentag/issues/42). Further changes may be required for your schema though, depending on your database.
         | 
| 153 154 |  | 
| 155 | 
            +
            <h2 id="extending">Extending</h2>
         | 
| 156 | 
            +
             | 
| 157 | 
            +
            If you need to extend Gutentag's models, you will need to wrap the `include` inside a `to_prepare` hook to ensure it's loaded consistently in all Rails environments:
         | 
| 158 | 
            +
             | 
| 159 | 
            +
            ```ruby
         | 
| 160 | 
            +
            # config/initializers/gutentag.rb or equivalent
         | 
| 161 | 
            +
            Rails.application.config.to_prepare do
         | 
| 162 | 
            +
              Gutentag::Tag.include TagExtensions
         | 
| 163 | 
            +
            end
         | 
| 164 | 
            +
            ```
         | 
| 165 | 
            +
             | 
| 166 | 
            +
            Further discussion and examples of this can be found in [issue 65](https://github.com/pat/gutentag/issues/65).
         | 
| 167 | 
            +
             | 
| 154 168 | 
             
            <h2 id="contribution">Contribution</h2>
         | 
| 155 169 |  | 
| 156 170 | 
             
            Please note that this project now has a [Contributor Code of Conduct](http://contributor-covenant.org/version/1/0/0/). By participating in this project you agree to abide by its terms.
         | 
    
        data/gutentag.gemspec
    CHANGED
    
    | @@ -2,7 +2,7 @@ | |
| 2 2 |  | 
| 3 3 | 
             
            Gem::Specification.new do |s|
         | 
| 4 4 | 
             
              s.name        = "gutentag"
         | 
| 5 | 
            -
              s.version     = "2.5. | 
| 5 | 
            +
              s.version     = "2.5.1"
         | 
| 6 6 | 
             
              s.authors     = ["Pat Allan"]
         | 
| 7 7 | 
             
              s.email       = ["pat@freelancing-gods.com"]
         | 
| 8 8 | 
             
              s.homepage    = "https://github.com/pat/gutentag"
         | 
| @@ -16,11 +16,12 @@ Gem::Specification.new do |s| | |
| 16 16 |  | 
| 17 17 | 
             
              s.add_runtime_dependency     "activerecord", ">= 3.2.0"
         | 
| 18 18 |  | 
| 19 | 
            -
              s.add_development_dependency "appraisal", | 
| 20 | 
            -
              s.add_development_dependency "bundler", | 
| 21 | 
            -
              s.add_development_dependency "combustion", | 
| 22 | 
            -
              s.add_development_dependency "database_cleaner", | 
| 19 | 
            +
              s.add_development_dependency "appraisal",           "~> 2.1.0"
         | 
| 20 | 
            +
              s.add_development_dependency "bundler",             "~> 1.17"
         | 
| 21 | 
            +
              s.add_development_dependency "combustion",          "~> 1.1"
         | 
| 22 | 
            +
              s.add_development_dependency "database_cleaner",    "~> 1.6"
         | 
| 23 23 | 
             
              s.add_development_dependency "rails"
         | 
| 24 | 
            -
              s.add_development_dependency "rspec-rails", | 
| 25 | 
            -
              s.add_development_dependency "rubocop", | 
| 24 | 
            +
              s.add_development_dependency "rspec-rails",         "~> 3.1"
         | 
| 25 | 
            +
              s.add_development_dependency "rubocop",             "~> 0.68.1"
         | 
| 26 | 
            +
              s.add_development_dependency "rubocop-performance", "~> 1"
         | 
| 26 27 | 
             
            end
         | 
    
        data/lib/gutentag/tag_names.rb
    CHANGED
    
    
| @@ -36,7 +36,7 @@ class Gutentag::TagValidations | |
| 36 36 |  | 
| 37 37 | 
             
              def add_length_validation?
         | 
| 38 38 | 
             
                klass.table_exists? && limit.present?
         | 
| 39 | 
            -
              rescue *DATABASE_ERROR_CLASSES
         | 
| 39 | 
            +
              rescue *DATABASE_ERROR_CLASSES => _error
         | 
| 40 40 | 
             
                warn <<-MESSAGE
         | 
| 41 41 | 
             
              The database is not currently available, and so Gutentag was not able to set
         | 
| 42 42 | 
             
              up tag validations completely (in particular: adding a length limit to match
         | 
| @@ -70,6 +70,13 @@ describe "Managing tags via names" do | |
| 70 70 | 
             
                expect(article.tags.collect(&:name)).to eq(%w[ portland oregon ruby ])
         | 
| 71 71 | 
             
              end
         | 
| 72 72 |  | 
| 73 | 
            +
              it "does not repeat appended names that exist in the array of strings" do
         | 
| 74 | 
            +
                article.tag_names  = %w[ portland oregon ]
         | 
| 75 | 
            +
                article.tag_names += %w[ oregon ruby ]
         | 
| 76 | 
            +
             | 
| 77 | 
            +
                expect(article.tag_names).to match(%w[ portland oregon ruby ])
         | 
| 78 | 
            +
              end
         | 
| 79 | 
            +
             | 
| 73 80 | 
             
              it "removes a single tag name" do
         | 
| 74 81 | 
             
                article.tag_names = %w[ portland oregon ]
         | 
| 75 82 | 
             
                article.tag_names.delete "oregon"
         | 
| @@ -99,6 +106,11 @@ describe "Managing tags via names" do | |
| 99 106 | 
             
                expect(article.tags.collect(&:name)).to eq(%w[ portland ])
         | 
| 100 107 | 
             
              end
         | 
| 101 108 |  | 
| 109 | 
            +
              it "normalises tag names" do
         | 
| 110 | 
            +
                article.tag_names = %w[ Perth ]
         | 
| 111 | 
            +
                expect(article.tag_names).to eq(%w[ perth ])
         | 
| 112 | 
            +
              end
         | 
| 113 | 
            +
             | 
| 102 114 | 
             
              it "allows setting of tag names on unpersisted objects" do
         | 
| 103 115 | 
             
                article = Article.new :tag_names => %w[ melbourne pancakes ]
         | 
| 104 116 | 
             
                article.save!
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: gutentag
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2.5. | 
| 4 | 
            +
              version: 2.5.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Pat Allan
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2019- | 
| 11 | 
            +
            date: 2019-05-10 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: activerecord
         | 
| @@ -114,14 +114,28 @@ dependencies: | |
| 114 114 | 
             
                requirements:
         | 
| 115 115 | 
             
                - - "~>"
         | 
| 116 116 | 
             
                  - !ruby/object:Gem::Version
         | 
| 117 | 
            -
                    version: 0. | 
| 117 | 
            +
                    version: 0.68.1
         | 
| 118 118 | 
             
              type: :development
         | 
| 119 119 | 
             
              prerelease: false
         | 
| 120 120 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 121 121 | 
             
                requirements:
         | 
| 122 122 | 
             
                - - "~>"
         | 
| 123 123 | 
             
                  - !ruby/object:Gem::Version
         | 
| 124 | 
            -
                    version: 0. | 
| 124 | 
            +
                    version: 0.68.1
         | 
| 125 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 126 | 
            +
              name: rubocop-performance
         | 
| 127 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 128 | 
            +
                requirements:
         | 
| 129 | 
            +
                - - "~>"
         | 
| 130 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 131 | 
            +
                    version: '1'
         | 
| 132 | 
            +
              type: :development
         | 
| 133 | 
            +
              prerelease: false
         | 
| 134 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 135 | 
            +
                requirements:
         | 
| 136 | 
            +
                - - "~>"
         | 
| 137 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 138 | 
            +
                    version: '1'
         | 
| 125 139 | 
             
            description: A good, simple, solid tagging extension for ActiveRecord
         | 
| 126 140 | 
             
            email:
         | 
| 127 141 | 
             
            - pat@freelancing-gods.com
         | 
| @@ -196,8 +210,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 196 210 | 
             
                - !ruby/object:Gem::Version
         | 
| 197 211 | 
             
                  version: '0'
         | 
| 198 212 | 
             
            requirements: []
         | 
| 199 | 
            -
             | 
| 200 | 
            -
            rubygems_version: 2.4.5.5
         | 
| 213 | 
            +
            rubygems_version: 3.0.3
         | 
| 201 214 | 
             
            signing_key: 
         | 
| 202 215 | 
             
            specification_version: 4
         | 
| 203 216 | 
             
            summary: Good Tags
         |