shigeki 0.1.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
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: 9561f690423484ca0df72b92af8e8d941296d4a7a76e09b624b0b24d11321642
4
+ data.tar.gz: f396556326756f5db0b1e3412624e7f15cc72ac7999847500748abad90745bcc
5
5
  SHA512:
6
- metadata.gz: d49288da4cc96a567fcaf1e3adc58c73a9f375f58275303a9f225049baae302e2179ef0f698bed65dbee4d26b2f25dc47a6e6f5031d83c50311a5da030b53e62
7
- data.tar.gz: 0f1bdc9d67dc0840d659bbd1ae7e21acab36553ef9270d654be2765030b9358a5902f0a7c8ac34ee2cb358fc61956abc60f064e0276d071fea4b9e891713de20
6
+ metadata.gz: 69dd24a900c2194be62811f7e6b479965599e6f624876297118c2fa9417db5ce449f48861503869b9ab418acf5bb208b4b0f7b39c27b1d50b0bcd6c95ccad6aa
7
+ data.tar.gz: 6eb71e69909a75ab59bc2f990c051a93db0b0b3fe68233dda9a94ff6c7280a143cd933932a6e15f6ae4bc0b046d56ef2384ef50b380d0e7bdd548e6056a659a8
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, true)
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.1
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-11-13 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: