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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/hud/version.rb +1 -1
  3. data/lib/hud.rb +30 -10
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 15eb234b7550aeed87f52f498aabc19ebb3ab8f1ed51f7d03dab73614c50cebe
4
- data.tar.gz: 2af6c313fbb5709e81eea3151412adb8a573f1452bbe6e1af6a023bed7e7a91c
3
+ metadata.gz: 7bbb2c2c8a520111decb888ab0ae02bc5811203e3b2e0447b9019de03757e149
4
+ data.tar.gz: 63bf018b8fe9e6274a57dd891db4efe6b5de57a07b06928a1cf1a539fa15ab56
5
5
  SHA512:
6
- metadata.gz: ef828f83aab838e11eec5da2f3a268a2b0ceabb2b2d3e4da078a6952fed10a0a5a447a5b1078eee99ef90da80b346dc9bc975a1f02dc0e0e16e8d2800b4d9e2c
7
- data.tar.gz: 9688a332a7b91c35e7032aba17a2b6cbb6444db6a0c71c91e05aed73c4b188945ba0969b545b394c2f104fc14c0aec0d87f13c8245a2e82d39620a0bd4c289c8
6
+ metadata.gz: 39374ac6630da23c9f7173a2f3317ee9efe1b8b4c657c80fad29ba87fb5aa365980a93ef9cf3cbe9902c138d5ed13996e27a871004dd80abfed0b8cf98d0e35e
7
+ data.tar.gz: 762d25bc32700fdbad514b18d6e825414c668cf8207ef000829eebd58aa4f43e0108807fc4511f313b7ba2bad23e8e71ecc4905fa9283a1bc892565cccd5e9b8
data/lib/hud/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Hud
2
- VERSION = '2.4.0'
2
+ VERSION = '2.6.0'
3
3
  end
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: {},css: nil)
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,css: css)
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 Oga.parse_html(result).css(css) if css
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: {},css: nil)
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 Oga.parse_html(result).css(css) if css
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 Oga.parse_html(result).css(css) if css
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.0
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-16 00:00:00.000000000 Z
11
+ date: 2024-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler