hud 2.3.0 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/hud/version.rb +1 -1
  3. data/lib/hud.rb +26 -7
  4. metadata +16 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1c81ae686bbd0cd97c469d98c2baaaab165e50859bcd8e40325b31d20baedf95
4
- data.tar.gz: 7debdf245e083c85c681c058b73281a74fe3c9d82492606cce23bd6efd21312d
3
+ metadata.gz: 5c264460c6c444bde6f97983a8bb88499df7ae1496f45ddd9593861ff40a7bde
4
+ data.tar.gz: 2c7b51703a3ed14ace9639dd746720e67d39a0fb016f74a1954ef6396732542b
5
5
  SHA512:
6
- metadata.gz: 8a3d655457bc738523a5eb1fec70ccbbf2f79561a7751db775fe72953761a8c9e47b30045d658db04b723c7376ed25fb0f0448fca17404cce1f312f66777f5cb
7
- data.tar.gz: 8e6f24a2ed10b1e9f0675beaa1e6b74885da602c3a0c3aa33f20fb9dec1b650b61c602758573578c84ea640c82fe65920950dac4e6660b00c8016ba710b75e0e
6
+ metadata.gz: 988b7e292df46f14580b187c9c49eed071093183e9c8457732b7a70139ec524967ba9ccd10cb909f2fdba6206ad1ad07f4164a59652fbf7bef0e840170ed90f1
7
+ data.tar.gz: f8102b74c4d233455eeb6e48a029685155b73798976c77013d893d85fe4d6a80b6703bef75232c3fd4f310c63900ef5c07d9d7aa5aa7a51b7014b0b6a19b43ae
data/lib/hud/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Hud
2
- VERSION = '2.3.0'
2
+ VERSION = '2.5.0'
3
3
  end
data/lib/hud.rb CHANGED
@@ -2,6 +2,7 @@ require "rack/app"
2
2
  require "yaml"
3
3
  require "tilt"
4
4
  require "pry"
5
+ require "oga"
5
6
  require "ostruct"
6
7
  require "tilt/erb"
7
8
  require "rack/app/front_end"
@@ -83,9 +84,9 @@ module Hud
83
84
 
84
85
  class Display
85
86
  module Helpers
86
- def display(name, from: nil, locals: {})
87
+ def display(name, from: nil, locals: {},css: nil)
87
88
  klz = Display.build(name)
88
- 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,css: css)
89
90
  end
90
91
  alias_method :render, :display
91
92
  alias_method :d, :display
@@ -113,10 +114,24 @@ module Hud
113
114
  ENV["RACK_ENV"] == "development"
114
115
  end
115
116
 
117
+ def method_missing(method_name, *args, &block)
118
+ if @locals.respond_to?(method_name)
119
+ @locals.send(method_name, *args, &block)
120
+ else
121
+ super
122
+ end
123
+
124
+ end
125
+
126
+ def respond_to_missing?(method_name, include_private = false)
127
+ @locals.respond_to?(method_name) || super
128
+ end
116
129
 
117
- def display(name, locals: {})
130
+ def display(name, locals: {},css:nil)
118
131
  template = Tilt::ERBTemplate.new("#{Hud.configuration.base_path}/components/#{name.to_s}.html.erb")
119
- template.render(self, locals)
132
+ result = template.render(self, locals)
133
+ return Oga.parse_html(result).css(css) if css
134
+ result
120
135
  end
121
136
 
122
137
  alias_method :render, :display
@@ -135,7 +150,7 @@ module Hud
135
150
  new(locals: locals)
136
151
  end
137
152
 
138
- def render_template(name: nil, from: nil, locals: {})
153
+ def render_template(name: nil, from: nil, locals: {},css: nil)
139
154
  name ||= self.class.to_s.downcase.gsub("::", "_")
140
155
 
141
156
  base_path = Pathname.new(Rack::App::Utils.pwd)
@@ -155,10 +170,14 @@ module Hud
155
170
 
156
171
  puts path
157
172
  if from.nil?
158
- return template.render(self, locals)
173
+ result = template.render(self, locals)
174
+ return Oga.parse_html(result).css(css) if css
175
+ return result
159
176
  else
160
177
  from_path = base_path.join(from, "components")
161
- return template.render(self, locals) if path.to_path.start_with? from_path.to_s
178
+ result = template.render(self, locals)
179
+ return Oga.parse_html(result).css(css) if css
180
+ return result if path.to_path.start_with? from_path.to_s
162
181
  end
163
182
 
164
183
  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.3.0
4
+ version: 2.5.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-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -150,6 +150,20 @@ dependencies:
150
150
  - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: oga
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
153
167
  description:
154
168
  email:
155
169
  - delaney@vidtreon.com