covercache 0.2.1 → 0.3
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 +8 -8
- data/lib/covercache/version.rb +1 -1
- data/lib/covercache.rb +22 -26
- data/spec/covercache.sqlite3 +0 -0
- metadata +1 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,15 +1,15 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            !binary "U0hBMQ==":
         | 
| 3 3 | 
             
              metadata.gz: !binary |-
         | 
| 4 | 
            -
                 | 
| 4 | 
            +
                NGZmODIwZWVlNGQzZWM2ODlkOTU3OTg5NjhlZTk2ODMzMGZiNTM1NA==
         | 
| 5 5 | 
             
              data.tar.gz: !binary |-
         | 
| 6 | 
            -
                 | 
| 6 | 
            +
                NWNjNGYwZGYzZWMyZDllY2VlNjYxMWZjZWQ5MTM4Y2QyNmNjM2ZiMA==
         | 
| 7 7 | 
             
            !binary "U0hBNTEy":
         | 
| 8 8 | 
             
              metadata.gz: !binary |-
         | 
| 9 | 
            -
                 | 
| 10 | 
            -
                 | 
| 11 | 
            -
                 | 
| 9 | 
            +
                YWJlYzZlODI3ZWJiODEyYWE1ZWVhZTY4NzZkYWJjODhlYjAwOGEwYjhmZDJm
         | 
| 10 | 
            +
                NzUwM2FmM2UyZjJmZTBiYTAwZTA0ODlhZWFhMTMyZjk4YWM1OTJhMTA0YzVi
         | 
| 11 | 
            +
                NTdkMTBhODYzNTliYjM5NWMzMGE1MjVhYmRmOWYyY2Q5ZDk1ZmQ=
         | 
| 12 12 | 
             
              data.tar.gz: !binary |-
         | 
| 13 | 
            -
                 | 
| 14 | 
            -
                 | 
| 15 | 
            -
                 | 
| 13 | 
            +
                OTA2ZmNiMmQwODJlNGMyNTUwODRiYTA2OTgzYmUzOTI4ZTUyZGQxMzY1MWFh
         | 
| 14 | 
            +
                YTkzOGIyODY1ZDZjZmMwNjA0NDMwYzgyYTg3Y2UwYzU4NTg0NmE2YTllYWFm
         | 
| 15 | 
            +
                ZjZjOWRkYmJlNzMzNjRlYTRjNzk0NWQ4N2RmYzIyNzg4ZmY4ZjQ=
         | 
    
        data/lib/covercache/version.rb
    CHANGED
    
    
    
        data/lib/covercache.rb
    CHANGED
    
    | @@ -106,14 +106,14 @@ module Covercache | |
| 106 106 | 
             
                  self.is_a?(Class) ? self : self.class
         | 
| 107 107 | 
             
                end
         | 
| 108 108 |  | 
| 109 | 
            -
                def  | 
| 110 | 
            -
                   | 
| 109 | 
            +
                def extract_cache_key(*args)
         | 
| 110 | 
            +
                  [*(args.last.delete :cache_key if args.last.is_a?(Hash))]
         | 
| 111 111 | 
             
                end
         | 
| 112 112 | 
             
              end
         | 
| 113 113 |  | 
| 114 114 | 
             
              # == Defining Helper
         | 
| 115 115 | 
             
              # 
         | 
| 116 | 
            -
              module DefiningHelper
         | 
| 116 | 
            +
              module DefiningHelper    
         | 
| 117 117 | 
             
                # Define and wrap methods or blocks
         | 
| 118 118 | 
             
                def define_cached(method, *args, &block)
         | 
| 119 119 | 
             
                  options = args.extract_options!
         | 
| @@ -123,7 +123,7 @@ module Covercache | |
| 123 123 | 
             
                  line = line.to_i
         | 
| 124 124 |  | 
| 125 125 | 
             
                  covercache_method_arguments method, args, options, &block
         | 
| 126 | 
            -
                  covercache_define_wrapper method, file, line,  | 
| 126 | 
            +
                  covercache_define_wrapper method, file, line, is_class_method
         | 
| 127 127 | 
             
                end
         | 
| 128 128 |  | 
| 129 129 | 
             
                def class_define_cached(method, *args, &block)
         | 
| @@ -133,35 +133,31 @@ module Covercache | |
| 133 133 | 
             
                end
         | 
| 134 134 |  | 
| 135 135 | 
             
                private
         | 
| 136 | 
            -
                def covercache_define_wrapper( | 
| 137 | 
            -
                   | 
| 136 | 
            +
                def covercache_define_wrapper(original_method, file, line, is_class_method = false)
         | 
| 137 | 
            +
                  method = "#{'self.' if is_class_method}cached_#{ original_method }"
         | 
| 138 138 |  | 
| 139 | 
            -
                  class_eval | 
| 140 | 
            -
                    def #{ | 
| 141 | 
            -
                       | 
| 142 | 
            -
                      covercache | 
| 143 | 
            -
                         | 
| 144 | 
            -
             | 
| 145 | 
            -
             | 
| 146 | 
            -
             | 
| 147 | 
            -
             | 
| 148 | 
            -
             | 
| 149 | 
            -
             | 
| 139 | 
            +
                  class_eval <<-EOS, file, line - 2
         | 
| 140 | 
            +
                    def #{method}(*args, &block)                                          # def cached_example(*args, &block)
         | 
| 141 | 
            +
                      options = Array(#{method}_data[:args]) + extract_cache_key(*args)   #   options = Array(cached_example_data[:args]) + extract_cache_key_from(*args)
         | 
| 142 | 
            +
                      covercache *options, #{method}_data[:opts] do                       #   covercache *options, cached_example_data[:opts] do
         | 
| 143 | 
            +
                        cache_block = #{method}_data[:block]                              #     cache_block = cached_example_data[:block]
         | 
| 144 | 
            +
                        if cache_block.present?                                           #     if cache_block.present?
         | 
| 145 | 
            +
                          cache_block.(#{'self,' unless is_class_method} *args)           #       cache_block.(self, *args)
         | 
| 146 | 
            +
                        else                                                              #     else
         | 
| 147 | 
            +
                          self.send :#{original_method}, *args, &block                    #       self.send :example, *args, &block
         | 
| 148 | 
            +
                        end                                                               #     end
         | 
| 149 | 
            +
                      end                                                                 #   end
         | 
| 150 | 
            +
                    end                                                                   # env
         | 
| 150 151 | 
             
                  EOS
         | 
| 151 152 | 
             
                end
         | 
| 152 153 |  | 
| 153 154 | 
             
                def covercache_method_arguments(method, *args, &block)
         | 
| 154 | 
            -
                   | 
| 155 | 
            -
                   | 
| 156 | 
            -
                  class_attribute :"cached_#{method}_settings"
         | 
| 157 | 
            -
                  self.send(:"cached_#{method}_settings=", settings)
         | 
| 155 | 
            +
                  class_attribute :"cached_#{method}_data"
         | 
| 156 | 
            +
                  self.send :"cached_#{method}_data=", organize_cached_method_data(*args, &block)
         | 
| 158 157 | 
             
                end
         | 
| 159 158 |  | 
| 160 | 
            -
                def  | 
| 161 | 
            -
                   | 
| 162 | 
            -
                  Hash[ %w{args opts block}.map do |x| 
         | 
| 163 | 
            -
                    [ x, (args.shift || block) ] 
         | 
| 164 | 
            -
                  end].to_options
         | 
| 159 | 
            +
                def organize_cached_method_data(*args, &block)
         | 
| 160 | 
            +
                  Hash[%w{args opts block}.map { |key| [key, (args.shift || block)] }].to_options
         | 
| 165 161 | 
             
                end
         | 
| 166 162 | 
             
              end
         | 
| 167 163 |  | 
    
        data/spec/covercache.sqlite3
    CHANGED
    
    | Binary file |