hanami-view 1.0.0.beta1 → 1.0.0.beta2
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/LICENSE.md +1 -1
- data/README.md +1 -1
- data/lib/hanami/layout.rb +1 -0
- data/lib/hanami/view/configuration.rb +7 -0
- data/lib/hanami/view/errors.rb +4 -0
- data/lib/hanami/view/escape.rb +0 -2
- data/lib/hanami/view/rendering/layout_registry.rb +6 -0
- data/lib/hanami/view/rendering/layout_scope.rb +3 -50
- data/lib/hanami/view/rendering/null_local.rb +4 -0
- data/lib/hanami/view/rendering/partial.rb +2 -0
- data/lib/hanami/view/rendering/partial_file.rb +11 -1
- data/lib/hanami/view/rendering/partial_finder.rb +3 -0
- data/lib/hanami/view/rendering/partial_templates_finder.rb +4 -1
- data/lib/hanami/view/rendering/registry.rb +6 -0
- data/lib/hanami/view/rendering/scope.rb +1 -0
- data/lib/hanami/view/rendering/template.rb +2 -0
- data/lib/hanami/view/rendering/template_finder.rb +2 -0
- data/lib/hanami/view/rendering/template_name.rb +13 -0
- data/lib/hanami/view/rendering.rb +3 -0
- data/lib/hanami/view/version.rb +1 -1
- data/lib/hanami/view.rb +4 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: b09fc59502d563ea4210c73bc5909553a2f5cb03
         | 
| 4 | 
            +
              data.tar.gz: f9a822d9f11356243c2d4ed6d67dc5d2edbf60a5
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: '00858c90d06b8eddf6c5d497b3dd5f03df9edb8fb620248d300b26017b94eafc49eb2866d34241204ba72e8abd30096700dc8884f338202fc680665848e70603'
         | 
| 7 | 
            +
              data.tar.gz: e6602693088e2fbc2f1a54cae40278266bc542d65992d6e3b02c7830d744b1634d8142f5a5376265e6509264f1280ddb20f83f4ce046c386dd704184b1fa523a
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,6 +1,10 @@ | |
| 1 1 | 
             
            # Hanami::View
         | 
| 2 2 | 
             
            View layer for Hanami
         | 
| 3 3 |  | 
| 4 | 
            +
            ## v1.0.0.beta2 - 2017-03-17
         | 
| 5 | 
            +
            ### Changed
         | 
| 6 | 
            +
            - [Luca Guidi] Remove deprecated `Hanami::View::Rendering::LayoutScope#content`
         | 
| 7 | 
            +
             | 
| 4 8 | 
             
            ## v1.0.0.beta1 - 2017-02-14
         | 
| 5 9 | 
             
            ### Added
         | 
| 6 10 | 
             
            - [Luca Guidi] Official support for Ruby: MRI 2.4
         | 
    
        data/LICENSE.md
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | @@ -866,6 +866,6 @@ __Hanami::View__ uses [Semantic Versioning 2.0.0](http://semver.org) | |
| 866 866 |  | 
| 867 867 | 
             
            ## Copyright
         | 
| 868 868 |  | 
| 869 | 
            -
            Copyright 2014- | 
| 869 | 
            +
            Copyright 2014-2017 Luca Guidi – Released under MIT License
         | 
| 870 870 |  | 
| 871 871 | 
             
            This project was formerly known as Lotus (`lotus-view`).
         | 
    
        data/lib/hanami/layout.rb
    CHANGED
    
    
| @@ -483,14 +483,21 @@ module Hanami | |
| 483 483 | 
             
                    end
         | 
| 484 484 | 
             
                  end
         | 
| 485 485 |  | 
| 486 | 
            +
                  # @api private
         | 
| 486 487 | 
             
                  alias_method :unload!, :reset!
         | 
| 487 488 |  | 
| 488 489 | 
             
                  protected
         | 
| 490 | 
            +
                  # @api private
         | 
| 489 491 | 
             
                  attr_writer :namespace
         | 
| 492 | 
            +
                  # @api private
         | 
| 490 493 | 
             
                  attr_writer :root
         | 
| 494 | 
            +
                  # @api private
         | 
| 491 495 | 
             
                  attr_writer :load_paths
         | 
| 496 | 
            +
                  # @api private
         | 
| 492 497 | 
             
                  attr_writer :layout
         | 
| 498 | 
            +
                  # @api private
         | 
| 493 499 | 
             
                  attr_writer :default_encoding
         | 
| 500 | 
            +
                  # @api private
         | 
| 494 501 | 
             
                  attr_writer :modules
         | 
| 495 502 | 
             
                end
         | 
| 496 503 | 
             
              end
         | 
    
        data/lib/hanami/view/errors.rb
    CHANGED
    
    | @@ -17,6 +17,8 @@ module Hanami | |
| 17 17 | 
             
                #
         | 
| 18 18 | 
             
                # @since 0.1.0
         | 
| 19 19 | 
             
                class MissingTemplateError < Error
         | 
| 20 | 
            +
                  # @since 0.1.0
         | 
| 21 | 
            +
                  # @api private
         | 
| 20 22 | 
             
                  def initialize(template, format)
         | 
| 21 23 | 
             
                    super("Can't find template '#{ template }' for '#{ format }' format.")
         | 
| 22 24 | 
             
                  end
         | 
| @@ -39,6 +41,8 @@ module Hanami | |
| 39 41 | 
             
                #
         | 
| 40 42 | 
             
                # @since 0.5.0
         | 
| 41 43 | 
             
                class MissingTemplateLayoutError < Error
         | 
| 44 | 
            +
                  # @since 0.5.0
         | 
| 45 | 
            +
                  # @api private
         | 
| 42 46 | 
             
                  def initialize(template)
         | 
| 43 47 | 
             
                    super("Can't find layout template '#{ template }'")
         | 
| 44 48 | 
             
                  end
         | 
    
        data/lib/hanami/view/escape.rb
    CHANGED
    
    | @@ -18,7 +18,6 @@ module Hanami | |
| 18 18 | 
             
                    # @return [Hanami::Utils::Escape::SafeString] the string marked as safe
         | 
| 19 19 | 
             
                    #
         | 
| 20 20 | 
             
                    # @since 0.4.0
         | 
| 21 | 
            -
                    # @api public
         | 
| 22 21 | 
             
                    #
         | 
| 23 22 | 
             
                    # @example View usage
         | 
| 24 23 | 
             
                    #   require 'hanami/view'
         | 
| @@ -72,7 +71,6 @@ module Hanami | |
| 72 71 | 
             
                    #   autoescape
         | 
| 73 72 | 
             
                    #
         | 
| 74 73 | 
             
                    # @since 0.4.0
         | 
| 75 | 
            -
                    # @api public
         | 
| 76 74 | 
             
                    #
         | 
| 77 75 | 
             
                    # @see Hanami::View::Escape::Presenter
         | 
| 78 76 | 
             
                    #
         | 
| @@ -43,6 +43,8 @@ module Hanami | |
| 43 43 | 
             
                    end
         | 
| 44 44 |  | 
| 45 45 | 
             
                    protected
         | 
| 46 | 
            +
                    # @api private
         | 
| 47 | 
            +
                    # @since 0.1.0
         | 
| 46 48 | 
             
                    def prepare!
         | 
| 47 49 | 
             
                      templates.each do |template|
         | 
| 48 50 | 
             
                        @registry.merge! template.format => template
         | 
| @@ -50,10 +52,14 @@ module Hanami | |
| 50 52 | 
             
                      @registry.any? or raise MissingTemplateLayoutError.new(@view)
         | 
| 51 53 | 
             
                    end
         | 
| 52 54 |  | 
| 55 | 
            +
                    # @api private
         | 
| 56 | 
            +
                    # @since 0.1.0
         | 
| 53 57 | 
             
                    def templates
         | 
| 54 58 | 
             
                      TemplatesFinder.new(@view).find
         | 
| 55 59 | 
             
                    end
         | 
| 56 60 |  | 
| 61 | 
            +
                    # @api private
         | 
| 62 | 
            +
                    # @since 0.1.0
         | 
| 57 63 | 
             
                    def format(context)
         | 
| 58 64 | 
             
                      context.fetch(:format) { raise MissingFormatError }
         | 
| 59 65 | 
             
                    end
         | 
| @@ -1,6 +1,5 @@ | |
| 1 1 | 
             
            require 'hanami/view/rendering/null_local'
         | 
| 2 2 | 
             
            require 'hanami/utils/escape'
         | 
| 3 | 
            -
            require 'hanami/utils/deprecation'
         | 
| 4 3 |  | 
| 5 4 | 
             
            module Hanami
         | 
| 6 5 | 
             
              module View
         | 
| @@ -118,55 +117,6 @@ module Hanami | |
| 118 117 | 
             
                      @locals || @scope.locals
         | 
| 119 118 | 
             
                    end
         | 
| 120 119 |  | 
| 121 | 
            -
                    # Returns a content for the given key, by trying to invoke on the current
         | 
| 122 | 
            -
                    # scope, a method with the same name.
         | 
| 123 | 
            -
                    #
         | 
| 124 | 
            -
                    # The scope is made of locals and concrete methods from view and layout.
         | 
| 125 | 
            -
                    #
         | 
| 126 | 
            -
                    # @param key [Symbol] a method to invoke within current scope
         | 
| 127 | 
            -
                    # @return [String,NilClass] returning content if scope respond to the
         | 
| 128 | 
            -
                    #   requested method
         | 
| 129 | 
            -
                    #
         | 
| 130 | 
            -
                    # @deprecated Use {#local} instead
         | 
| 131 | 
            -
                    # @since 0.4.1
         | 
| 132 | 
            -
                    #
         | 
| 133 | 
            -
                    # @example
         | 
| 134 | 
            -
                    #   # Given the following layout template
         | 
| 135 | 
            -
                    #
         | 
| 136 | 
            -
                    #   <!doctype HTML>
         | 
| 137 | 
            -
                    #   <html>
         | 
| 138 | 
            -
                    #     <!-- ... -->
         | 
| 139 | 
            -
                    #     <body>
         | 
| 140 | 
            -
                    #       <!-- ... -->
         | 
| 141 | 
            -
                    #       <%= content :footer %>
         | 
| 142 | 
            -
                    #     </body>
         | 
| 143 | 
            -
                    #   </html>
         | 
| 144 | 
            -
                    #
         | 
| 145 | 
            -
                    #   # Case 1:
         | 
| 146 | 
            -
                    #   #   Products::Index doesn't respond to #footer, content will return nil
         | 
| 147 | 
            -
                    #   #
         | 
| 148 | 
            -
                    #   # Case 2:
         | 
| 149 | 
            -
                    #   #   Products::Show responds to #footer, content will send back
         | 
| 150 | 
            -
                    #   #     #footer returning value
         | 
| 151 | 
            -
                    #
         | 
| 152 | 
            -
                    #   module Products
         | 
| 153 | 
            -
                    #     class Index
         | 
| 154 | 
            -
                    #       include Hanami::View
         | 
| 155 | 
            -
                    #     end
         | 
| 156 | 
            -
                    #
         | 
| 157 | 
            -
                    #     class Show
         | 
| 158 | 
            -
                    #       include Hanami::View
         | 
| 159 | 
            -
                    #
         | 
| 160 | 
            -
                    #       def footer
         | 
| 161 | 
            -
                    #         "contents for footer"
         | 
| 162 | 
            -
                    #       end
         | 
| 163 | 
            -
                    #     end
         | 
| 164 | 
            -
                    #   end
         | 
| 165 | 
            -
                    def content(key)
         | 
| 166 | 
            -
                      Utils::Deprecation.new("#content is deprecated, please use #local")
         | 
| 167 | 
            -
                      __send__(key) if respond_to?(key)
         | 
| 168 | 
            -
                    end
         | 
| 169 | 
            -
             | 
| 170 120 | 
             
                    # It tries to invoke a method for the view or a local for the given key.
         | 
| 171 121 | 
             
                    # If the lookup fails, it returns a null object.
         | 
| 172 122 | 
             
                    #
         | 
| @@ -224,6 +174,7 @@ module Hanami | |
| 224 174 | 
             
                    # @return [TrueClass,FalseClass]
         | 
| 225 175 | 
             
                    #
         | 
| 226 176 | 
             
                    # @since 0.3.0
         | 
| 177 | 
            +
                    # @api private
         | 
| 227 178 | 
             
                    #
         | 
| 228 179 | 
             
                    # @see http://ruby-doc.org/core/Object.html#method-i-respond_to-3F
         | 
| 229 180 | 
             
                    def respond_to?(m, include_all = false)
         | 
| @@ -271,6 +222,7 @@ module Hanami | |
| 271 222 | 
             
                      end
         | 
| 272 223 | 
             
                    end
         | 
| 273 224 |  | 
| 225 | 
            +
                    # @api private
         | 
| 274 226 | 
             
                    def renderer(options)
         | 
| 275 227 | 
             
                      if options[:partial]
         | 
| 276 228 | 
             
                        Rendering::Partial
         | 
| @@ -280,6 +232,7 @@ module Hanami | |
| 280 232 | 
             
                    end
         | 
| 281 233 |  | 
| 282 234 | 
             
                    private
         | 
| 235 | 
            +
                    # @api private
         | 
| 283 236 | 
             
                    def _options(options)
         | 
| 284 237 | 
             
                      options.dup.tap do |opts|
         | 
| 285 238 | 
             
                        opts.merge!(format: format)
         | 
| @@ -20,21 +20,25 @@ module Hanami | |
| 20 20 | 
             
                    end
         | 
| 21 21 |  | 
| 22 22 | 
             
                    # @since 0.7.0
         | 
| 23 | 
            +
                    # @api private
         | 
| 23 24 | 
             
                    def all?
         | 
| 24 25 | 
             
                      false
         | 
| 25 26 | 
             
                    end
         | 
| 26 27 |  | 
| 27 28 | 
             
                    # @since 0.7.0
         | 
| 29 | 
            +
                    # @api private
         | 
| 28 30 | 
             
                    def any?
         | 
| 29 31 | 
             
                      false
         | 
| 30 32 | 
             
                    end
         | 
| 31 33 |  | 
| 32 34 | 
             
                    # @since 0.7.0
         | 
| 35 | 
            +
                    # @api private
         | 
| 33 36 | 
             
                    def empty?
         | 
| 34 37 | 
             
                      true
         | 
| 35 38 | 
             
                    end
         | 
| 36 39 |  | 
| 37 40 | 
             
                    # @since 0.7.0
         | 
| 41 | 
            +
                    # @api private
         | 
| 38 42 | 
             
                    def nil?
         | 
| 39 43 | 
             
                      true
         | 
| 40 44 | 
             
                    end
         | 
| @@ -4,7 +4,17 @@ module Hanami | |
| 4 4 | 
             
                  # @since 0.7.0
         | 
| 5 5 | 
             
                  # @api private
         | 
| 6 6 | 
             
                  class PartialFile
         | 
| 7 | 
            -
                     | 
| 7 | 
            +
                    # @since 0.7.0
         | 
| 8 | 
            +
                    # @api private
         | 
| 9 | 
            +
                    attr_reader :key
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                    # @since 0.7.0
         | 
| 12 | 
            +
                    # @api private
         | 
| 13 | 
            +
                    attr_reader :format
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                    # @since 0.7.0
         | 
| 16 | 
            +
                    # @api private
         | 
| 17 | 
            +
                    attr_reader :template
         | 
| 8 18 |  | 
| 9 19 | 
             
                    # @since 0.7.0
         | 
| 10 20 | 
             
                    # @api private
         | 
| @@ -60,15 +60,18 @@ module Hanami | |
| 60 60 | 
             
                      all.join(separator)
         | 
| 61 61 | 
             
                    end
         | 
| 62 62 |  | 
| 63 | 
            +
                    # @api private
         | 
| 63 64 | 
             
                    def template_name
         | 
| 64 65 | 
             
                      *all, last = partial_name.split(separator)
         | 
| 65 66 | 
             
                      all.push( last.prepend(prefix) ).join(separator)
         | 
| 66 67 | 
             
                    end
         | 
| 67 68 |  | 
| 69 | 
            +
                    # @api private
         | 
| 68 70 | 
             
                    def partial_name
         | 
| 69 71 | 
             
                      @options[:partial]
         | 
| 70 72 | 
             
                    end
         | 
| 71 73 |  | 
| 74 | 
            +
                    # @api private
         | 
| 72 75 | 
             
                    def prefix
         | 
| 73 76 | 
             
                      PREFIX
         | 
| 74 77 | 
             
                    end
         | 
| @@ -21,6 +21,8 @@ module Hanami | |
| 21 21 | 
             
                    # @since 0.7.0
         | 
| 22 22 | 
             
                    PARTIAL_PARTS_SEPARATOR = '.'.freeze
         | 
| 23 23 |  | 
| 24 | 
            +
                    # @api private
         | 
| 25 | 
            +
                    # @since 0.7.0
         | 
| 24 26 | 
             
                    attr_reader :configuration
         | 
| 25 27 |  | 
| 26 28 | 
             
                    # Initializes a new PartialTemplatesFinder
         | 
| @@ -28,6 +30,7 @@ module Hanami | |
| 28 30 | 
             
                    # @param configuration [Configuration] the configuration object
         | 
| 29 31 | 
             
                    #
         | 
| 30 32 | 
             
                    # @since 0.7.0
         | 
| 33 | 
            +
                    # @api private
         | 
| 31 34 | 
             
                    def initialize(configuration)
         | 
| 32 35 | 
             
                      @configuration = configuration
         | 
| 33 36 | 
             
                    end
         | 
| @@ -37,6 +40,7 @@ module Hanami | |
| 37 40 | 
             
                    # @return [Array] array of PartialFinder objects
         | 
| 38 41 | 
             
                    #
         | 
| 39 42 | 
             
                    # @since 0.7.0
         | 
| 43 | 
            +
                    # @api private
         | 
| 40 44 | 
             
                    def find
         | 
| 41 45 | 
             
                      _find_partials(configuration.root).map do |template|
         | 
| 42 46 | 
             
                        partial_path, partial_base_name = Pathname(template).relative_path_from(configuration.root).split
         | 
| @@ -67,4 +71,3 @@ module Hanami | |
| 67 71 | 
             
                end
         | 
| 68 72 | 
             
              end
         | 
| 69 73 | 
             
            end
         | 
| 70 | 
            -
             | 
| @@ -94,31 +94,37 @@ module Hanami | |
| 94 94 | 
             
                    end
         | 
| 95 95 |  | 
| 96 96 | 
             
                    private
         | 
| 97 | 
            +
                    # @api private
         | 
| 97 98 | 
             
                    def prepare!
         | 
| 98 99 | 
             
                      prepare_views!
         | 
| 99 100 | 
             
                      prepare_templates!
         | 
| 100 101 | 
             
                    end
         | 
| 101 102 |  | 
| 103 | 
            +
                    # @api private
         | 
| 102 104 | 
             
                    def prepare_views!
         | 
| 103 105 | 
             
                      views.each do |view|
         | 
| 104 106 | 
             
                        @registry.merge! view.format || DEFAULT_FORMAT => [ view, template_for(view) ]
         | 
| 105 107 | 
             
                      end
         | 
| 106 108 | 
             
                    end
         | 
| 107 109 |  | 
| 110 | 
            +
                    # @api private
         | 
| 108 111 | 
             
                    def prepare_templates!
         | 
| 109 112 | 
             
                      templates.each do |template|
         | 
| 110 113 | 
             
                        @registry.merge! template.format => [ view_for(template), template ]
         | 
| 111 114 | 
             
                      end
         | 
| 112 115 | 
             
                    end
         | 
| 113 116 |  | 
| 117 | 
            +
                    # @api private
         | 
| 114 118 | 
             
                    def views
         | 
| 115 119 | 
             
                      @view.subclasses + [ @view ]
         | 
| 116 120 | 
             
                    end
         | 
| 117 121 |  | 
| 122 | 
            +
                    # @api private
         | 
| 118 123 | 
             
                    def view_for(template)
         | 
| 119 124 | 
             
                      ViewFinder.new(@view).find(template)
         | 
| 120 125 | 
             
                    end
         | 
| 121 126 |  | 
| 127 | 
            +
                    # @api private
         | 
| 122 128 | 
             
                    def template_for(view)
         | 
| 123 129 | 
             
                      templates.find {|template| template.format == view.format }
         | 
| 124 130 | 
             
                    end
         | 
| @@ -4,30 +4,43 @@ module Hanami | |
| 4 4 | 
             
              module View
         | 
| 5 5 | 
             
                module Rendering
         | 
| 6 6 | 
             
                  # @since 0.2.0
         | 
| 7 | 
            +
                  # @api private
         | 
| 7 8 | 
             
                  class TemplateName
         | 
| 9 | 
            +
                    # @since 0.2.0
         | 
| 10 | 
            +
                    # @api private
         | 
| 8 11 | 
             
                    NAMESPACE_SEPARATOR = '::'.freeze
         | 
| 9 12 |  | 
| 13 | 
            +
                    # @since 0.2.0
         | 
| 14 | 
            +
                    # @api private
         | 
| 10 15 | 
             
                    def initialize(name, namespace)
         | 
| 11 16 | 
             
                      @name = name
         | 
| 12 17 | 
             
                      compile!(namespace)
         | 
| 13 18 | 
             
                    end
         | 
| 14 19 |  | 
| 20 | 
            +
                    # @since 0.2.0
         | 
| 21 | 
            +
                    # @api private
         | 
| 15 22 | 
             
                    def to_s
         | 
| 16 23 | 
             
                      @name
         | 
| 17 24 | 
             
                    end
         | 
| 18 25 |  | 
| 19 26 | 
             
                    private
         | 
| 27 | 
            +
                    # @since 0.2.0
         | 
| 28 | 
            +
                    # @api private
         | 
| 20 29 | 
             
                    def compile!(namespace)
         | 
| 21 30 | 
             
                      tokens(namespace) {|token| replace!(token) }
         | 
| 22 31 | 
             
                      @name = Utils::String.new(@name).underscore
         | 
| 23 32 | 
             
                    end
         | 
| 24 33 |  | 
| 34 | 
            +
                    # @since 0.2.0
         | 
| 35 | 
            +
                    # @api private
         | 
| 25 36 | 
             
                    def tokens(namespace)
         | 
| 26 37 | 
             
                      namespace.to_s.split(NAMESPACE_SEPARATOR).each do |token|
         | 
| 27 38 | 
             
                        yield token
         | 
| 28 39 | 
             
                      end
         | 
| 29 40 | 
             
                    end
         | 
| 30 41 |  | 
| 42 | 
            +
                    # @since 0.2.0
         | 
| 43 | 
            +
                    # @api private
         | 
| 31 44 | 
             
                    def replace!(token)
         | 
| 32 45 | 
             
                      @name.gsub!(%r{\A#{ token }#{ NAMESPACE_SEPARATOR }}, '')
         | 
| 33 46 | 
             
                    end
         | 
| @@ -10,6 +10,8 @@ module Hanami | |
| 10 10 | 
             
                #
         | 
| 11 11 | 
             
                # @see Hanami::View::Rendering::InstanceMethods
         | 
| 12 12 | 
             
                module Rendering
         | 
| 13 | 
            +
                  # @since 0.1.0
         | 
| 14 | 
            +
                  # @api private
         | 
| 13 15 | 
             
                  def self.extended(base)
         | 
| 14 16 | 
             
                    base.class_eval do
         | 
| 15 17 | 
             
                      include InstanceMethods
         | 
| @@ -281,6 +283,7 @@ module Hanami | |
| 281 283 | 
             
                    @registry ||= Registry.new(self)
         | 
| 282 284 | 
             
                  end
         | 
| 283 285 |  | 
| 286 | 
            +
                  # @api private
         | 
| 284 287 | 
             
                  def load_registry!
         | 
| 285 288 | 
             
                    @registry = nil
         | 
| 286 289 | 
             
                    registry.freeze
         | 
    
        data/lib/hanami/view/version.rb
    CHANGED
    
    
    
        data/lib/hanami/view.rb
    CHANGED
    
    | @@ -11,6 +11,9 @@ require 'hanami/view/errors' | |
| 11 11 | 
             
            require 'hanami/layout'
         | 
| 12 12 | 
             
            require 'hanami/presenter'
         | 
| 13 13 |  | 
| 14 | 
            +
            # Hanami
         | 
| 15 | 
            +
            #
         | 
| 16 | 
            +
            # @since 0.1.0
         | 
| 14 17 | 
             
            module Hanami
         | 
| 15 18 | 
             
              # View
         | 
| 16 19 | 
             
              #
         | 
| @@ -103,7 +106,7 @@ module Hanami | |
| 103 106 | 
             
                #
         | 
| 104 107 | 
             
                # @return [Module] a copy of Hanami::View
         | 
| 105 108 | 
             
                #
         | 
| 106 | 
            -
                # | 
| 109 | 
            +
                # @since 0.2.0
         | 
| 107 110 | 
             
                #
         | 
| 108 111 | 
             
                # @see Hanami::View#dupe
         | 
| 109 112 | 
             
                # @see Hanami::View::Configuration
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: hanami-view
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1.0.0. | 
| 4 | 
            +
              version: 1.0.0.beta2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Luca Guidi
         | 
| @@ -10,7 +10,7 @@ authors: | |
| 10 10 | 
             
            autorequire: 
         | 
| 11 11 | 
             
            bindir: bin
         | 
| 12 12 | 
             
            cert_chain: []
         | 
| 13 | 
            -
            date: 2017- | 
| 13 | 
            +
            date: 2017-03-17 00:00:00.000000000 Z
         | 
| 14 14 | 
             
            dependencies:
         | 
| 15 15 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 16 16 | 
             
              name: tilt
         |