class Troo::Commands::Show

Attributes

id[R]
klass[R]
type[R]

Public Class Methods

dispatch(klass, id = nil) click to toggle source

@param [] @param [, NilClass] @return [String]

# File lib/troo/cli/commands/show.rb, line 10
def dispatch(klass, id = nil)
  new(klass, id).render
end
new(klass, id = nil) click to toggle source

@param [] @param [, NilClass] @return [Troo::Commands::Show]

# File lib/troo/cli/commands/show.rb, line 18
def initialize(klass, id = nil)
  @klass, @id = klass, id
end

Public Instance Methods

render() click to toggle source

@return [String]

# File lib/troo/cli/commands/show.rb, line 23
def render
  if resource
    presenter
  elsif no_default?
    [error, no_default].join(' ')
  else
    error
  end
end

Private Instance Methods

error() click to toggle source
# File lib/troo/cli/commands/show.rb, line 41
def error
  "#{type.capitalize} cannot be found."
end
no_default() click to toggle source
# File lib/troo/cli/commands/show.rb, line 49
def no_default
  "Specify an <id> or use 'troo default #{type} <id>' " \
  "to set a default #{type} first."
end
no_default?() click to toggle source
# File lib/troo/cli/commands/show.rb, line 45
def no_default?
  id.nil? && resource.nil?
end
presenter() click to toggle source
# File lib/troo/cli/commands/show.rb, line 37
def presenter
  resource.presenter.show
end
resource() click to toggle source
# File lib/troo/cli/commands/show.rb, line 58
def resource
  @resource ||= klass.retrieve(id)
end