joys 0.1.4 → 0.1.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 535418d45aa5e9bac8290bb8f0ff998b500d2fe8aabc54c127a6a7a6fce44143
4
- data.tar.gz: f895ab76649b74ba973584dec9dfefc60d4a7be45223dad17d788302c656b806
3
+ metadata.gz: 6927c0ba1da72024357dea7dd031f82c7feb252f079b4835ab98c8554f035f06
4
+ data.tar.gz: 0ece16f17983a990d18553873f31e521b23790e00a83c6f572c0ebe86cede617
5
5
  SHA512:
6
- metadata.gz: 8845d616b1dafd29c0de60d3d643e1ccfa76813c9cf09a3e57afceb8af1c70081178ad90230b6a7bed4cc2f94e09bb8cec7323b390263c77416c581d96586759
7
- data.tar.gz: '048e124b7ba2a6f4453964b478c686d3b3d031aaa7badb34bb87a458b3e6cb28176af4385fb8f295a4a258e9d293c6e6bbf3bc149c5c112480b5e8253b90214e'
6
+ metadata.gz: d194c2dd9a7a1ba5d3045efde26b8ff03ed74482256b4157b0bd646ebae50b5ed4eb8736b7491d485fd175a7e1eafd4b9f15c08f20ed7bedb08d45db013ffc0d
7
+ data.tar.gz: a830066addb6ced9156c3549464be742b1aaa60df5ec6a279f33e7db1e3125c1b8ed5828b42e132904ea2b573ac0236e1de0f63fc1c2f890282966803fbe6feb
data/CHANGELOG.md CHANGED
@@ -24,4 +24,8 @@
24
24
  ## [0.1.4] - 2025-09-30
25
25
 
26
26
  - Fixed buggy dependency in tags.rb
27
- - No more breaking change
27
+ - No more breaking change
28
+
29
+ ## [0.1.5] - 2025-09-30
30
+
31
+ - Improved Rails integration and helper availability
data/joys-0.1.4.gem ADDED
Binary file
data/lib/joys/config.rb CHANGED
@@ -63,13 +63,17 @@ module Joys
63
63
  }
64
64
  end
65
65
  module ControllerMethods
66
- def render_joy(path,**locals)
67
- context=Joys.adapter.controller_context(self)
68
- context.each{|k,v|Thread.current[k]=v}
69
- result=Joys.render_joy(path,**locals)
70
- render html:result.html_safe,layout:false
71
- ensure
72
- context&.keys&.each{|k|Thread.current[k]=nil}
66
+ def render_joy(path, **locals)
67
+ Joys.reload! if Config.dev?
68
+ file = File.join(Config.pages, "#{path}.rb")
69
+ raise "Template not found: #{file}" unless File.exist?(file)
70
+
71
+ renderer = Object.new
72
+ renderer.extend(Render::Helpers)
73
+ locals.each { |k, v| renderer.instance_variable_set(:"@#{k}", v) }
74
+
75
+ result = renderer.instance_eval(File.read(file), file)
76
+ result.is_a?(String) ? result.freeze : ""
73
77
  end
74
78
  end
75
79
  end
@@ -89,7 +93,7 @@ module Joys
89
93
  class << self
90
94
  attr_accessor :adapter,:css_registry
91
95
  def render_joy(path,**locals)
92
- reload! if Config.dev?
96
+ Joys.reload! if Config.dev?
93
97
  file=File.join(Config.pages,"#{path}.rb")
94
98
  raise "Template not found: #{file}" unless File.exist?(file)
95
99
  locals.each{|k,v|eval("@#{k}=v",binding)}
@@ -125,7 +129,6 @@ module Joys
125
129
  end
126
130
  @adapter&.integrate!
127
131
  end
128
- private
129
132
  def reload!;clear_cache!;@css_registry={};preload!;end
130
133
  def load_dir(dir);Dir.exist?(dir)&&Dir.glob("#{dir}/**/*.rb").each{|f|load f};end
131
134
  end
data/lib/joys/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Joys
4
- VERSION = "0.1.4"
4
+ VERSION = "0.1.5"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: joys
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Garcia
@@ -28,6 +28,7 @@ files:
28
28
  - joys-0.1.1.gem
29
29
  - joys-0.1.2.gem
30
30
  - joys-0.1.3.gem
31
+ - joys-0.1.4.gem
31
32
  - lib/.DS_Store
32
33
  - lib/joys.rb
33
34
  - lib/joys/cli.rb