Skip to content
This repository

List domain name along with app name and owner in `heroku apps` output #278

Closed
wants to merge 1 commit into from

3 participants

Daniel Brockman Wesley Beary David Dollar
Wesley Beary
Owner

@dbrock - I can see how this would be useful, but I don't think this will necessarily get you what you want. In particular it is possible that an app will have multiple domains and this would just list the first one that is attached. Also I'd like to keep things consistent in terms of what gets displayed where. I think perhaps that the better solution would be one in which you could call heroku domains without an app name to get back a list of all domains and apps. I think that is a bit more consistent anyway (but unfortunately I think we'll need to update the API to provide it). What do you think? Also, could you elaborate on your use case and why you are running into this just so I know that I'm not barking up the wrong tree. Thanks!

Daniel Brockman

That sounds fine too.

My use case:

  1. "I need to change something about the app on http://example.com."
  2. [...types git clone git@heroku.com:...]
  3. "Hmm, I wonder what I named that app..."
  4. "Ah, I’ll use heroku to find out."
  5. ???
  6. Success!

So I guess what I really want is for heroku --app= to be able to accept domain names as well as app names, so that I could just do something like this:

domain=example.com
name=$(heroku info -r --app $domain | grep ^name= | cut -d= -f2-)
git clone git@heroku.com:$name.git

Or even—and omg this would be so awesome—simply this:

heroku clone example.com

Right???????? :DDD

Wesley Beary
Owner

@dbrock - very interesting. Thanks for the additional feedback. I think I will maybe approach this slightly differently than the pull request, but I'll try to get something added in the not too distant future to make this sort of thing easier.

Daniel Brockman

Cool, thanks! :D I’ll just leave this open then, until you (hopefully) come up with something.

I just noticed that @ddollar made something called heroku clone already (http://github.com/ddollar/heroku-clone). Hmm... Maybe that could become an option to heroku create, instead... heroku create new-app --clone old-app? (I don’t know, just thinking out loud...)

I do think heroku clone my-app as a way to invoke git clone git@heroku.com:my-app.git makes a lot of sense, though; compare, for example, github clone my-app, which does that exact thing. Also there’s a kind of symmetry with heroku create my-app.

Ooooh— we could also make heroku create example.com a shortcut for heroku create example-com; heroku domains:add example.com!! :DDDD

Again, just thinking out loud. :-)

Wesley Beary
Owner

@dbrock - thanks again for the feedback. I think clone working like that could make a lot of sense, and there is an issue related to that here: #255

I'll hopefully revisit the rest of these ideas some time soon (have a couple urgent projects going on right now and will be travelling to/from a conference this week).

David Dollar

We'll be talking to the API team about accepting domain names for app names. Thanks for the feedback!

David Dollar ddollar closed this June 25, 2012
Daniel Brockman
dbrock commented June 26, 2012

Cool, I’ll keep an eye out for that. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Showing 1 unique commit by 1 author.

Apr 03, 2012
Daniel Brockman Show domain names in `heroku apps` output. 31a0cbd
This page is out of date. Refresh to see the latest.
3  lib/heroku/client.rb
@@ -47,7 +47,8 @@ def list
47 47
     doc.elements.to_a("//apps/app").map do |a|
48 48
       name = a.elements.to_a("name").first
49 49
       owner = a.elements.to_a("owner").first
50  
-      [name.text, owner.text]
  50
+      domain = a.elements.to_a("domain_name").first
  51
+      [name.text, owner.text, domain.text]
51 52
     end
52 53
   end
53 54
 
9  lib/heroku/command/apps.rb
@@ -11,12 +11,9 @@ class Heroku::Command::Apps < Heroku::Command::Base
11 11
   def index
12 12
     list = heroku.list
13 13
     if list.size > 0
14  
-      hputs(list.map {|name, owner|
15  
-        if heroku.user == owner
16  
-          name
17  
-        else
18  
-          "#{name.ljust(25)} #{owner}"
19  
-        end
  14
+      hputs(list.map {|name, owner, domain|
  15
+        owner = "" if heroku.user == owner
  16
+        "#{"#{name.ljust(25)} #{owner}".ljust(50)} #{domain}"
20 17
       }.join("\n"))
21 18
     else
22 19
       hputs("You have no apps.")
Commit_comment_tip

Tip: You can add notes to lines in a file. Hover to the left of a line to make a note

Something went wrong with that request. Please try again.