Class: EPC::Command::ShowLibrarysetCommand

Inherits:
BaseCommand show all
Defined in:
lib/epc/command/libraryset/show_libraryset_command.rb

Constant Summary

Constants inherited from BaseCommand

BaseCommand::GIVEUP_TICKS, BaseCommand::SLEEP_TIME, BaseCommand::TICKER_TICKS

Instance Attribute Summary

Attributes inherited from BaseCommand

#client, #klass_name, #object_id, #object_type, #options, #target_id, #target_type

Instance Method Summary collapse

Methods inherited from BaseCommand

#check_options, #context_params, #context_params=, #go, include_module, inherited, #initialize, required_options, #say_err

Methods included from PersistentAttributes

#auth_token, #caller_id, #target_url

Constructor Details

This class inherits a constructor from EPC::Command::BaseCommand

Instance Method Details

#execute(args = []) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/epc/command/libraryset/show_libraryset_command.rb', line 5

def execute(args = [])
  require_object

  status, response, headers = client.get(EPC::Config::LIBRARY_SETS_PATH + "/#{object_id}")

  if status.failure?
    say_err("Request failed: [#{response[:message]}]")
  else
    if options[:json].nil?
      response[:language] = response[:library_language][:name] rescue nil
      response[:created_by] = "#{response[:created_by][:name]}(#{response[:created_by][:id]})" rescue nil
      response[:created_at] = Time.parse(response[:created_at]).strftime("%m/%d/%Y %I:%M%p") rescue nil
      response[:updated_at] = Time.parse(response[:updated_at]).strftime("%m/%d/%Y %I:%M%p") rescue nil
      set_table = EPC::TabularOutputter.new([response], [:id, :name, :language, :created_by, :created_at, :updated_at])
      say(set_table.print)
  
      libraries = response[:libraries]
      unless libraries.empty?
        say("\n")
        libraries.each do |lib|
          lib[:language] = lib[:library_language][:name] rescue nil
          lib[:version] = lib[:library_version] rescue nil
        end
        libraries_table = EPC::TabularOutputter.new(libraries, [:id, :name, :language, :version, :group])
        say(libraries_table.print)
      end
    else
      say(response[:libraries].to_json)
    end

  end
  return status
end