squeel 1.0.0 → 1.0.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.
- data/Gemfile +1 -1
- data/lib/squeel/nodes/key_path.rb +3 -2
- data/lib/squeel/nodes/stub.rb +7 -2
- data/lib/squeel/version.rb +1 -1
- data/spec/squeel/nodes/key_path_spec.rb +6 -1
- data/spec/squeel/nodes/stub_spec.rb +13 -1
- metadata +18 -18
    
        data/Gemfile
    CHANGED
    
    
| @@ -12,8 +12,9 @@ module Squeel | |
| 12 12 |  | 
| 13 13 | 
             
                  # We need some methods to fall through to the endpoint or create a new
         | 
| 14 14 | 
             
                  # stub of the given name
         | 
| 15 | 
            -
                  %w(id == != =~ !~ desc).each do |method_name|
         | 
| 16 | 
            -
                    undef_method method_name if method_defined?(method_name) || | 
| 15 | 
            +
                  %w(id type == != =~ !~ desc).each do |method_name|
         | 
| 16 | 
            +
                    undef_method method_name if method_defined?(method_name) ||
         | 
| 17 | 
            +
                      private_method_defined?(method_name)
         | 
| 17 18 | 
             
                  end
         | 
| 18 19 |  | 
| 19 20 | 
             
                  # @return [Array<Symbol, Stub, Join>] The path
         | 
    
        data/lib/squeel/nodes/stub.rb
    CHANGED
    
    | @@ -24,7 +24,12 @@ module Squeel | |
| 24 24 | 
             
                  alias :< :lt
         | 
| 25 25 | 
             
                  alias :<= :lteq
         | 
| 26 26 |  | 
| 27 | 
            -
                   | 
| 27 | 
            +
                  # We dn't want these default Object methods, because if we're
         | 
| 28 | 
            +
                  # calling them we are probably talking about a column name
         | 
| 29 | 
            +
                  [:id, :type].each do |column_method|
         | 
| 30 | 
            +
                    undef_method column_method if method_defined?(column_method) ||
         | 
| 31 | 
            +
                      private_method_defined?(column_method)
         | 
| 32 | 
            +
                  end
         | 
| 28 33 |  | 
| 29 34 | 
             
                  # @return [Symbol] The symbol contained by this stub
         | 
| 30 35 | 
             
                  attr_reader :symbol
         | 
| @@ -129,4 +134,4 @@ module Squeel | |
| 129 134 |  | 
| 130 135 | 
             
                end
         | 
| 131 136 | 
             
              end
         | 
| 132 | 
            -
            end
         | 
| 137 | 
            +
            end
         | 
    
        data/lib/squeel/version.rb
    CHANGED
    
    
| @@ -26,6 +26,11 @@ module Squeel | |
| 26 26 | 
             
                    expect { @k.another }.to raise_error NoMethodError
         | 
| 27 27 | 
             
                  end
         | 
| 28 28 |  | 
| 29 | 
            +
                  it 'allows specification of a type column' do
         | 
| 30 | 
            +
                    node = @k.type
         | 
| 31 | 
            +
                    node.should be_a KeyPath # not a Class (Ruby 1.8 Object#type)
         | 
| 32 | 
            +
                  end
         | 
| 33 | 
            +
             | 
| 29 34 | 
             
                  it 'sends missing calls to its endpoint if the endpoint responds to them' do
         | 
| 30 35 | 
             
                    @k.third.fourth.fifth.matches('Joe%')
         | 
| 31 36 | 
             
                    @k.endpoint.should be_a Predicate
         | 
| @@ -105,4 +110,4 @@ module Squeel | |
| 105 110 |  | 
| 106 111 | 
             
                end
         | 
| 107 112 | 
             
              end
         | 
| 108 | 
            -
            end
         | 
| 113 | 
            +
            end
         | 
| @@ -33,6 +33,18 @@ module Squeel | |
| 33 33 | 
             
                    keypath.path_with_endpoint.should eq [@s, Stub.new(:another)]
         | 
| 34 34 | 
             
                  end
         | 
| 35 35 |  | 
| 36 | 
            +
                  it 'creates a KeyPath when sent #id' do
         | 
| 37 | 
            +
                    keypath = @s.id
         | 
| 38 | 
            +
                    keypath.should be_a KeyPath
         | 
| 39 | 
            +
                    keypath.path_with_endpoint.should eq [@s, Stub.new(:id)]
         | 
| 40 | 
            +
                  end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                  it 'creates a KeyPath when sent #type' do
         | 
| 43 | 
            +
                    keypath = @s.type
         | 
| 44 | 
            +
                    keypath.should be_a KeyPath
         | 
| 45 | 
            +
                    keypath.path_with_endpoint.should eq [@s, Stub.new(:type)]
         | 
| 46 | 
            +
                  end
         | 
| 47 | 
            +
             | 
| 36 48 | 
             
                  it 'creates a KeyPath with a join endpoint when sent a method with a Class param' do
         | 
| 37 49 | 
             
                    keypath = @s.another(Person)
         | 
| 38 50 | 
             
                    keypath.should be_a KeyPath
         | 
| @@ -202,4 +214,4 @@ module Squeel | |
| 202 214 |  | 
| 203 215 | 
             
                end
         | 
| 204 216 | 
             
              end
         | 
| 205 | 
            -
            end
         | 
| 217 | 
            +
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: squeel
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.0. | 
| 4 | 
            +
              version: 1.0.1
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,12 +9,12 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2012- | 
| 12 | 
            +
            date: 2012-05-02 00:00:00.000000000 -04:00
         | 
| 13 13 | 
             
            default_executable: 
         | 
| 14 14 | 
             
            dependencies:
         | 
| 15 15 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 16 16 | 
             
              name: activerecord
         | 
| 17 | 
            -
              requirement: & | 
| 17 | 
            +
              requirement: &70156349477400 !ruby/object:Gem::Requirement
         | 
| 18 18 | 
             
                none: false
         | 
| 19 19 | 
             
                requirements:
         | 
| 20 20 | 
             
                - - ~>
         | 
| @@ -22,10 +22,10 @@ dependencies: | |
| 22 22 | 
             
                    version: '3.0'
         | 
| 23 23 | 
             
              type: :runtime
         | 
| 24 24 | 
             
              prerelease: false
         | 
| 25 | 
            -
              version_requirements: * | 
| 25 | 
            +
              version_requirements: *70156349477400
         | 
| 26 26 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 27 27 | 
             
              name: activesupport
         | 
| 28 | 
            -
              requirement: & | 
| 28 | 
            +
              requirement: &70156349476680 !ruby/object:Gem::Requirement
         | 
| 29 29 | 
             
                none: false
         | 
| 30 30 | 
             
                requirements:
         | 
| 31 31 | 
             
                - - ~>
         | 
| @@ -33,10 +33,10 @@ dependencies: | |
| 33 33 | 
             
                    version: '3.0'
         | 
| 34 34 | 
             
              type: :runtime
         | 
| 35 35 | 
             
              prerelease: false
         | 
| 36 | 
            -
              version_requirements: * | 
| 36 | 
            +
              version_requirements: *70156349476680
         | 
| 37 37 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 38 38 | 
             
              name: polyamorous
         | 
| 39 | 
            -
              requirement: & | 
| 39 | 
            +
              requirement: &70156349475880 !ruby/object:Gem::Requirement
         | 
| 40 40 | 
             
                none: false
         | 
| 41 41 | 
             
                requirements:
         | 
| 42 42 | 
             
                - - ~>
         | 
| @@ -44,10 +44,10 @@ dependencies: | |
| 44 44 | 
             
                    version: 0.5.0
         | 
| 45 45 | 
             
              type: :runtime
         | 
| 46 46 | 
             
              prerelease: false
         | 
| 47 | 
            -
              version_requirements: * | 
| 47 | 
            +
              version_requirements: *70156349475880
         | 
| 48 48 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 49 49 | 
             
              name: rspec
         | 
| 50 | 
            -
              requirement: & | 
| 50 | 
            +
              requirement: &70156349475260 !ruby/object:Gem::Requirement
         | 
| 51 51 | 
             
                none: false
         | 
| 52 52 | 
             
                requirements:
         | 
| 53 53 | 
             
                - - ~>
         | 
| @@ -55,10 +55,10 @@ dependencies: | |
| 55 55 | 
             
                    version: 2.6.0
         | 
| 56 56 | 
             
              type: :development
         | 
| 57 57 | 
             
              prerelease: false
         | 
| 58 | 
            -
              version_requirements: * | 
| 58 | 
            +
              version_requirements: *70156349475260
         | 
| 59 59 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 60 60 | 
             
              name: machinist
         | 
| 61 | 
            -
              requirement: & | 
| 61 | 
            +
              requirement: &70156349474620 !ruby/object:Gem::Requirement
         | 
| 62 62 | 
             
                none: false
         | 
| 63 63 | 
             
                requirements:
         | 
| 64 64 | 
             
                - - ~>
         | 
| @@ -66,10 +66,10 @@ dependencies: | |
| 66 66 | 
             
                    version: 1.0.6
         | 
| 67 67 | 
             
              type: :development
         | 
| 68 68 | 
             
              prerelease: false
         | 
| 69 | 
            -
              version_requirements: * | 
| 69 | 
            +
              version_requirements: *70156349474620
         | 
| 70 70 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 71 71 | 
             
              name: faker
         | 
| 72 | 
            -
              requirement: & | 
| 72 | 
            +
              requirement: &70156349473320 !ruby/object:Gem::Requirement
         | 
| 73 73 | 
             
                none: false
         | 
| 74 74 | 
             
                requirements:
         | 
| 75 75 | 
             
                - - ~>
         | 
| @@ -77,10 +77,10 @@ dependencies: | |
| 77 77 | 
             
                    version: 0.9.5
         | 
| 78 78 | 
             
              type: :development
         | 
| 79 79 | 
             
              prerelease: false
         | 
| 80 | 
            -
              version_requirements: * | 
| 80 | 
            +
              version_requirements: *70156349473320
         | 
| 81 81 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 82 82 | 
             
              name: sqlite3
         | 
| 83 | 
            -
              requirement: & | 
| 83 | 
            +
              requirement: &70156349488720 !ruby/object:Gem::Requirement
         | 
| 84 84 | 
             
                none: false
         | 
| 85 85 | 
             
                requirements:
         | 
| 86 86 | 
             
                - - ~>
         | 
| @@ -88,7 +88,7 @@ dependencies: | |
| 88 88 | 
             
                    version: 1.3.3
         | 
| 89 89 | 
             
              type: :development
         | 
| 90 90 | 
             
              prerelease: false
         | 
| 91 | 
            -
              version_requirements: * | 
| 91 | 
            +
              version_requirements: *70156349488720
         | 
| 92 92 | 
             
            description: ! "\n      Squeel unlocks the power of ARel in your Rails 3 application
         | 
| 93 93 | 
             
              with\n      a handy block-based syntax. You can write subqueries, access named\n
         | 
| 94 94 | 
             
              \     functions provided by your RDBMS, and more, all without writing\n      SQL
         | 
| @@ -201,7 +201,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 201 201 | 
             
                  version: '0'
         | 
| 202 202 | 
             
                  segments:
         | 
| 203 203 | 
             
                  - 0
         | 
| 204 | 
            -
                  hash:  | 
| 204 | 
            +
                  hash: 3396698856870050214
         | 
| 205 205 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 206 206 | 
             
              none: false
         | 
| 207 207 | 
             
              requirements:
         | 
| @@ -210,7 +210,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 210 210 | 
             
                  version: '0'
         | 
| 211 211 | 
             
                  segments:
         | 
| 212 212 | 
             
                  - 0
         | 
| 213 | 
            -
                  hash:  | 
| 213 | 
            +
                  hash: 3396698856870050214
         | 
| 214 214 | 
             
            requirements: []
         | 
| 215 215 | 
             
            rubyforge_project: squeel
         | 
| 216 216 | 
             
            rubygems_version: 1.3.9.4
         |