class ThreeScaleToolbox::Commands::MethodsCommand::Create::CreateSubcommand
Public Class Methods
command()
click to toggle source
# File lib/3scale_toolbox/commands/methods_command/create_command.rb, line 22 def self.command Cri::Command.define do name 'create' usage 'create [opts] <remote> <service> <method-name>' summary 'create method' description 'Create method' option :t, 'system-name', 'Method system name', argument: :required flag nil, :disabled, 'Disables this method in all application plans' option nil, :description, 'Method description', argument: :required ThreeScaleToolbox::CLI.output_flag(self) param :remote param :service_ref param :method_name runner CreateSubcommand end end
Public Instance Methods
run()
click to toggle source
# File lib/3scale_toolbox/commands/methods_command/create_command.rb, line 42 def run method = ThreeScaleToolbox::Entities::Method.create( service: service, attrs: method_attrs ) method.disable if option_disabled printer.print_record method.attrs end
Private Instance Methods
find_service()
click to toggle source
# File lib/3scale_toolbox/commands/methods_command/create_command.rb, line 70 def find_service Entities::Service.find(remote: remote, ref: service_ref).tap do |svc| raise ThreeScaleToolbox::Error, "Service #{service_ref} does not exist" if svc.nil? end end
method_attrs()
click to toggle source
# File lib/3scale_toolbox/commands/methods_command/create_command.rb, line 54 def method_attrs { 'system_name' => options[:'system-name'], 'friendly_name' => arguments[:method_name], 'description' => options[:description] }.compact end
option_disabled()
click to toggle source
# File lib/3scale_toolbox/commands/methods_command/create_command.rb, line 62 def option_disabled options.fetch(:disabled, false) end
printer()
click to toggle source
# File lib/3scale_toolbox/commands/methods_command/create_command.rb, line 85 def printer # keep backwards compatibility options.fetch(:output, CustomPrinter.new(disabled: option_disabled)) end
remote()
click to toggle source
# File lib/3scale_toolbox/commands/methods_command/create_command.rb, line 77 def remote @remote ||= threescale_client(arguments[:remote]) end
service()
click to toggle source
# File lib/3scale_toolbox/commands/methods_command/create_command.rb, line 66 def service @service ||= find_service end
service_ref()
click to toggle source
# File lib/3scale_toolbox/commands/methods_command/create_command.rb, line 81 def service_ref arguments[:service_ref] end