stdlib/rubygems_owner_no_parens.rb
tests/_examples/stdlib/rubygems_owner_no_parens.rb in the metorex repository.
# `gem owner` says each owner a server lists, by email, handle, or id, with
# control characters cleaned out of the answer before its YAML is read.
require "rubygems"
require "rubygems/commands/owner_command"
class Recording < Gem::StreamUI
attr_reader :said
def initialize
super nil, nil, nil, false
@said = []
end
def say statement = ""
@said << statement
end
end
command = Gem::Commands::OwnerCommand.new
p [command.command, command.summary, command.options]
def command.rubygems_api_request *args
response = Gem::Net::HTTPOK.new nil, nil, nil
def response.body
"---\n- email: \"\e]2;title\a\"\n- handle: maintainer\n- id: 7\n"
end
response
end
recording = Recording.new
command.ui = recording
command.show_owners "rake"
p recording.said
p Gem::SafeYAML.safe_load "---\n- runtime\n"
Gem::DefaultUserInteraction.ui = nil
Output:
["owner", "Manage gem owners of a gem on the push server", {}]
["Owners for gem: rake", "- .]2;title. ()", "- maintainer ()", "- 7 ()"]
["runtime"]