hud 2.4.0 → 2.6.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/lib/hud/version.rb +1 -1
- data/lib/hud.rb +30 -10
- 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: 7bbb2c2c8a520111decb888ab0ae02bc5811203e3b2e0447b9019de03757e149
         | 
| 4 | 
            +
              data.tar.gz: 63bf018b8fe9e6274a57dd891db4efe6b5de57a07b06928a1cf1a539fa15ab56
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 39374ac6630da23c9f7173a2f3317ee9efe1b8b4c657c80fad29ba87fb5aa365980a93ef9cf3cbe9902c138d5ed13996e27a871004dd80abfed0b8cf98d0e35e
         | 
| 7 | 
            +
              data.tar.gz: 762d25bc32700fdbad514b18d6e825414c668cf8207ef000829eebd58aa4f43e0108807fc4511f313b7ba2bad23e8e71ecc4905fa9283a1bc892565cccd5e9b8
         | 
    
        data/lib/hud/version.rb
    CHANGED
    
    
    
        data/lib/hud.rb
    CHANGED
    
    | @@ -84,9 +84,9 @@ module Hud | |
| 84 84 |  | 
| 85 85 | 
             
              class Display
         | 
| 86 86 | 
             
                module Helpers
         | 
| 87 | 
            -
                  def display(name, from: nil, locals: {} | 
| 87 | 
            +
                  def display(name, from: nil, locals: {})
         | 
| 88 88 | 
             
                    klz = Display.build(name)
         | 
| 89 | 
            -
                    klz.call(locals: locals).render_template(name: name, locals: @locals, from: from | 
| 89 | 
            +
                    klz.call(locals: locals).render_template(name: name, locals: @locals, from: from)
         | 
| 90 90 | 
             
                  end
         | 
| 91 91 | 
             
                  alias_method :render, :display
         | 
| 92 92 | 
             
                  alias_method :d, :display   
         | 
| @@ -104,7 +104,18 @@ module Hud | |
| 104 104 | 
             
                  attr_reader :locals
         | 
| 105 105 | 
             
                  attr_reader :content
         | 
| 106 106 | 
             
                  alias_method :args, :locals
         | 
| 107 | 
            -
             | 
| 107 | 
            +
             | 
| 108 | 
            +
                  class HtmlContent
         | 
| 109 | 
            +
                    def initialize(content)
         | 
| 110 | 
            +
                      @content = content
         | 
| 111 | 
            +
                    end
         | 
| 112 | 
            +
                    def to_s
         | 
| 113 | 
            +
                      @content
         | 
| 114 | 
            +
                    end
         | 
| 115 | 
            +
                    def css(selector)
         | 
| 116 | 
            +
                      Oga.parse_html(@content).css(selector).text
         | 
| 117 | 
            +
                    end
         | 
| 118 | 
            +
                  end      
         | 
| 108 119 |  | 
| 109 120 | 
             
                  def folders
         | 
| 110 121 | 
             
                    Hud.configuration.components_dirs
         | 
| @@ -114,12 +125,23 @@ module Hud | |
| 114 125 | 
             
                    ENV["RACK_ENV"] == "development"
         | 
| 115 126 | 
             
                  end
         | 
| 116 127 |  | 
| 128 | 
            +
                  def method_missing(method_name, *args, &block)
         | 
| 129 | 
            +
                    if @locals.respond_to?(method_name)
         | 
| 130 | 
            +
                      @locals.send(method_name, *args, &block)
         | 
| 131 | 
            +
                    else
         | 
| 132 | 
            +
                      super
         | 
| 133 | 
            +
                    end
         | 
| 134 | 
            +
                    
         | 
| 135 | 
            +
                  end
         | 
| 136 | 
            +
             | 
| 137 | 
            +
                  def respond_to_missing?(method_name, include_private = false)
         | 
| 138 | 
            +
                    @locals.respond_to?(method_name) || super
         | 
| 139 | 
            +
                  end
         | 
| 117 140 |  | 
| 118 141 | 
             
                  def display(name, locals: {},css:nil)
         | 
| 119 142 | 
             
                    template = Tilt::ERBTemplate.new("#{Hud.configuration.base_path}/components/#{name.to_s}.html.erb")
         | 
| 120 143 | 
             
                    result = template.render(self, locals)
         | 
| 121 | 
            -
                    return  | 
| 122 | 
            -
                    result
         | 
| 144 | 
            +
                    return HtmlContent.new(result)
         | 
| 123 145 | 
             
                  end
         | 
| 124 146 |  | 
| 125 147 | 
             
                  alias_method :render, :display
         | 
| @@ -138,7 +160,7 @@ module Hud | |
| 138 160 | 
             
                    new(locals: locals)
         | 
| 139 161 | 
             
                  end
         | 
| 140 162 |  | 
| 141 | 
            -
                  def render_template(name: nil, from: nil, locals: {} | 
| 163 | 
            +
                  def render_template(name: nil, from: nil, locals: {})
         | 
| 142 164 | 
             
                    name ||= self.class.to_s.downcase.gsub("::", "_")
         | 
| 143 165 |  | 
| 144 166 | 
             
                    base_path = Pathname.new(Rack::App::Utils.pwd)
         | 
| @@ -159,13 +181,11 @@ module Hud | |
| 159 181 | 
             
                        puts path
         | 
| 160 182 | 
             
                        if from.nil?
         | 
| 161 183 | 
             
                          result = template.render(self, locals)
         | 
| 162 | 
            -
                          return  | 
| 163 | 
            -
                          return result
         | 
| 184 | 
            +
                          return HtmlContent.new(result)
         | 
| 164 185 | 
             
                        else
         | 
| 165 186 | 
             
                          from_path = base_path.join(from, "components")
         | 
| 166 187 | 
             
                          result = template.render(self, locals)
         | 
| 167 | 
            -
                          return  | 
| 168 | 
            -
                          return result if path.to_path.start_with? from_path.to_s
         | 
| 188 | 
            +
                          return HtmlContent.new(result) if path.to_path.start_with? from_path.to_s
         | 
| 169 189 | 
             
                        end
         | 
| 170 190 |  | 
| 171 191 | 
             
                      end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: hud
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2. | 
| 4 | 
            +
              version: 2.6.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Delaney Kuldvee Burke
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2024-02- | 
| 11 | 
            +
            date: 2024-02-24 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: bundler
         |