Actions
Bug #15278
closedRefinements don't work well with Forwardable
Description
Refined methods become unreachable when called through def_delegator.
require "forwardable"
module URIExtensions
refine URI::Generic do
def authority
port_string = port == default_port ? nil : ":#{port}"
"#{host}#{port_string}"
end
def origin
"#{scheme}://#{authority}"
end
end
end
using URIExtensions
class Container
extend Forwardable
def_delegator :@uri, :origin
def_delegator :@uri, :authority
def initialize(uri)
@uri = uri
end
end
u = URI("https://google.com")
container = Container.new(u)
puts container.origin
puts container.authority
Actions
Like0
Like0