isomorfeus-preact 23.6.0.rc3 → 23.6.0.rc4

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: 3aa2d4629e93e2c991c3b17ec45a1799459bf0220097495ba0eaa22fb5f41784
4
- data.tar.gz: fcbb9c76ba1e3079aa271409d0d47707102be34bdbecdaa8f23a71b447a2b696
3
+ metadata.gz: a61c039116e8673a78c483fb45f3bba079776954239f57dc89fa5db3516195f0
4
+ data.tar.gz: 05b67f5869ccf260b9ad83c26b15edab17a348187ce8b5dc63c9e366d340f169
5
5
  SHA512:
6
- metadata.gz: f63f57050045e918fa0f3463c09b20171ed48125f1f64206cd7ee31cead8255b8d1c62c06c448876b634f498f087f6fcc65d78df2d8fffc1b5ce7f6f22c1b4eb
7
- data.tar.gz: 301be5e42841bfd302885d0fca5a0d449ff0c8245ef7329633d5261f8a52e58bf6f4605d2509f01d646f9beb14b1fa7f65da4409c1e4657888d576d77fdc7517
6
+ metadata.gz: 1906e4349c520ad6537b355c63a095f8013ff41cfaab2cd4cfa900a5f2eb279558e02ee9b25f570d92ac54f0e998ce5806ad4b1d72bb94dd049dce53220da9f5
7
+ data.tar.gz: bb7885589bed6db17d446051893d9f1b6f7c64678fbe50647537331963ddbc282f3325802c48c1cca92567401d8628ad2e471c9b6419a9bce4d1cf40d9c652ac
@@ -277,6 +277,7 @@ void internal_render_to_string(VALUE vnode, VALUE context, VALUE is_svg_mode,
277
277
 
278
278
  VALUE orig_name_id = name_id;
279
279
  VALUE name_s = rb_id2str(name_id);
280
+
280
281
  if (rb_reg_match(rUnsafe, name_s) == Qtrue)
281
282
  continue;
282
283
 
@@ -292,7 +293,7 @@ void internal_render_to_string(VALUE vnode, VALUE context, VALUE is_svg_mode,
292
293
  // <textarea value="a&b"> --> <textarea>a&amp;b</textarea>
293
294
  children = value;
294
295
  } else if (value != Qnil && value != Qfalse &&
295
- rb_obj_is_proc(value) != Qtrue) {
296
+ rb_obj_is_proc(value) != Qtrue && rb_obj_is_method(value) != Qtrue) {
296
297
  if (value == Qtrue ||
297
298
  ((TYPE(value) == T_STRING) && (RSTRING_PTR(value)[0] == 0))) {
298
299
  // if (name_id == id_class || name_id == id_style) { continue; }
@@ -1,8 +1,7 @@
1
1
  module Isomorfeus
2
2
  class PreactSSR
3
- def initialize(component_name, props, session_id, location, locale)
4
- @session_id = session_id
5
- @component_name = component_name
3
+ def initialize(component_name, props, location, locale)
4
+ @component = component_name.is_a?(String) ? self.class.const_get(component_name) : component_name
6
5
  @props = props
7
6
  @location = location
8
7
  @locale = locale
@@ -25,12 +24,7 @@ module Isomorfeus
25
24
  Thread.current[:isomorfeus_user] = c
26
25
  end
27
26
  end
28
- render_component_to_string(@component_name, @props)
29
- end
30
-
31
- def render_component_to_string(component_name, props)
32
- component = component_name.is_a?(String) ? self.class.const_get(component_name) : component_name
33
- ::Preact.render_to_string(::Preact.create_element(component, props))
27
+ ::Preact.render_to_string(::Preact.create_element(@component, @props))
34
28
  end
35
29
  end
36
30
  end
@@ -8,8 +8,8 @@ module Isomorfeus
8
8
  Thread.current[:local_cache][key]
9
9
  end
10
10
 
11
- def store(key, rendered_tree, styles, data, status)
12
- Thread.current[:local_cache][key] = [rendered_tree, styles, data, status]
11
+ def store(key, rendered_tree, styles, status)
12
+ Thread.current[:local_cache][key] = [rendered_tree, styles, status]
13
13
  end
14
14
  end
15
15
  end
@@ -1,5 +1,5 @@
1
1
  module Isomorfeus
2
2
  module Preact
3
- VERSION = '23.6.0.rc3'
3
+ VERSION = '23.6.0.rc4'
4
4
  end
5
5
  end
@@ -9,11 +9,11 @@ module Preact
9
9
  if !Isomorfeus.development? && !refresh
10
10
  render_result, @_ssr_styles, status = component_cache.fetch(key)
11
11
  Isomorfeus.ssr_response_status = status
12
- return render_result if render_result
12
+ return render_result
13
13
  end
14
- render_result = mount_component(component_name, props, asset_key, skip_ssr: skip_ssr)
15
- status = ssr_response_status
16
- component_cache.store(key, render_result, ssr_styles, ssr_data, status) if status >= 200 && status < 300
14
+ render_result = mount_component(component_name, props, skip_ssr: skip_ssr)
15
+ status = Isomorfeus.ssr_response_status || 200
16
+ component_cache.store(key, render_result, ssr_styles, status) if status >= 200 && status < 300
17
17
  render_result
18
18
  end
19
19
 
@@ -23,7 +23,7 @@ module Preact
23
23
  location_host = props[:location_host] ? props[:location_host] : 'localhost'
24
24
  location = "#{props[:location_scheme] || 'http:'}//#{location_host}#{props[:location]}"
25
25
 
26
- rendered_tree, application_state, @_ssr_styles = Isomorfeus::TopLevel.mount_component(component_name, props, Thread.current[:isomorfeus_session_id], location, locale, skip_ssr)
26
+ rendered_tree, application_state, @_ssr_styles = Isomorfeus::TopLevel.mount_component(component_name, props, location, locale, skip_ssr)
27
27
  component_name = component_name.to_s unless component_name.is_a?(String)
28
28
  usids = if Isomorfeus.respond_to?(:current_user) && Isomorfeus.current_user && !Isomorfeus.current_user.anonymous?
29
29
  Isomorfeus.current_user.sid.to_s
@@ -9,6 +9,7 @@ module Isomorfeus
9
9
  end
10
10
 
11
11
  def validate!
12
+ return @v unless @o
12
13
  ensured = ensure!
13
14
  unless ensured
14
15
  set_default_value
@@ -24,6 +25,13 @@ module Isomorfeus
24
25
  @v
25
26
  end
26
27
 
28
+ def valid_value?
29
+ validate!
30
+ true
31
+ rescue
32
+ false
33
+ end
34
+
27
35
  private
28
36
 
29
37
  # basic tests
@@ -50,10 +58,10 @@ module Isomorfeus
50
58
  when 'Array' then @v.to_a
51
59
  when 'Hash' then @v.to_h
52
60
  else
53
- Isomorfeus.raise_error(message: "#{@c}: Dont know how to cast #{@p} to #{cl}!")
61
+ Isomorfeus.raise_error(error_class: TypeError, message: "#{@c}: Dont know how to cast #{@p} to #{cl}!")
54
62
  end
55
63
  rescue
56
- Isomorfeus.raise_error(message: "#{@c}: #{@p} cast to #{cl} failed!")
64
+ Isomorfeus.raise_error(error_class: TypeError, message: "#{@c}: #{@p} cast to #{cl} failed!")
57
65
  end
58
66
  end
59
67
  end
@@ -75,13 +83,13 @@ module Isomorfeus
75
83
  def type!
76
84
  return if @o[:allow_nil] && @v.nil?
77
85
  if @o.key?(:class)
78
- Isomorfeus.raise_error(message: "#{@c}: #{@p} class is not #{@o[:class]}") unless @v.class == @o[:class]
86
+ Isomorfeus.raise_error(error_class: TypeError, message: "#{@c}: #{@p} class is not #{@o[:class]}") unless @v.class == @o[:class]
79
87
  elsif @o.key?(:is_a)
80
- Isomorfeus.raise_error(message: "#{@c}: #{@p} is not a #{@o[:is_a]}") unless @v.is_a?(@o[:is_a])
88
+ Isomorfeus.raise_error(error_class: TypeError, message: "#{@c}: #{@p} is not a #{@o[:is_a]}") unless @v.is_a?(@o[:is_a])
81
89
  elsif @o.key?(:type)
82
90
  case @o[:type]
83
91
  when :boolean
84
- Isomorfeus.raise_error(message: "#{@c}: #{@p} is not a boolean") unless @v.class == TrueClass || @v.class == FalseClass
92
+ Isomorfeus.raise_error(error_class: TypeError, message: "#{@c}: #{@p} is not a boolean") unless @v.class == TrueClass || @v.class == FalseClass
85
93
  else
86
94
  c_string_sub_types
87
95
  end
@@ -101,66 +109,66 @@ module Isomorfeus
101
109
 
102
110
  # specific validations
103
111
  def c_gt(v)
104
- Isomorfeus.raise_error(message: "#{@c}: #{@p} not greater than #{v}!") unless @v > v
112
+ Isomorfeus.raise_error(error_class: ArgumentError, message: "#{@c}: #{@p} not greater than #{v}!") unless @v > v
105
113
  end
106
114
 
107
115
  def c_lt(v)
108
- Isomorfeus.raise_error(message: "#{@c}: #{@p} not less than #{v}!") unless @v < v
116
+ Isomorfeus.raise_error(error_class: ArgumentError, message: "#{@c}: #{@p} not less than #{v}!") unless @v < v
109
117
  end
110
118
 
111
119
  def c_keys(v)
112
- Isomorfeus.raise_error(message: "#{@c}: #{@p} keys dont fit!") unless @v.keys.sort == v.sort
120
+ Isomorfeus.raise_error(error_class: ArgumentError, message: "#{@c}: #{@p} keys dont match!") unless @v.keys.sort == v.sort
113
121
  end
114
122
 
115
123
  def c_size(v)
116
- Isomorfeus.raise_error(message: "#{@c}: #{@p} length/size is not #{v}") unless @v.length == v
124
+ Isomorfeus.raise_error(error_class: ArgumentError, message: "#{@c}: #{@p} length/size is not #{v}") unless @v.length == v
117
125
  end
118
126
 
119
127
  def c_matches(v)
120
- Isomorfeus.raise_error(message: "#{@c}: #{@p} does not match #{v}") unless v.match?(@v)
128
+ Isomorfeus.raise_error(error_class: ArgumentError, message: "#{@c}: #{@p} does not match #{v}") unless v.match?(@v)
121
129
  end
122
130
 
123
131
  def c_max(v)
124
- Isomorfeus.raise_error(message: "#{@c}: #{@p} is larger than #{v}") unless @v <= v
132
+ Isomorfeus.raise_error(error_class: ArgumentError, message: "#{@c}: #{@p} is larger than #{v}") unless @v <= v
125
133
  end
126
134
 
127
135
  def c_min(v)
128
- Isomorfeus.raise_error(message: "#{@c}: #{@p} is smaller than #{v}") unless @v >= v
136
+ Isomorfeus.raise_error(error_class: ArgumentError, message: "#{@c}: #{@p} is smaller than #{v}") unless @v >= v
129
137
  end
130
138
 
131
139
  def c_max_size(v)
132
- Isomorfeus.raise_error(message: "#{@c}: #{@p} is larger than #{v}") unless @v.length <= v
140
+ Isomorfeus.raise_error(error_class: ArgumentError, message: "#{@c}: #{@p} is larger than #{v}") unless @v.length <= v
133
141
  end
134
142
 
135
143
  def c_min_size(v)
136
- Isomorfeus.raise_error(message: "#{@c}: #{@p} is smaller than #{v}") unless @v.length >= v
144
+ Isomorfeus.raise_error(error_class: ArgumentError, message: "#{@c}: #{@p} is smaller than #{v}") unless @v.length >= v
137
145
  end
138
146
 
139
147
  def c_direction(v)
140
- Isomorfeus.raise_error(message: "#{@c}: #{@p} is positive") if v == :negative && @v >= 0
141
- Isomorfeus.raise_error(message: "#{@c}: #{@p} is negative") if v == :positive && @v < 0
148
+ Isomorfeus.raise_error(error_class: ArgumentError, message: "#{@c}: #{@p} is positive") if v == :negative && @v >= 0
149
+ Isomorfeus.raise_error(error_class: ArgumentError, message: "#{@c}: #{@p} is negative") if v == :positive && @v < 0
142
150
  end
143
151
 
144
152
  def c_test
145
- Isomorfeus.raise_error(message: "#{@c}: #{@p} test condition check failed") unless @o[:test].call(@v)
153
+ Isomorfeus.raise_error(error_class: ArgumentError, message: "#{@c}: #{@p} test condition check failed") unless @o[:test].call(@v)
146
154
  end
147
155
 
148
156
  def c_string_sub_types
149
- Isomorfeus.raise_error(message: "#{@c}: #{@p} must be a String") unless @v.class == String
157
+ Isomorfeus.raise_error(error_class: TypeError, message: "#{@c}: #{@p} must be a String") unless @v.class == String
150
158
  case @o[:type]
151
159
  when :email
152
- Isomorfeus.raise_error(message: "#{@c}: #{@p} is not a valid email address") unless @v.match?(/\A[^@\s]+@([^@\s]+\.)+[^@\s]+\z/)
160
+ Isomorfeus.raise_error(error_class: ArgumentError, message: "#{@c}: #{@p} is not a valid email address") unless @v.match?(/\A[^@\s]+@([^@\s]+\.)+[^@\s]+\z/)
153
161
  when :uri
154
162
  if RUBY_ENGINE == 'opal'
155
163
  %x{
156
164
  try {
157
165
  new URL(#@v);
158
166
  } catch {
159
- #{Isomorfeus.raise_error(message: "#{@c}: #{@p} is not a valid uri")}
167
+ #{Isomorfeus.raise_error(error_class: ArgumentError, message: "#{@c}: #{@p} is not a valid uri")}
160
168
  }
161
169
  }
162
170
  else
163
- Isomorfeus.raise_error(message: "#{@c}: #{@p} is not a valid uri") unless @v.match?(/\A#{URI.regexp}\z/)
171
+ Isomorfeus.raise_error(error_class: ArgumentError, message: "#{@c}: #{@p} is not a valid uri") unless @v.match?(/\A#{URI.regexp}\z/)
164
172
  end
165
173
  end
166
174
  end
@@ -114,8 +114,8 @@ module Isomorfeus
114
114
  Isomorfeus.top_component = top
115
115
  end
116
116
  else
117
- def mount_component(component, props, session_id, location, locale, skip_ssr = false)
118
- rendered_tree = Isomorfeus::PreactSSR.new(component, props, session_id, location, locale).render(skip_ssr)
117
+ def mount_component(component, props, location, locale, skip_ssr = false)
118
+ rendered_tree = Isomorfeus::PreactSSR.new(component, props, location, locale).render(skip_ssr)
119
119
  [rendered_tree, Isomorfeus.store.get_state, NanoCSS.instance.renderer[:raw]]
120
120
  end
121
121
  end
data/lib/lucid_app.rb CHANGED
@@ -6,13 +6,13 @@ class LucidApp < LucidComponent
6
6
 
7
7
  def render(&block)
8
8
  define_method(:render) do
9
- pr = Preact.render_buffer
9
+ pr = ::Preact.render_buffer
10
10
  block_result = _internal_render(pr, &block)
11
11
  children = pr.pop
12
- if Preact.is_renderable?(block_result)
12
+ if ::Preact.is_renderable?(block_result)
13
13
  children << block_result
14
14
  end
15
- Preact.create_element(LucidApplicationContext.Provider, state[:_app_ctx], children)
15
+ ::Preact.create_element(::LucidApplicationContext.Provider, state[:_app_ctx], children)
16
16
  end
17
17
  end
18
18
 
@@ -82,21 +82,21 @@ class LucidComponent < Preact::Component
82
82
 
83
83
  def _internal_render(pr, &block)
84
84
  pr << []
85
- outer_loading = Isomorfeus.something_loading?
85
+ outer_loading = ::Isomorfeus.something_loading?
86
86
  ex = nil
87
87
  begin
88
88
  block_result = instance_exec(&block)
89
89
  rescue => e
90
90
  ex = e
91
91
  end
92
- if Isomorfeus.something_loading?
93
- STDERR.puts "#{@class_name} component still loading ...\n#{ex.message}\n#{ex.backtrace&.join("\n")}" if ex && Isomorfeus.development?
92
+ if ::Isomorfeus.something_loading?
93
+ STDERR.puts "#{@class_name} component still loading ...\n#{ex.message}\n#{ex.backtrace&.join("\n")}" if ex && ::Isomorfeus.development?
94
94
  pr[pr.length-1].clear
95
- block_result = @while_loading_block ? instance_exec(&@while_loading_block) : Preact.create_element('div')
95
+ block_result = @while_loading_block ? instance_exec(&@while_loading_block) : ::Preact.create_element('div')
96
96
  elsif ex
97
97
  raise ex
98
98
  end
99
- Isomorfeus.something_loading! if outer_loading
99
+ ::Isomorfeus.something_loading! if outer_loading
100
100
  block_result
101
101
  end
102
102
 
@@ -59,7 +59,7 @@ module Preact::ComponentResolution
59
59
  # the full nesting into account
60
60
  constant = nil
61
61
  begin
62
- if !Isomorfeus.development?
62
+ if !::Isomorfeus.development?
63
63
  @iso_preact_const_cache = {} unless @iso_preact_const_cache
64
64
  constant = @iso_preact_const_cache[component_name]
65
65
  end
@@ -74,7 +74,7 @@ module Preact::ComponentResolution
74
74
  end
75
75
 
76
76
  if constant
77
- if !Isomorfeus.development? && @iso_preact_const_cache.key?(component_name)
77
+ if !::Isomorfeus.development? && @iso_preact_const_cache.key?(component_name)
78
78
  @iso_preact_const_cache[component_name] = constant
79
79
  end
80
80
  Preact._render_element(constant, args.last, &block)
@@ -38,7 +38,7 @@ module Preact::HtmlElements
38
38
  else
39
39
  SUPPORTED_HTML_ELEMENTS.each do |element|
40
40
  define_method(element.to_s.underscore.upcase.to_sym) do |props = nil, &block|
41
- Preact._render_element(element, props, &block)
41
+ ::Preact._render_element(element, props, &block)
42
42
  end
43
43
  end
44
44
  end
@@ -48,11 +48,11 @@ module Preact::HtmlElements
48
48
  el = block.call
49
49
  return el if el
50
50
  end
51
- Preact.render_buffer.last.pop
51
+ ::Preact.render_buffer.last.pop
52
52
  end
53
53
 
54
54
  def RPE(el)
55
- Preact.render_buffer.last << el
55
+ ::Preact.render_buffer.last << el
56
56
  nil
57
57
  end
58
58
  end
@@ -46,7 +46,7 @@ module Preact::MathMlElements
46
46
  else
47
47
  SUPPORTED_MATH_ML_ELEMENTS.each do |element|
48
48
  define_method(element.to_s.underscore.upcase.to_sym) do |props = nil, &block|
49
- Preact._render_element(element, props, &block)
49
+ ::Preact._render_element(element, props, &block)
50
50
  end
51
51
  end
52
52
  end
@@ -53,15 +53,15 @@ class Module
53
53
  # otherwise pass on method missing
54
54
  c = component_name.to_s[0]
55
55
  if c == c.upcase
56
- if !Isomorfeus.development?
56
+ if !::Isomorfeus.development?
57
57
  @iso_preact_const_cache = {} unless @iso_preact_const_cache
58
58
  constant = @iso_preact_const_cache[component_name]
59
59
  end
60
60
  unless constant
61
61
  constant = const_get(component_name) rescue nil
62
62
  end
63
- if constant && constant.ancestors.include?(Preact::Component)
64
- if !Isomorfeus.development? && @iso_preact_const_cache.key?(component_name)
63
+ if constant && constant.respond_to?(:ancestors) && constant.ancestors.include?(::Preact::Component)
64
+ if !::Isomorfeus.development? && @iso_preact_const_cache.key?(component_name)
65
65
  @iso_preact_const_cache[component_name] = constant
66
66
  end
67
67
  Preact._render_element(constant, args.last, &block)
@@ -5,7 +5,7 @@ module Preact
5
5
  end
6
6
 
7
7
  def prop(prop_name, validate_hash = { required: true })
8
- validate_hash = validate_hash.to_h if validate_hash.class == Isomorfeus::Props::ValidateHashProxy
8
+ validate_hash = validate_hash.to_h if validate_hash.class == ::Isomorfeus::Props::ValidateHashProxy
9
9
  declared_props[prop_name.to_sym] = validate_hash
10
10
  end
11
11
 
@@ -22,12 +22,12 @@ module Preact
22
22
  end
23
23
 
24
24
  def validate
25
- Isomorfeus::Props::ValidateHashProxy.new
25
+ ::Isomorfeus::Props::ValidateHashProxy.new
26
26
  end
27
27
 
28
28
  def validate_prop(prop, value)
29
29
  return false unless declared_props.key?(prop)
30
- validator = Isomorfeus::Props::Validator.new(self, prop, value, declared_props[prop])
30
+ validator = ::Isomorfeus::Props::Validator.new(self, prop, value, declared_props[prop])
31
31
  validator.validate!
32
32
  true
33
33
  end
@@ -36,7 +36,7 @@ module Preact
36
36
  props = {} unless props
37
37
  declared_props.each_key do |prop|
38
38
  if declared_props[prop].key?(:required) && declared_props[prop][:required] && !props.key?(prop)
39
- Isomorfeus.raise_error(message: "Required prop '#{prop}' not given!")
39
+ ::Isomorfeus.raise_error(message: "Required prop '#{prop}' not given!")
40
40
  end
41
41
  end
42
42
  result = true
@@ -48,8 +48,8 @@ module Preact
48
48
  end
49
49
 
50
50
  def validated_prop(prop, value)
51
- Isomorfeus.raise_error(message: "No such prop '#{prop}' declared!") unless declared_props.key?(prop)
52
- validator = Isomorfeus::Props::Validator.new(self, prop, value, declared_props[prop])
51
+ ::Isomorfeus.raise_error(message: "No such prop '#{prop}' declared!") unless declared_props.key?(prop)
52
+ validator = ::Isomorfeus::Props::Validator.new(self, prop, value, declared_props[prop])
53
53
  validator.validated_value
54
54
  end
55
55
 
@@ -58,7 +58,7 @@ module Preact
58
58
 
59
59
  declared_props.each_key do |prop|
60
60
  if declared_props[prop].key?(:required) && declared_props[prop][:required] && !props.key?(prop)
61
- Isomorfeus.raise_error(message: "Required prop '#{prop}' not given!")
61
+ ::Isomorfeus.raise_error(message: "Required prop '#{prop}' not given!")
62
62
  end
63
63
  props[prop] = nil unless props.key?(prop) # let validator handle value
64
64
  end
@@ -58,7 +58,7 @@ module Preact::SvgElements
58
58
  else
59
59
  SUPPORTED_SVG_ELEMENTS.each do |element|
60
60
  define_method(element.to_s.underscore.upcase.to_sym) do |props = nil, &block|
61
- Preact._render_element(element, props, &block)
61
+ ::Preact._render_element(element, props, &block)
62
62
  end
63
63
  end
64
64
  end
data/lib/preact.rb CHANGED
@@ -1205,11 +1205,10 @@ module Preact
1205
1205
  end
1206
1206
 
1207
1207
  if block_given?
1208
- pr = `self.render_buffer`
1209
- pr.JS.push([])
1208
+ `self.render_buffer.push([])`
1210
1209
  block_result = yield
1211
- c = pr.JS.pop()
1212
1210
  %x{
1211
+ const c = self.render_buffer.pop();
1213
1212
  if (self["$is_renderable?"](block_result)) { c.push(block_result); }
1214
1213
  if (c.length > 0) { children = c; }
1215
1214
  }
@@ -1229,8 +1228,9 @@ module Preact
1229
1228
 
1230
1229
  def _render_element(component, props, &block)
1231
1230
  %x{
1232
- let opr = Opal.Preact.render_buffer;
1233
- opr[opr.length-1].push(#{create_element(component, props, nil, &block)});
1231
+ const opr = self.render_buffer;
1232
+ if (typeof block === 'function') self.$create_element.$$p = block.$to_proc();
1233
+ opr[opr.length-1].push(self.$create_element(component, props, nil));
1234
1234
  }
1235
1235
  nil
1236
1236
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: isomorfeus-preact
3
3
  version: !ruby/object:Gem::Version
4
- version: 23.6.0.rc3
4
+ version: 23.6.0.rc4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Biedermann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-18 00:00:00.000000000 Z
11
+ date: 2023-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oj
@@ -78,28 +78,28 @@ dependencies:
78
78
  requirements:
79
79
  - - '='
80
80
  - !ruby/object:Gem::Version
81
- version: 23.6.0.rc3
81
+ version: 23.6.0.rc4
82
82
  type: :runtime
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - '='
87
87
  - !ruby/object:Gem::Version
88
- version: 23.6.0.rc3
88
+ version: 23.6.0.rc4
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: isomorfeus-redux
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - '='
94
94
  - !ruby/object:Gem::Version
95
- version: 23.6.0.rc3
95
+ version: 23.6.0.rc4
96
96
  type: :runtime
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - '='
101
101
  - !ruby/object:Gem::Version
102
- version: 23.6.0.rc3
102
+ version: 23.6.0.rc4
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: benchmark-ips
105
105
  requirement: !ruby/object:Gem::Requirement