jnunemaker-validatable 1.8.3 → 1.8.4
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.
- data/Rakefile +11 -6
- data/lib/validatable.rb +8 -2
- data/lib/validatable/errors.rb +13 -0
- data/test/test_helper.rb +1 -7
- data/test/unit/test_errors.rb +6 -0
- metadata +65 -7
    
        data/Rakefile
    CHANGED
    
    | @@ -1,18 +1,23 @@ | |
| 1 1 | 
             
            require 'rubygems'
         | 
| 2 2 | 
             
            require 'rake'
         | 
| 3 3 |  | 
| 4 | 
            -
            require File. | 
| 4 | 
            +
            require File.expand_path('../lib/validatable', __FILE__)
         | 
| 5 5 |  | 
| 6 6 | 
             
            require 'jeweler'
         | 
| 7 7 | 
             
            Jeweler::Tasks.new do |gem|
         | 
| 8 | 
            -
              gem.name        =  | 
| 9 | 
            -
              gem.summary     =  | 
| 10 | 
            -
              gem.description =  | 
| 11 | 
            -
              gem.email       =  | 
| 12 | 
            -
              gem.homepage    =  | 
| 8 | 
            +
              gem.name        = 'jnunemaker-validatable'
         | 
| 9 | 
            +
              gem.summary     = 'Validatable is a library for adding validations.'
         | 
| 10 | 
            +
              gem.description = 'Validatable is a library for adding validations.'
         | 
| 11 | 
            +
              gem.email       = 'nunemaker@gmail.com'
         | 
| 12 | 
            +
              gem.homepage    = 'http://github.com/jnunemaker/validatable'
         | 
| 13 13 | 
             
              gem.authors     = ['Jay Fields', 'John Nunemaker']
         | 
| 14 14 | 
             
              gem.files       = FileList['lib/**/*.rb', '[A-Z]*', 'test/**/*'].to_a
         | 
| 15 15 | 
             
              gem.version     = Validatable::Version
         | 
| 16 | 
            +
              
         | 
| 17 | 
            +
              gem.add_dependency('activesupport', '>= 2.3.4')
         | 
| 18 | 
            +
              gem.add_development_dependency('mocha', '>= 0.9.8')
         | 
| 19 | 
            +
              gem.add_development_dependency('dust')
         | 
| 20 | 
            +
              gem.add_development_dependency('expectations')
         | 
| 16 21 | 
             
            end
         | 
| 17 22 |  | 
| 18 23 | 
             
            Jeweler::GemcutterTasks.new
         | 
    
        data/lib/validatable.rb
    CHANGED
    
    | @@ -1,5 +1,11 @@ | |
| 1 | 
            +
            # gem 'activesupport', '2.3.5'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            begin
         | 
| 4 | 
            +
              require 'active_support/core_ext/object/blank' # newer versions of active_support (>= 3.0)
         | 
| 5 | 
            +
            rescue LoadError => e
         | 
| 6 | 
            +
              require 'active_support/all' # support older versions of active_support (<= 2.3.5)
         | 
| 7 | 
            +
            end
         | 
| 1 8 | 
             
            require 'forwardable'
         | 
| 2 | 
            -
            require 'active_support/all'
         | 
| 3 9 |  | 
| 4 10 | 
             
            require 'validatable/object_extension'
         | 
| 5 11 | 
             
            require 'validatable/errors'
         | 
| @@ -24,5 +30,5 @@ require 'validatable/validations/validates_each' | |
| 24 30 | 
             
            require 'validatable/validations/validates_associated'
         | 
| 25 31 |  | 
| 26 32 | 
             
            module Validatable
         | 
| 27 | 
            -
              Version = '1.8. | 
| 33 | 
            +
              Version = '1.8.4'
         | 
| 28 34 | 
             
            end
         | 
    
        data/lib/validatable/errors.rb
    CHANGED
    
    | @@ -19,6 +19,19 @@ module Validatable | |
| 19 19 | 
             
                  !@errors[attribute.to_sym].nil?
         | 
| 20 20 | 
             
                end
         | 
| 21 21 |  | 
| 22 | 
            +
                # Adds an error to the base object instead of any particular attribute. This is used
         | 
| 23 | 
            +
                # to report errors that don't tie to any specific attribute, but rather to the object
         | 
| 24 | 
            +
                # as a whole. These error messages don't get prepended with any field name when iterating
         | 
| 25 | 
            +
                # with +each_full+, so they should be complete sentences.
         | 
| 26 | 
            +
                def add_to_base(msg)
         | 
| 27 | 
            +
                  add(:base, msg)
         | 
| 28 | 
            +
                end
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                # Returns errors assigned to the base object through +add_to_base+ according to the normal rules of <tt>on(attribute)</tt>.
         | 
| 31 | 
            +
                def on_base
         | 
| 32 | 
            +
                  on(:base)
         | 
| 33 | 
            +
                end    
         | 
| 34 | 
            +
             | 
| 22 35 | 
             
                # call-seq: on(attribute)
         | 
| 23 36 | 
             
                #
         | 
| 24 37 | 
             
                # * Returns nil, if no errors are associated with the specified +attribute+.
         | 
    
        data/test/test_helper.rb
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 | 
            +
            require 'set'
         | 
| 1 2 | 
             
            require 'test/unit'
         | 
| 2 3 | 
             
            require 'mocha'
         | 
| 3 4 | 
             
            require 'dust'
         | 
| 4 | 
            -
            require 'set'
         | 
| 5 5 | 
             
            require 'expectations'
         | 
| 6 6 |  | 
| 7 7 | 
             
            require File.expand_path(File.dirname(__FILE__) + '/../lib/validatable')
         | 
| @@ -19,12 +19,6 @@ class << Test::Unit::TestCase | |
| 19 19 | 
             
              end
         | 
| 20 20 | 
             
            end
         | 
| 21 21 |  | 
| 22 | 
            -
            class Test::Unit::TestCase
         | 
| 23 | 
            -
              def assert_array_equal a, b
         | 
| 24 | 
            -
                assert_equal Set.new(a), Set.new(b)
         | 
| 25 | 
            -
              end
         | 
| 26 | 
            -
            end
         | 
| 27 | 
            -
             | 
| 28 22 | 
             
            class Array
         | 
| 29 23 | 
             
              def to_blank_options_hash
         | 
| 30 24 | 
             
                self.inject({}) {|hash, value| hash[value] = nil; hash }
         | 
    
        data/test/unit/test_errors.rb
    CHANGED
    
    | @@ -7,6 +7,12 @@ Expectations do | |
| 7 7 | 
             
                errors.on(:attribute)
         | 
| 8 8 | 
             
              end
         | 
| 9 9 |  | 
| 10 | 
            +
              expect "message" do
         | 
| 11 | 
            +
                errors = Validatable::Errors.new
         | 
| 12 | 
            +
                errors.add_to_base("message")
         | 
| 13 | 
            +
                errors.on_base
         | 
| 14 | 
            +
              end
         | 
| 15 | 
            +
              
         | 
| 10 16 | 
             
              expect ["message"] do
         | 
| 11 17 | 
             
                errors = Validatable::Errors.new
         | 
| 12 18 | 
             
                errors.add(:attribute, "message")
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,12 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: jnunemaker-validatable
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
               | 
| 4 | 
            +
              prerelease: false
         | 
| 5 | 
            +
              segments: 
         | 
| 6 | 
            +
              - 1
         | 
| 7 | 
            +
              - 8
         | 
| 8 | 
            +
              - 4
         | 
| 9 | 
            +
              version: 1.8.4
         | 
| 5 10 | 
             
            platform: ruby
         | 
| 6 11 | 
             
            authors: 
         | 
| 7 12 | 
             
            - Jay Fields
         | 
| @@ -10,10 +15,61 @@ autorequire: | |
| 10 15 | 
             
            bindir: bin
         | 
| 11 16 | 
             
            cert_chain: []
         | 
| 12 17 |  | 
| 13 | 
            -
            date: 2010- | 
| 18 | 
            +
            date: 2010-04-18 00:00:00 -04:00
         | 
| 14 19 | 
             
            default_executable: 
         | 
| 15 | 
            -
            dependencies:  | 
| 16 | 
            -
             | 
| 20 | 
            +
            dependencies: 
         | 
| 21 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 22 | 
            +
              name: activesupport
         | 
| 23 | 
            +
              prerelease: false
         | 
| 24 | 
            +
              requirement: &id001 !ruby/object:Gem::Requirement 
         | 
| 25 | 
            +
                requirements: 
         | 
| 26 | 
            +
                - - ">="
         | 
| 27 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 28 | 
            +
                    segments: 
         | 
| 29 | 
            +
                    - 2
         | 
| 30 | 
            +
                    - 3
         | 
| 31 | 
            +
                    - 4
         | 
| 32 | 
            +
                    version: 2.3.4
         | 
| 33 | 
            +
              type: :runtime
         | 
| 34 | 
            +
              version_requirements: *id001
         | 
| 35 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 36 | 
            +
              name: mocha
         | 
| 37 | 
            +
              prerelease: false
         | 
| 38 | 
            +
              requirement: &id002 !ruby/object:Gem::Requirement 
         | 
| 39 | 
            +
                requirements: 
         | 
| 40 | 
            +
                - - ">="
         | 
| 41 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 42 | 
            +
                    segments: 
         | 
| 43 | 
            +
                    - 0
         | 
| 44 | 
            +
                    - 9
         | 
| 45 | 
            +
                    - 8
         | 
| 46 | 
            +
                    version: 0.9.8
         | 
| 47 | 
            +
              type: :development
         | 
| 48 | 
            +
              version_requirements: *id002
         | 
| 49 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 50 | 
            +
              name: dust
         | 
| 51 | 
            +
              prerelease: false
         | 
| 52 | 
            +
              requirement: &id003 !ruby/object:Gem::Requirement 
         | 
| 53 | 
            +
                requirements: 
         | 
| 54 | 
            +
                - - ">="
         | 
| 55 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 56 | 
            +
                    segments: 
         | 
| 57 | 
            +
                    - 0
         | 
| 58 | 
            +
                    version: "0"
         | 
| 59 | 
            +
              type: :development
         | 
| 60 | 
            +
              version_requirements: *id003
         | 
| 61 | 
            +
            - !ruby/object:Gem::Dependency 
         | 
| 62 | 
            +
              name: expectations
         | 
| 63 | 
            +
              prerelease: false
         | 
| 64 | 
            +
              requirement: &id004 !ruby/object:Gem::Requirement 
         | 
| 65 | 
            +
                requirements: 
         | 
| 66 | 
            +
                - - ">="
         | 
| 67 | 
            +
                  - !ruby/object:Gem::Version 
         | 
| 68 | 
            +
                    segments: 
         | 
| 69 | 
            +
                    - 0
         | 
| 70 | 
            +
                    version: "0"
         | 
| 71 | 
            +
              type: :development
         | 
| 72 | 
            +
              version_requirements: *id004
         | 
| 17 73 | 
             
            description: Validatable is a library for adding validations.
         | 
| 18 74 | 
             
            email: nunemaker@gmail.com
         | 
| 19 75 | 
             
            executables: []
         | 
| @@ -88,18 +144,20 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 88 144 | 
             
              requirements: 
         | 
| 89 145 | 
             
              - - ">="
         | 
| 90 146 | 
             
                - !ruby/object:Gem::Version 
         | 
| 147 | 
            +
                  segments: 
         | 
| 148 | 
            +
                  - 0
         | 
| 91 149 | 
             
                  version: "0"
         | 
| 92 | 
            -
              version: 
         | 
| 93 150 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement 
         | 
| 94 151 | 
             
              requirements: 
         | 
| 95 152 | 
             
              - - ">="
         | 
| 96 153 | 
             
                - !ruby/object:Gem::Version 
         | 
| 154 | 
            +
                  segments: 
         | 
| 155 | 
            +
                  - 0
         | 
| 97 156 | 
             
                  version: "0"
         | 
| 98 | 
            -
              version: 
         | 
| 99 157 | 
             
            requirements: []
         | 
| 100 158 |  | 
| 101 159 | 
             
            rubyforge_project: 
         | 
| 102 | 
            -
            rubygems_version: 1.3. | 
| 160 | 
            +
            rubygems_version: 1.3.6
         | 
| 103 161 | 
             
            signing_key: 
         | 
| 104 162 | 
             
            specification_version: 3
         | 
| 105 163 | 
             
            summary: Validatable is a library for adding validations.
         |