active_model_serializers_cancancan 0.0.5 → 0.1.0
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/active_model_serializers_cancancan.gemspec +3 -3
- data/lib/active_model_serializers/cancan.rb +0 -1
- data/lib/active_model_serializers/cancan/associations.rb +16 -24
- data/lib/active_model_serializers/cancan/helpers.rb +1 -1
- data/lib/active_model_serializers/cancan/version.rb +1 -1
- data/spec/spec_helper.rb +1 -0
- metadata +11 -12
- data/lib/active_model_serializers/cancan/monkeypatch.rb +0 -9
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 0deafd346094e3f7262e194e3b172efebe82c1a6
         | 
| 4 | 
            +
              data.tar.gz: 1c00fabc26fa8fb2b697b119bad616ab687cc46d
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: db8ae6a127b71dfa77816890e07cb16087c71ae2b8ee3303bbcae92b7270b19a995d5b4643380e5b2f496f2142c8c107b01286e568fc638014acccbc7484b720
         | 
| 7 | 
            +
              data.tar.gz: b81eceda7ac47713893019f55a0d2cf9c443edd2ef64464d15c48ab5c400cba9ef5b0f80683a928c3211317bda2b7981d8af7f52f8e79a2ee17eabc39b1c36ba
         | 
| @@ -16,12 +16,12 @@ Gem::Specification.new do |gem| | |
| 16 16 | 
             
              gem.test_files    = gem.files.grep(%r{^(test|spec|features)/})
         | 
| 17 17 | 
             
              gem.require_paths = ["lib"]
         | 
| 18 18 |  | 
| 19 | 
            -
              gem.add_dependency 'active_model_serializers'
         | 
| 19 | 
            +
              gem.add_dependency 'active_model_serializers', '~> 0.10.0'
         | 
| 20 20 | 
             
              gem.add_dependency 'cancancan'
         | 
| 21 21 |  | 
| 22 22 | 
             
              gem.add_development_dependency 'bundler'
         | 
| 23 23 | 
             
              gem.add_development_dependency 'rake'
         | 
| 24 | 
            -
              gem.add_development_dependency 'rspec', '~> 2. | 
| 24 | 
            +
              gem.add_development_dependency 'rspec', '~> 2.99.0'
         | 
| 25 25 | 
             
              gem.add_development_dependency 'pry'
         | 
| 26 | 
            -
              gem.add_development_dependency 'mongoid', '~>  | 
| 26 | 
            +
              gem.add_development_dependency 'mongoid', '~> 5'
         | 
| 27 27 | 
             
            end
         | 
| @@ -1,6 +1,5 @@ | |
| 1 1 | 
             
            require 'cancancan'
         | 
| 2 2 | 
             
            require 'active_model_serializers'
         | 
| 3 | 
            -
            require 'active_model_serializers/cancan/monkeypatch'
         | 
| 4 3 | 
             
            require 'active_model_serializers/cancan/version'
         | 
| 5 4 | 
             
            require 'active_model_serializers/cancan/helpers'
         | 
| 6 5 | 
             
            require 'active_model_serializers/cancan/associations'
         | 
| @@ -1,38 +1,30 @@ | |
| 1 | 
            +
            require 'active_model/serializer/reflection'
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            module ActiveModel
         | 
| 2 4 | 
             
              class Serializer
         | 
| 3 | 
            -
                 | 
| 4 | 
            -
                   | 
| 5 | 
            -
                     | 
| 6 | 
            -
                      !!options[:authorize]
         | 
| 7 | 
            -
                    end
         | 
| 5 | 
            +
                class Reflection < Field
         | 
| 6 | 
            +
                  def authorize?
         | 
| 7 | 
            +
                    !!options[:authorize]
         | 
| 8 8 | 
             
                  end
         | 
| 9 9 |  | 
| 10 | 
            -
                   | 
| 11 | 
            -
                     | 
| 12 | 
            -
             | 
| 13 | 
            -
                       | 
| 14 | 
            -
                        find_serializable(item).serializable_hash
         | 
| 15 | 
            -
                      end
         | 
| 10 | 
            +
                  def value_with_cancan(serializer)
         | 
| 11 | 
            +
                    val = value_without_cancan(serializer)
         | 
| 12 | 
            +
                    unless authorize?
         | 
| 13 | 
            +
                      return val
         | 
| 16 14 | 
             
                    end
         | 
| 17 | 
            -
                     | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
                  class HasOne
         | 
| 21 | 
            -
                    def serialize_with_cancan
         | 
| 22 | 
            -
                      unless authorize?
         | 
| 23 | 
            -
                        return serialize_without_cancan 
         | 
| 15 | 
            +
                    if val.kind_of?(Array)
         | 
| 16 | 
            +
                      val.select do |item|
         | 
| 17 | 
            +
                        serializer.current_ability.can?(:read, item)
         | 
| 24 18 | 
             
                      end
         | 
| 25 | 
            -
             | 
| 26 | 
            -
                      serializer  | 
| 27 | 
            -
             | 
| 28 | 
            -
                        serialize_without_cancan
         | 
| 19 | 
            +
                    else
         | 
| 20 | 
            +
                      if serializer.current_ability.can?(:read, val)
         | 
| 21 | 
            +
                        val
         | 
| 29 22 | 
             
                      else
         | 
| 30 23 | 
             
                        nil
         | 
| 31 24 | 
             
                      end
         | 
| 32 25 | 
             
                    end
         | 
| 33 | 
            -
                    alias_method_chain :serialize, :cancan
         | 
| 34 26 | 
             
                  end
         | 
| 27 | 
            +
                  alias_method_chain :value, :cancan
         | 
| 35 28 | 
             
                end
         | 
| 36 29 | 
             
              end
         | 
| 37 30 | 
             
            end
         | 
| 38 | 
            -
             | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: active_model_serializers_cancancan
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.0 | 
| 4 | 
            +
              version: 0.1.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - GlebTv
         | 
| @@ -9,22 +9,22 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date:  | 
| 12 | 
            +
            date: 2016-07-04 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: active_model_serializers
         | 
| 16 16 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 17 17 | 
             
                requirements:
         | 
| 18 | 
            -
                - - " | 
| 18 | 
            +
                - - "~>"
         | 
| 19 19 | 
             
                  - !ruby/object:Gem::Version
         | 
| 20 | 
            -
                    version:  | 
| 20 | 
            +
                    version: 0.10.0
         | 
| 21 21 | 
             
              type: :runtime
         | 
| 22 22 | 
             
              prerelease: false
         | 
| 23 23 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 24 24 | 
             
                requirements:
         | 
| 25 | 
            -
                - - " | 
| 25 | 
            +
                - - "~>"
         | 
| 26 26 | 
             
                  - !ruby/object:Gem::Version
         | 
| 27 | 
            -
                    version:  | 
| 27 | 
            +
                    version: 0.10.0
         | 
| 28 28 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 29 29 | 
             
              name: cancancan
         | 
| 30 30 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -73,14 +73,14 @@ dependencies: | |
| 73 73 | 
             
                requirements:
         | 
| 74 74 | 
             
                - - "~>"
         | 
| 75 75 | 
             
                  - !ruby/object:Gem::Version
         | 
| 76 | 
            -
                    version: 2. | 
| 76 | 
            +
                    version: 2.99.0
         | 
| 77 77 | 
             
              type: :development
         | 
| 78 78 | 
             
              prerelease: false
         | 
| 79 79 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 80 80 | 
             
                requirements:
         | 
| 81 81 | 
             
                - - "~>"
         | 
| 82 82 | 
             
                  - !ruby/object:Gem::Version
         | 
| 83 | 
            -
                    version: 2. | 
| 83 | 
            +
                    version: 2.99.0
         | 
| 84 84 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 85 85 | 
             
              name: pry
         | 
| 86 86 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -101,14 +101,14 @@ dependencies: | |
| 101 101 | 
             
                requirements:
         | 
| 102 102 | 
             
                - - "~>"
         | 
| 103 103 | 
             
                  - !ruby/object:Gem::Version
         | 
| 104 | 
            -
                    version:  | 
| 104 | 
            +
                    version: '5'
         | 
| 105 105 | 
             
              type: :development
         | 
| 106 106 | 
             
              prerelease: false
         | 
| 107 107 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 108 108 | 
             
                requirements:
         | 
| 109 109 | 
             
                - - "~>"
         | 
| 110 110 | 
             
                  - !ruby/object:Gem::Version
         | 
| 111 | 
            -
                    version:  | 
| 111 | 
            +
                    version: '5'
         | 
| 112 112 | 
             
            description: 
         | 
| 113 113 | 
             
            email:
         | 
| 114 114 | 
             
            - glebtv@gmail.com
         | 
| @@ -130,7 +130,6 @@ files: | |
| 130 130 | 
             
            - lib/active_model_serializers/cancan/abilities.rb
         | 
| 131 131 | 
             
            - lib/active_model_serializers/cancan/associations.rb
         | 
| 132 132 | 
             
            - lib/active_model_serializers/cancan/helpers.rb
         | 
| 133 | 
            -
            - lib/active_model_serializers/cancan/monkeypatch.rb
         | 
| 134 133 | 
             
            - lib/active_model_serializers/cancan/version.rb
         | 
| 135 134 | 
             
            - lib/active_model_serializers_cancancan.rb
         | 
| 136 135 | 
             
            - spec/active_model_serializers/cancan/abilities_spec.rb
         | 
| @@ -155,7 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 155 154 | 
             
                  version: '0'
         | 
| 156 155 | 
             
            requirements: []
         | 
| 157 156 | 
             
            rubyforge_project: 
         | 
| 158 | 
            -
            rubygems_version: 2. | 
| 157 | 
            +
            rubygems_version: 2.5.1
         | 
| 159 158 | 
             
            signing_key: 
         | 
| 160 159 | 
             
            specification_version: 4
         | 
| 161 160 | 
             
            summary: CanCanCan integration with Active Model Serializers
         |