Skip to content

Commit d6ed112

Browse files
committed
Revert "[rb] add mutable and immutable record objects to manage serialization"
This reverts commit 9f20834.
1 parent 9f20834 commit d6ed112

File tree

9 files changed

+15
-126
lines changed

9 files changed

+15
-126
lines changed

rb/lib/selenium/webdriver/bidi.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ class BiDi
2424
autoload :LogHandler, 'selenium/webdriver/bidi/log_handler'
2525
autoload :Browser, 'selenium/webdriver/bidi/browser'
2626
autoload :BrowsingContext, 'selenium/webdriver/bidi/browsing_context'
27+
autoload :Struct, 'selenium/webdriver/bidi/struct'
2728
autoload :Network, 'selenium/webdriver/bidi/network'
2829
autoload :InterceptedRequest, 'selenium/webdriver/bidi/network/intercepted_request'
2930
autoload :InterceptedResponse, 'selenium/webdriver/bidi/network/intercepted_response'

rb/lib/selenium/webdriver/bidi/log_handler.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ module Selenium
2121
module WebDriver
2222
class BiDi
2323
class LogHandler
24-
ConsoleLogEntry = WebDriver::Types::Struct.new(:level, :text, :timestamp, :stack_trace, :type, :source, :method, :args)
25-
JavaScriptLogEntry = WebDriver::Types::Struct.new(:level, :text, :timestamp, :stack_trace, :type, :source)
24+
ConsoleLogEntry = BiDi::Struct.new(:level, :text, :timestamp, :stack_trace, :type, :source, :method, :args)
25+
JavaScriptLogEntry = BiDi::Struct.new(:level, :text, :timestamp, :stack_trace, :type, :source)
2626

2727
def initialize(bidi)
2828
@bidi = bidi

rb/lib/selenium/webdriver/common/types/struct.rb renamed to rb/lib/selenium/webdriver/bidi/struct.rb

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,25 +19,24 @@
1919

2020
module Selenium
2121
module WebDriver
22-
module Types
22+
class BiDi
2323
class Struct < ::Struct
2424
class << self
25-
def define(*members, &blk)
26-
klass = super(*members.map(&:to_sym), keyword_init: true, &blk)
27-
28-
klass.singleton_class.prepend(Module.new {
29-
def new(*args, **opts)
30-
norm = WebDriver::Types.normalize_args(args, opts)
31-
super(**members.to_h { |m| [m, norm[m]] })
25+
def new(*args, &block)
26+
super do
27+
define_method(:initialize) do |**kwargs|
28+
converted_kwargs = kwargs.transform_keys { |key| self.class.camel_to_snake(key.to_s).to_sym }
29+
super(*converted_kwargs.values_at(*self.class.members))
3230
end
33-
})
34-
35-
klass
31+
class_eval(&block) if block
32+
end
3633
end
3734

38-
alias new define
35+
def camel_to_snake(camel_str)
36+
camel_str.gsub(/([A-Z])/, '_\1').downcase
37+
end
3938
end
4039
end
41-
end # Types
40+
end # BiDi
4241
end # WebDriver
4342
end # Selenium

rb/lib/selenium/webdriver/common/types.rb

Lines changed: 0 additions & 45 deletions
This file was deleted.

rb/lib/selenium/webdriver/common/types/data.rb

Lines changed: 0 additions & 39 deletions
This file was deleted.

rb/sig/lib/selenium/webdriver/common/types.rbs

Lines changed: 0 additions & 9 deletions
This file was deleted.

rb/sig/lib/selenium/webdriver/common/types/data.rbs

Lines changed: 0 additions & 9 deletions
This file was deleted.

rb/sig/lib/selenium/webdriver/common/types/struct.rbs

Lines changed: 0 additions & 9 deletions
This file was deleted.

0 commit comments

Comments
 (0)