class Pod::Command::Trunk::Me

@CocoaPods 0.33.0

Public Instance Methods

run() click to toggle source
# File lib/pod/command/trunk/me.rb, line 23
def run
  me = json(request_path(:get, 'sessions', auth_headers))
  owner = json(request_path(:get, "owners/#{me['email']}"))
  UI.labeled 'Name', owner['name']
  UI.labeled 'Email', owner['email']
  UI.labeled 'Since', formatted_time(owner['created_at'])

  pods = owner['pods'] || []
  pods = pods.map { |pod| pod['name'] }
  pods = 'None' unless pods.any?
  UI.labeled 'Pods', pods

  sessions = me['sessions'].map do |session|
    hash = {
      :created_at => formatted_time(session['created_at']),
      :valid_until => formatted_time(session['valid_until']),
      :created_from_ip => session['created_from_ip'],
      :description => session['description'],
    }
    if Time.parse(session['valid_until']) <= Time.now.utc
      hash[:color] = :red
    elsif session['verified']
      hash[:color] = session['current'] ? :cyan : :green
    else
      hash[:color] = :yellow
      hash[:valid_until] = 'Unverified'
    end
    hash
  end

  columns = [:created_at, :valid_until, :created_from_ip, :description].map do |key|
    find_max_size(sessions, key)
  end

  sessions = sessions.map do |session|
    created_at      = session[:created_at].ljust(columns[0])
    valid_until     = session[:valid_until].rjust(columns[1])
    created_from_ip = session[:created_from_ip].ljust(columns[2])
    description     = session[:description]
    msg = "#{created_at} - #{valid_until}. IP: #{created_from_ip}"
    msg << " Description: #{description}" if description
    msg.send(session[:color])
  end

  UI.labeled 'Sessions', sessions

rescue REST::Error => e
  raise Informative, 'There was an error fetching your info ' \
                           "from trunk: #{e.message}"
end
validate!() click to toggle source
Calls superclass method
# File lib/pod/command/trunk/me.rb, line 16
def validate!
  super
  unless token
    help! 'You need to register a session first.'
  end
end

Private Instance Methods

find_max_size(sessions, key) click to toggle source
# File lib/pod/command/trunk/me.rb, line 76
def find_max_size(sessions, key)
  sessions.map { |s| (s[key] || '').size }.max
end