OSDN Git Service

Fix command class loader to support ruby1.9.x.
[osdn-codes/osdn-cli.git] / lib / osdn / cli / runner.rb
index 874b01c..752b1d5 100644 (file)
@@ -55,7 +55,7 @@ module OSDN
       def get_command_class(command_name)
         class_name = command_name.to_s.split('_').map(&:capitalize).join
         begin
-          return self.class.const_get("OSDN::CLI::Command::#{class_name}")
+          return OSDN::CLI::Command.const_get(class_name)
         rescue NameError => e
           logger.fatal "Invalid command name '#{command_name}'. Use 'help' to list commands."
           exit
@@ -80,6 +80,10 @@ module OSDN
         command = get_command_class(command_name).new(logger)
         logger.debug "Run command #{command_name}"
         begin
+          Signal.trap "INT" do
+            puts :INT
+            exit
+          end
           command.run
         rescue OSDNClient::ApiError => e
           begin