n1_loader 1.4.1 → 1.4.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/CHANGELOG.md +4 -0
- data/README.md +3 -0
- data/lib/n1_loader/core/loadable.rb +12 -0
- data/lib/n1_loader/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: f72c7428f78489c25222fb2ab8d56fde519c680fdc010115b952637c2291ca93
         | 
| 4 | 
            +
              data.tar.gz: 7149852481ffed8d1fd0fc25e28fc045eda0a0f2936e748461dd7f43d4f709f1
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 0d0802914b84d4c25a97c8c328ff2ae4453cf8fcd4eee87de1955b06b810c874d9982498b5fc80ecf1fa77238971e51ef5f162f809914876a1811084b366ddfe
         | 
| 7 | 
            +
              data.tar.gz: fa001ab34b7165ee35ba31ef449c837418d538e52977ee984b38e35b767df06c05ef0cb01949c9290c17ae40bcd3e3644f00374cf7f66d7e6811f094515c37da
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | @@ -129,6 +129,9 @@ end | |
| 129 129 | 
             
            user = User.new
         | 
| 130 130 | 
             
            user.orders_count # => loader is executed first time and value was cached
         | 
| 131 131 | 
             
            user.orders_count(reload: true) # => loader is executed again and a new value was cached
         | 
| 132 | 
            +
            # or
         | 
| 133 | 
            +
            user.n1_clear_cache
         | 
| 134 | 
            +
            user.orders_count
         | 
| 132 135 |  | 
| 133 136 | 
             
            users = [User.new, User.new]
         | 
| 134 137 | 
             
            N1Loader::Preloader.new(users).preload(:orders_count) # => loader was initialized but not yet executed
         | 
| @@ -32,6 +32,12 @@ module N1Loader | |
| 32 32 | 
             
                  send("#{name}_loader=", loader_collection)
         | 
| 33 33 | 
             
                end
         | 
| 34 34 |  | 
| 35 | 
            +
                def n1_clear_cache
         | 
| 36 | 
            +
                  self.class.n1_loaders.each do |name|
         | 
| 37 | 
            +
                    n1_loader_set(name, nil)
         | 
| 38 | 
            +
                  end
         | 
| 39 | 
            +
                end
         | 
| 40 | 
            +
             | 
| 35 41 | 
             
                def self.included(base)
         | 
| 36 42 | 
             
                  base.extend(ClassMethods)
         | 
| 37 43 | 
             
                end
         | 
| @@ -45,6 +51,10 @@ module N1Loader | |
| 45 51 | 
             
                    respond_to?("#{name}_loader")
         | 
| 46 52 | 
             
                  end
         | 
| 47 53 |  | 
| 54 | 
            +
                  def n1_loaders
         | 
| 55 | 
            +
                    @n1_loaders ||= superclass.respond_to?(:n1_loaders) ? superclass.n1_loaders.dup : []
         | 
| 56 | 
            +
                  end
         | 
| 57 | 
            +
             | 
| 48 58 | 
             
                  def n1_optimized(name, loader = nil, &block) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
         | 
| 49 59 | 
             
                    loader ||= Class.new(N1Loader::Loader) do
         | 
| 50 60 | 
             
                      if block.arity == 1
         | 
| @@ -56,6 +66,8 @@ module N1Loader | |
| 56 66 | 
             
                    loader_name = "#{name}_loader"
         | 
| 57 67 | 
             
                    loader_variable_name = "@#{loader_name}"
         | 
| 58 68 |  | 
| 69 | 
            +
                    n1_loaders << name
         | 
| 70 | 
            +
             | 
| 59 71 | 
             
                    define_singleton_method(loader_name) do
         | 
| 60 72 | 
             
                      loader
         | 
| 61 73 | 
             
                    end
         | 
    
        data/lib/n1_loader/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: n1_loader
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.4. | 
| 4 | 
            +
              version: 1.4.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Evgeniy Demin
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2022- | 
| 11 | 
            +
            date: 2022-03-01 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: activerecord
         |