unless Object.const_defined?(:Rake) or Object.const_defined?(:POTLATCH2_KEY)
  OpenStreetMap::Application.config.after_initialize do
    unless webmaster = User.find_by_email("webmaster@openstreetmap.org")
      webmaster = User.new
      webmaster.display_name = "OpenStreetMap Webmaster"
      webmaster.email = "webmaster@openstreetmap.org"
      webmaster.pass_crypt = SecureRandom.hex
      webmaster.status = "active"
      webmaster.save!
    end

    permissions = Hash[ClientApplication.all_permissions.map { |p| [ p, true ] }]

    unless id = webmaster.client_applications.find_by_name("iD")
      id = ClientApplication.new
      id.name = "iD"
      id.url = "http://<%= @site %>/"
      id.save!
    end

    ID_KEY = id.key

    unless potlatch = webmaster.client_applications.find_by_name("Potlatch 2")
      potlatch = ClientApplication.new
      potlatch.name = "Potlatch 2"
      potlatch.url = "http://<%= @site %>/"
      potlatch.save!
    end

    POTLATCH2_KEY = potlatch.key

    unless website = webmaster.client_applications.find_by_name("Web Site")
      website = ClientApplication.new
      website.name = "Web Site"
      website.url = "http://<%= @site %>/"
      website.save!
    end

    OAUTH_KEY = website.key
  end
end

unless Object.const_defined?(:Rake) or Object.const_defined?(:POTLATCH2_KEY)
  OpenStreetMap::Application.config.after_initialize do
    unless webmaster = User.find_by_email("webmaster@openstreetmap.org")
      webmaster = User.new
      webmaster.display_name = "OpenStreetMap Webmaster"
      webmaster.email = "webmaster@openstreetmap.org"
      webmaster.pass_crypt = SecureRandom.hex
      webmaster.status = "active"
      webmaster.save!
    end

    unless id = webmaster.client_applications.find_by_name("iD")
      id = webmaster.client_applications.new
      id.name = "iD"
      id.url = "http://<%= @site %>/"
      ClientApplication.all_permissions.each { |p| id[p] = true }
      id.save!
    end

    ID_KEY = id.key

    unless potlatch = webmaster.client_applications.find_by_name("Potlatch 2")
      potlatch = webmaster.client_applications.new
      potlatch.name = "Potlatch 2"
      potlatch.url = "http://<%= @site %>/"
      ClientApplication.all_permissions.each { |p| potlatch[p] = true }
      potlatch.save!
    end

    POTLATCH2_KEY = potlatch.key

    unless website = webmaster.client_applications.find_by_name("Web Site")
      website = webmaster.client_applications.new
      website.name = "Web Site"
      website.url = "http://<%= @site %>/"
      ClientApplication.all_permissions.each { |p| website[p] = true }
      website.save!
    end

    OAUTH_KEY = website.key
  end
end

Fix up issues in dev server rails setup script
Fix up issues in dev server rails setup script
