defmodule Phoenix.Project do

  @doc """
  Returns the Applications name as an Atom, ie :phoenix
  """
  def app do
    Keyword.get Mix.Project.config, :app
  end

  @doc """
  Returns the "root" module of the Application, ie `MyApp`
  """
  def module_root do
    app
    |> to_string
    |> Mix.Utils.camelize
    |> String.to_atom
  end

  @doc """
  Returns the String root path of Mix project
  """
  def root_path do
    Module.concat([module_root]).module_info[:compile][:source]
    |> to_string
    |> Path.dirname
    |> Path.join("../")
    |> Path.expand
  end
end

defmodule Phoenix.Project do

  @doc """
  Returns the Applications name as an Atom, ie :phoenix
  """
  def app do
    Keyword.get Mix.Project.config, :app
  end

  @doc """
  Returns the "root" module of the Application, ie `MyApp`
  """
  def module_root do
    app
    |> to_string
    |> Mix.Utils.camelize
    |> String.to_atom
  end

  @doc """
  Returns the String root path of Mix project
  """
  def root_path do
    app
    |> Application.app_dir
    |> Path.join("../../../../")
    |> Path.expand
  end
end

Refactor Project.root_path to use Application.app_dir
Refactor Project.root_path to use Application.app_dir

KazuCocoa/phoenix,vic/phoenix,wsmoak/phoenix,optikfluffel/phoenix,DavidAlphaFox/phoenix,ahmetabdi/phoenix,phoenixframework/phoenix,manukall/phoenix,Dahoon/phoenix,nshafer/phoenix,henrik/phoenix,daytonn/phoenix,gjaldon/phoenix,Gazler/phoenix,michalmuskala/phoenix,mitchellhenke/phoenix,jamilabreu/phoenix,nshafer/phoenix,fbjork/phoenix,trarbr/phoenix,korobkov/phoenix,trarbr/phoenix,manukall/phoenix,Smulligan85/phoenix,lancehalvorsen/phoenix,greyhwndz/phoenix,andrewvy/phoenix,rafbgarcia/phoenix,lono-devices/phoenix,hsavit1/phoenix,0x00evil/phoenix,DavidAlphaFox/phoenix,justnoxx/phoenix,evax/phoenix,Ben-Evolently/phoenix,rodrigues/phoenix,jeffkreeftmeijer/phoenix,bitgamma/phoenix,thegrubbsian/phoenix,robhurring/phoenix,wsmoak/phoenix,eksperimental/phoenix,bdtomlin/phoenix,yoavlt/phoenix,nicrioux/phoenix,bsodmike/phoenix,ybur-yug/phoenix,seejee/phoenix,jeffweiss/phoenix,StevenNunez/phoenix,mobileoverlord/phoenix,eksperimental/phoenix,cas27/phoenix,andrewvy/phoenix,mschae/phoenix,rafbgarcia/phoenix,bsmr-erlang/phoenix,iStefo/phoenix,begleynk/phoenix,doomspork/phoenix,mschae/phoenix,seejee/phoenix,jwarwick/phoenix,JHKennedy4/phoenix,beni55/phoenix,0x00evil/phoenix,omotenko/phoenix_auth,CultivateHQ/phoenix,elliotcm/phoenix,Gazler/phoenix,nshafer/phoenix,evax/phoenix,kidaa/phoenix,ybur-yug/phoenix,ACPK/phoenix,keathley/phoenix,phoenixframework/phoenix,optikfluffel/phoenix,FND/phoenix,maxnordlund/phoenix,switchflip/phoenix,foxnewsnetwork/phoenix,Joe-noh/phoenix,Eventacular/phoenix,rodrigues/phoenix,stefania11/phoenix,Kosmas/phoenix,jxs/phoenix,Smulligan85/phoenix,yonglehou/phoenix,cas27/phoenix,0x00evil/phoenix,brucify/phoenix,vic/phoenix,robomc/phoenix,paulcsmith/phoenix,nickgartmann/phoenix,SmartCasual/phoenix,sdnorm/phoenix,arthurcolle/phoenix,ephe-meral/phoenix,phoenixframework/phoenix,iStefo/phoenix,tony612/phoenix,Fluxuous/phoenix,stevedomin/phoenix,korobkov/phoenix,doron2402/phoenix,pap/phoenix,kyledecot/phoenix,michalmuskala/phoenix,Rumel/phoenix,gjaldon/phoenix,scrogson/phoenix,kevinold/phoenix,mobileoverlord/phoenix,VictorZeng/phoenix,ephe-meral/phoenix,esbullington/phoenix-1,mvidaurre/phoenix,jamilabreu/phoenix,dmarkow/phoenix,ugisozols/phoenix,sadiqmmm/phoenix,linearregression/phoenix,stevedomin/phoenix,ericmj/phoenix,hotvulcan/phoenix,marcioj/phoenix,omotenko/phoenix_auth,rafbgarcia/phoenix,Rumel/phoenix,romul/phoenix,wicliff/phoenix,pap/phoenix,ericmj/phoenix,y-yagi/phoenix,xtity/simple_phoenix,Joe-noh/phoenix,dmarkow/phoenix,keathley/phoenix,javimolla/phoenix,bsmr-erlang/phoenix,mitchellhenke/phoenix,GabrielNicolasAvellaneda/phoenix,CultivateHQ/phoenix,safi/phoenix,lono-devices/phoenix,lancehalvorsen/phoenix,kholbekj/phoenix,jwarwick/phoenix,mvidaurre/phoenix,iguberman/phoenix,optikfluffel/phoenix,milafrerichs/phoenix,CD1212/phoenix,jasond-s/phoenix,Kosmas/phoenix