Sha256: d19bb28f2da5615580a0360cba56e6095bffb1e0979b40ebc5c6e9a49a4d95cb

Contents?: true

Size: 932 Bytes

Versions: 1

Compression:

Stored size: 932 Bytes

Contents

require 'hammer_cli/output/dsl'

module HammerCLI::Apipie

  class ReadCommand < Command

      def execute
        d = retrieve_data
        logger.debug "Retrieved data: " + d.ai(:raw => true) if HammerCLI::Settings.get(:log_api_calls)
        print_data d
        return HammerCLI::EX_OK
      end

      protected
      def retrieve_data
        raise "resource or action not defined" unless self.class.resource_defined?
        logger.debug request_params.ai
        if resource && resource.has_action?(action)
          resource.call(action, request_params, request_headers)
        else
          raise HammerCLI::OperationNotSupportedError, "The server does not support such operation."
        end
      end

      def print_data(records)
        print_collection(output_definition, records)
      end

      def request_headers
        {}
      end

      def request_params
        method_options
      end

  end

end


Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
hammer_cli-0.1.0 lib/hammer_cli/apipie/read_command.rb