artirix_cache_service 0.3.1 → 0.4.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/README.md +49 -0
 - data/lib/artirix_cache_service/version.rb +1 -1
 - data/lib/artirix_cache_service/view_helper.rb +19 -0
 - data/lib/artirix_cache_service.rb +5 -0
 - metadata +2 -1
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 3e1719e6511906dbf2b6a809ce5908a1611619a4
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 24a67f4e940d307c3ef8b9bd53b65aa4762e58bd
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 96b78b39ece2dfecaa199bc8a55c84e2aa2bf0ab6e1397c17e4d0494bb2c1045c3884e1eccc6ef712967291e46d0382360db75c6153834ffd294d9b0a24ea9ed
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 87954784f67d284af6133f11e12b0f57407e3c4bc83b09ec9adf2b387a29ac38e5a4f68c33a88244512d0ef335cc758627a4118eabb5c6ac0bfa85cfbd737351
         
     | 
    
        data/README.md
    CHANGED
    
    | 
         @@ -248,6 +248,51 @@ redis_client = Redis.new redis_options 
     | 
|
| 
       248 
248 
     | 
    
         
             
            redis_client.get 'my_app_prefix_myvar' # => 'paco'
         
     | 
| 
       249 
249 
     | 
    
         
             
            ```
         
     | 
| 
       250 
250 
     | 
    
         | 
| 
      
 251 
     | 
    
         
            +
            ## View Helper
         
     | 
| 
      
 252 
     | 
    
         
            +
             
     | 
| 
      
 253 
     | 
    
         
            +
            Calling `ArtirixCacheService.view_helper` we can access a module with a 
         
     | 
| 
      
 254 
     | 
    
         
            +
            `artirix_cache` helper method that acts as a proxy to normal Rails cache 
         
     | 
| 
      
 255 
     | 
    
         
            +
            view helper method.
         
     | 
| 
      
 256 
     | 
    
         
            +
             
     | 
| 
      
 257 
     | 
    
         
            +
            It will use the Service to get the final key using the `.key` Service method, 
         
     | 
| 
      
 258 
     | 
    
         
            +
            and will load up the options to pass to `cache` method looking for the second 
         
     | 
| 
      
 259 
     | 
    
         
            +
            argument on the registered options (using `.options` Service method).
         
     | 
| 
      
 260 
     | 
    
         
            +
             
     | 
| 
      
 261 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 262 
     | 
    
         
            +
            include ArtirixCacheService.view_helper
         
     | 
| 
      
 263 
     | 
    
         
            +
             
     | 
| 
      
 264 
     | 
    
         
            +
             
     | 
| 
      
 265 
     | 
    
         
            +
            <%= artirix_cache :my_key, :registered_options_name, :arg1, request: request do %>
         
     | 
| 
      
 266 
     | 
    
         
            +
            ...
         
     | 
| 
      
 267 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 268 
     | 
    
         
            +
             
     | 
| 
      
 269 
     | 
    
         
            +
            # same as 
         
     | 
| 
      
 270 
     | 
    
         
            +
            <%= cache ArtirixCacheService.key(:my_key, :arg1, request: request), 
         
     | 
| 
      
 271 
     | 
    
         
            +
                      ArtirixCacheService.options(:registered_options_name) do %>
         
     | 
| 
      
 272 
     | 
    
         
            +
            ...
         
     | 
| 
      
 273 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 274 
     | 
    
         
            +
            ```
         
     | 
| 
      
 275 
     | 
    
         
            +
             
     | 
| 
      
 276 
     | 
    
         
            +
            First argument is required and it's the first argument to 
         
     | 
| 
      
 277 
     | 
    
         
            +
            `ArtirixCacheService.key` call. The 3rd and subsequent arguments are the extra 
         
     | 
| 
      
 278 
     | 
    
         
            +
            arguments in that call
         
     | 
| 
      
 279 
     | 
    
         
            +
             
     | 
| 
      
 280 
     | 
    
         
            +
            The second argument will be used to call `.options`. We can supply an array of 
         
     | 
| 
      
 281 
     | 
    
         
            +
            possible option names to lookup (see `.options` method).
         
     | 
| 
      
 282 
     | 
    
         
            +
             
     | 
| 
      
 283 
     | 
    
         
            +
             
     | 
| 
      
 284 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 285 
     | 
    
         
            +
            <%= artirix_cache :my_key, [:opts1, :otps2], :arg1, request: request do %>
         
     | 
| 
      
 286 
     | 
    
         
            +
            ...
         
     | 
| 
      
 287 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 288 
     | 
    
         
            +
             
     | 
| 
      
 289 
     | 
    
         
            +
            # same as 
         
     | 
| 
      
 290 
     | 
    
         
            +
            <%= cache ArtirixCacheService.key(:my_key, :arg1, request: request), 
         
     | 
| 
      
 291 
     | 
    
         
            +
                      ArtirixCacheService.options(:opts1, :opts2) do %>
         
     | 
| 
      
 292 
     | 
    
         
            +
            ...
         
     | 
| 
      
 293 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 294 
     | 
    
         
            +
            ```
         
     | 
| 
      
 295 
     | 
    
         
            +
             
     | 
| 
       251 
296 
     | 
    
         
             
            ## Installation
         
     | 
| 
       252 
297 
     | 
    
         | 
| 
       253 
298 
     | 
    
         
             
            Add this line to your application's Gemfile:
         
     | 
| 
         @@ -277,6 +322,10 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/artiri 
     | 
|
| 
       277 
322 
     | 
    
         | 
| 
       278 
323 
     | 
    
         
             
            # Changeset
         
     | 
| 
       279 
324 
     | 
    
         | 
| 
      
 325 
     | 
    
         
            +
            ## v0.4.0
         
     | 
| 
      
 326 
     | 
    
         
            +
             
     | 
| 
      
 327 
     | 
    
         
            +
            - View Helper with `artirix_cache` helper method
         
     | 
| 
      
 328 
     | 
    
         
            +
             
     | 
| 
       280 
329 
     | 
    
         
             
            ## v0.3.1
         
     | 
| 
       281 
330 
     | 
    
         | 
| 
       282 
331 
     | 
    
         
             
            - add request support
         
     | 
| 
         @@ -0,0 +1,19 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module ArtirixCacheService
         
     | 
| 
      
 2 
     | 
    
         
            +
              module ViewHelper
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
                def artirix_cache(key_prefix, options_name = [], *key_params, &block)
         
     | 
| 
      
 5 
     | 
    
         
            +
                  raise ArgumentError, 'key_prefix is required' unless key_prefix.present?
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                  options = ArtirixCacheService.options *Array(options_name),
         
     | 
| 
      
 8 
     | 
    
         
            +
                                                        return_if_missing: :default
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
                  # if `disable_cache` in the options -> yield without caching
         
     | 
| 
      
 11 
     | 
    
         
            +
                  if options[:disable_cache]
         
     | 
| 
      
 12 
     | 
    
         
            +
                    yield
         
     | 
| 
      
 13 
     | 
    
         
            +
                  else
         
     | 
| 
      
 14 
     | 
    
         
            +
                    key = ArtirixCacheService.key key_prefix, *key_params
         
     | 
| 
      
 15 
     | 
    
         
            +
                    cache(key, options, &block)
         
     | 
| 
      
 16 
     | 
    
         
            +
                  end
         
     | 
| 
      
 17 
     | 
    
         
            +
                end
         
     | 
| 
      
 18 
     | 
    
         
            +
              end
         
     | 
| 
      
 19 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -1,6 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'active_support/all'
         
     | 
| 
       2 
2 
     | 
    
         
             
            require 'redis'
         
     | 
| 
       3 
3 
     | 
    
         
             
            require 'artirix_cache_service/version'
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'artirix_cache_service/view_helper'
         
     | 
| 
       4 
5 
     | 
    
         
             
            require 'artirix_cache_service/key'
         
     | 
| 
       5 
6 
     | 
    
         
             
            require 'artirix_cache_service/options_service'
         
     | 
| 
       6 
7 
     | 
    
         
             
            require 'artirix_cache_service/variables_store_service'
         
     | 
| 
         @@ -25,6 +26,10 @@ module ArtirixCacheService 
     | 
|
| 
       25 
26 
     | 
    
         
             
                         to: :service
         
     | 
| 
       26 
27 
     | 
    
         
             
              end
         
     | 
| 
       27 
28 
     | 
    
         | 
| 
      
 29 
     | 
    
         
            +
              def self.view_helper
         
     | 
| 
      
 30 
     | 
    
         
            +
                ViewHelper
         
     | 
| 
      
 31 
     | 
    
         
            +
              end
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
       28 
33 
     | 
    
         
             
              def self.service
         
     | 
| 
       29 
34 
     | 
    
         
             
                @service ||= reload_service
         
     | 
| 
       30 
35 
     | 
    
         
             
              end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: artirix_cache_service
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.4.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Eduardo Turiño
         
     | 
| 
         @@ -119,6 +119,7 @@ files: 
     | 
|
| 
       119 
119 
     | 
    
         
             
            - lib/artirix_cache_service/variables_stores/internal.rb
         
     | 
| 
       120 
120 
     | 
    
         
             
            - lib/artirix_cache_service/variables_stores/redis.rb
         
     | 
| 
       121 
121 
     | 
    
         
             
            - lib/artirix_cache_service/version.rb
         
     | 
| 
      
 122 
     | 
    
         
            +
            - lib/artirix_cache_service/view_helper.rb
         
     | 
| 
       122 
123 
     | 
    
         
             
            homepage: https://github.com/artirix/artirix_cache_service
         
     | 
| 
       123 
124 
     | 
    
         
             
            licenses: []
         
     | 
| 
       124 
125 
     | 
    
         
             
            metadata: {}
         
     |