rbs_config 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7c379914fccfe5ef6d08534927a87f1df4cfab80f84da0ffe80fd638d2ba35bb
4
- data.tar.gz: deda4664549517817ae600c005ebfb5af42f12b65ffb437a36879d4092a5a2fb
3
+ metadata.gz: 24eeabd79c7be7168a33176e75662e4c61c0f3594a712953c4980982e60b0602
4
+ data.tar.gz: 35116e8c9950e0f81107f31391b403c332637cce00a2b17cbc3e47a2907ed652
5
5
  SHA512:
6
- metadata.gz: cb35f250bd004771189c8c6b540ac317d8a64ae5c6f8b3e80bbbc11dc19210380cacdd4f15b9184ef0dfe35f9b43648b3abd1de886a0db6dee426328fd57377d
7
- data.tar.gz: e34cda204e7094262317525dae5c2885a6621dbd9760bb780304faad8df4d2c8806a7998cf5b8dffacf2f37ab438a8bb9fbc68f155323c6f086a294daf1a7730
6
+ metadata.gz: e9b392490220fdb42cd055c6114c06d76fc5033dfa1098cf22f65ca1a01d038705936ce3e0609df55f4f85f9784a9efcf3f17326fd2e827bc74b325a56fc2eab
7
+ data.tar.gz: c2db7da5db96b3274642901f07c60ac74f1dee942231cecf827a2c3a2a6072df5559901950fcbf2bad93be6712019c18c17a091c13303190ef57665434bcd9c5
data/Steepfile CHANGED
@@ -7,5 +7,5 @@ target :lib do
7
7
 
8
8
  check "lib"
9
9
 
10
- configure_code_diagnostics(D::Ruby.lenient) # `lenient` diagnostics setting
10
+ configure_code_diagnostics(D::Ruby.lenient)
11
11
  end
@@ -23,10 +23,16 @@ module RbsConfig
23
23
  methods = generate_methods(config)
24
24
 
25
25
  format <<~RBS
26
- class #{class_name}
27
- #{classes.join("\n")}
28
- #{methods.join("\n")}
26
+ module Config
27
+ module Generated
28
+ class #{class_name} < ::Config::Options
29
+ #{classes.join("\n")}
30
+ #{methods.join("\n")}
31
+ end
32
+ end
29
33
  end
34
+
35
+ #{class_name}: Config::Generated::#{class_name}
30
36
  RBS
31
37
  end
32
38
 
@@ -49,7 +55,7 @@ module RbsConfig
49
55
  methods = generate_methods(value)
50
56
 
51
57
  <<~RBS
52
- class #{key.camelize}
58
+ class #{key.camelize} < ::Config::Options
53
59
  #{classes.join("\n")}
54
60
  #{methods.join("\n")}
55
61
  end
@@ -60,14 +66,14 @@ module RbsConfig
60
66
 
61
67
  def generate_methods(config)
62
68
  config.map do |key, value|
63
- "def self.#{key}: () -> #{stringify_type(key, value)}"
69
+ "def #{key}: () -> #{stringify_type(key, value)}"
64
70
  end
65
71
  end
66
72
 
67
73
  def stringify_type(name, value)
68
74
  case value
69
75
  when Hash
70
- "singleton(#{name.camelize})"
76
+ name.camelize
71
77
  when Array
72
78
  types = value.map { |v| stringify_type(name, v) }.uniq
73
79
  "Array[#{types.join(" | ")}]"
@@ -36,7 +36,7 @@ module RbsConfig
36
36
  def define_generate_task
37
37
  desc "Generate RBS files for config gem"
38
38
  task "#{name}:generate" do
39
- require "rbs_config" # load RbsConfig lazily
39
+ require "rbs_config" # load RbsConfig lazily
40
40
 
41
41
  signature_root_dir.mkpath
42
42
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RbsConfig
4
- VERSION = "1.0.0"
4
+ VERSION = "1.1.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbs_config
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takeshi KOMIYA
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-08-18 00:00:00.000000000 Z
11
+ date: 2024-08-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport