shigeki 0.1.0 → 0.2.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 (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/shigeki.rb +11 -5
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3066dbf67160b36ff52a946e253fbeabd7f781ca9219ed96179f554ed6076f48
4
- data.tar.gz: 9cc6eb21368ee10fcb3d574a32a7cfc3b3448e051a3442b5028d055a6731daac
3
+ metadata.gz: a7551e27ad8dd12cf347240f87491ba6a72a3258c065db71b59bc1e12a1ed9a4
4
+ data.tar.gz: 324d3361361ae093c65808711d08e6b331632b97a56ba3a4b625ff4206eaea49
5
5
  SHA512:
6
- metadata.gz: d49288da4cc96a567fcaf1e3adc58c73a9f375f58275303a9f225049baae302e2179ef0f698bed65dbee4d26b2f25dc47a6e6f5031d83c50311a5da030b53e62
7
- data.tar.gz: 0f1bdc9d67dc0840d659bbd1ae7e21acab36553ef9270d654be2765030b9358a5902f0a7c8ac34ee2cb358fc61956abc60f064e0276d071fea4b9e891713de20
6
+ metadata.gz: 7e4f27e2d0f6a6ecb1c03f3d024965ea9ea57cbe83a980db6647cf1d71fb29c2a40d4555b149de1ee2d67e3a587d10af39c6efe761f37d3139f4e54c1b77fe83
7
+ data.tar.gz: 4018c5af4f585007cc6f0e8167610fd359afbc250b9f5ddb0e0c851380d00a69e155d94a528b5934cc8a488a43072b3f58b343bca0ed7a1fec4e5b860b9b234d
data/lib/shigeki.rb CHANGED
@@ -1,12 +1,13 @@
1
1
  class Shigeki
2
- attr_accessor :controller_name
2
+ attr_accessor :controller_name, :view_context
3
3
 
4
- def initialize(controller_name)
4
+ def initialize(controller_name, view_context: nil)
5
5
  @controller_name = controller_name
6
+ @view_context = view_context
6
7
  end
7
8
 
8
9
  def data(&)
9
- builder = Builder.new(controller_name)
10
+ builder = Builder.new(controller_name, view_context: view_context)
10
11
 
11
12
  builder.instance_eval(&)
12
13
 
@@ -14,11 +15,16 @@ class Shigeki
14
15
  end
15
16
 
16
17
  class Builder
17
- attr_accessor :controller_name
18
+ attr_accessor :controller_name, :view_context
18
19
 
19
- def initialize(controller_name)
20
+ def initialize(controller_name, view_context: nil)
20
21
  @controller_name = controller_name
21
22
  @data = {}
23
+ @view_context = view_context
24
+ end
25
+
26
+ def method_missing(method, *args, **kwargs, &block)
27
+ view_context.send(method, *args, **kwargs, &block) if view_context&.respond_to?(method)
22
28
  end
23
29
 
24
30
  def to_h
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shigeki
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Qin
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-10-24 00:00:00.000000000 Z
12
+ date: 2024-10-31 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: A class based approach to setting Stimulus data attributes in haml files
15
15
  email: