Browse files

Renamed app to gitty, changed README to something useful.

  • Loading branch information...
1 parent 35e17c3 commit 9a3a500c03a2733b9a75f42771163161572d4d40 @pwnall committed Jul 15, 2010
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
- <name>dexter</name>
+ <name>gitty</name>
@@ -1,256 +1,4 @@
-== Welcome to Rails
+Web front-end for hosting Git repositories.
-Rails is a web-application framework that includes everything needed to create
-database-backed web applications according to the Model-View-Control pattern.
-This pattern splits the view (also called the presentation) into "dumb"
-templates that are primarily responsible for inserting pre-built data in between
-HTML tags. The model contains the "smart" domain objects (such as Account,
-Product, Person, Post) that holds all the business logic and knows how to
-persist themselves to a database. The controller handles the incoming requests
-(such as Save New Account, Update Product, Show Post) by manipulating the model
-and directing data to the view.
-In Rails, the model is handled by what's called an object-relational mapping
-layer entitled Active Record. This layer allows you to present the data from
-database rows as objects and embellish these data objects with business logic
-methods. You can read more about Active Record in
-The controller and view are handled by the Action Pack, which handles both
-layers by its two parts: Action View and Action Controller. These two layers
-are bundled in a single package due to their heavy interdependence. This is
-unlike the relationship between the Active Record and Action Pack that is much
-more separate. Each of these packages can be used independently outside of
-Rails. You can read more about Action Pack in
-== Getting Started
-1. At the command prompt, create a new Rails application:
- <tt>rails new myapp</tt> (where <tt>myapp</tt> is the application name)
-2. Change directory to <tt>myapp</tt> and start the web server:
- <tt>cd myapp; rails server</tt> (run with --help for options)
-3. Go to http://localhost:3000/ and you'll see:
- "Welcome aboard: You're riding Ruby on Rails!"
-4. Follow the guidelines to start developing your application. You can find
-the following resources handy:
-* The Getting Started Guide:
-* Ruby on Rails Tutorial Book:
-== Debugging Rails
-Sometimes your application goes wrong. Fortunately there are a lot of tools that
-will help you debug it and get it back on the rails.
-First area to check is the application log files. Have "tail -f" commands
-running on the server.log and development.log. Rails will automatically display
-debugging and runtime information to these files. Debugging info will also be
-shown in the browser on requests from
-You can also log your own messages directly into the log file from your code
-using the Ruby logger class from inside your controllers. Example:
- class WeblogController < ActionController::Base
- def destroy
- @weblog = Weblog.find(params[:id])
- @weblog.destroy
-"#{} Destroyed Weblog ID ##{}!")
- end
- end
-The result will be a message in your log file along the lines of:
- Mon Oct 08 14:22:29 +1000 2007 Destroyed Weblog ID #1!
-More information on how to use the logger is at
-Also, Ruby documentation can be found at There are
-several books available online as well:
-* Programming Ruby: (Pickaxe)
-* Learn to Program: (a beginners guide)
-These two books will bring you up to speed on the Ruby language and also on
-programming in general.
-== Debugger
-Debugger support is available through the debugger command when you start your
-Mongrel or WEBrick server with --debugger. This means that you can break out of
-execution at any point in the code, investigate and change the model, and then,
-resume execution! You need to install ruby-debug to run the server in debugging
-mode. With gems, use <tt>sudo gem install ruby-debug</tt>. Example:
- class WeblogController < ActionController::Base
- def index
- @posts = Post.find(:all)
- debugger
- end
- end
-So the controller will accept the action, run the first line, then present you
-with a IRB prompt in the server window. Here you can do things like:
- >> @posts.inspect
- => "[#<Post:0x14a6be8
- @attributes={"title"=>nil, "body"=>nil, "id"=>"1"}>,
- #<Post:0x14a6620
- @attributes={"title"=>"Rails", "body"=>"Only ten..", "id"=>"2"}>]"
- >> @posts.first.title = "hello from a debugger"
- => "hello from a debugger"
-...and even better, you can examine how your runtime objects actually work:
- >> f = @posts.first
- => #<Post:0x13630c4 @attributes={"title"=>nil, "body"=>nil, "id"=>"1"}>
- >> f.
- Display all 152 possibilities? (y or n)
-Finally, when you're ready to resume execution, you can enter "cont".
-== Console
-The console is a Ruby shell, which allows you to interact with your
-application's domain model. Here you'll have all parts of the application
-configured, just like it is when the application is running. You can inspect
-domain models, change values, and save to the database. Starting the script
-without arguments will launch it in the development environment.
-To start the console, run <tt>rails console</tt> from the application
-* Passing the <tt>-s, --sandbox</tt> argument will rollback any modifications
- made to the database.
-* Passing an environment name as an argument will load the corresponding
- environment. Example: <tt>rails console production</tt>.
-To reload your controllers and models after launching the console run
-More information about irb can be found at:
-== dbconsole
-You can go to the command line of your database directly through <tt>rails
-dbconsole</tt>. You would be connected to the database with the credentials
-defined in database.yml. Starting the script without arguments will connect you
-to the development database. Passing an argument will connect you to a different
-database, like <tt>rails dbconsole production</tt>. Currently works for MySQL,
-PostgreSQL and SQLite 3.
-== Description of Contents
-The default directory structure of a generated Ruby on Rails application:
- |-- app
- | |-- controllers
- | |-- helpers
- | |-- models
- | `-- views
- | `-- layouts
- |-- config
- | |-- environments
- | |-- initializers
- | `-- locales
- |-- db
- |-- doc
- |-- lib
- | `-- tasks
- |-- log
- |-- public
- | |-- images
- | |-- javascripts
- | `-- stylesheets
- |-- script
- | `-- performance
- |-- test
- | |-- fixtures
- | |-- functional
- | |-- integration
- | |-- performance
- | `-- unit
- |-- tmp
- | |-- cache
- | |-- pids
- | |-- sessions
- | `-- sockets
- `-- vendor
- `-- plugins
- Holds all the code that's specific to this particular application.
- Holds controllers that should be named like weblogs_controller.rb for
- automated URL mapping. All controllers should descend from
- ApplicationController which itself descends from ActionController::Base.
- Holds models that should be named like post.rb. Models descend from
- ActiveRecord::Base by default.
- Holds the template files for the view that should be named like
- weblogs/index.html.erb for the WeblogsController#index action. All views use
- eRuby syntax by default.
- Holds the template files for layouts to be used with views. This models the
- common header/footer method of wrapping views. In your views, define a layout
- using the <tt>layout :default</tt> and create a file named default.html.erb.
- Inside default.html.erb, call <% yield %> to render the view using this
- layout.
- Holds view helpers that should be named like weblogs_helper.rb. These are
- generated for you automatically when using generators for controllers.
- Helpers can be used to wrap functionality for your views into methods.
- Configuration files for the Rails environment, the routing map, the database,
- and other dependencies.
- Contains the database schema in schema.rb. db/migrate contains all the
- sequence of Migrations for your schema.
- This directory is where your application documentation will be stored when
- generated using <tt>rake doc:app</tt>
- Application specific libraries. Basically, any kind of custom code that
- doesn't belong under controllers, models, or helpers. This directory is in
- the load path.
- The directory available for the web server. Contains subdirectories for
- images, stylesheets, and javascripts. Also contains the dispatchers and the
- default HTML files. This should be set as the DOCUMENT_ROOT of your web
- server.
- Helper scripts for automation and generation.
- Unit and functional tests along with fixtures. When using the rails generate
- command, template test files will be generated for you and placed in this
- directory.
- External libraries that the application depends on. Also includes the plugins
- subdirectory. If the app has frozen rails, those gems also go here, under
- vendor/rails/. This directory is in the load path.
+This is a reduced-functionality clone of Github. On the bright side, you can
+install it on your intranet, and get free private repositories.
@@ -4,4 +4,4 @@
require File.expand_path('../config/application', __FILE__)
require 'rake'
@@ -1,7 +1,7 @@
<!DOCTYPE html>
- <title>Dexter</title>
+ <title>Gitty</title>
<%= stylesheet_link_tag :all %>
<%= javascript_include_tag :defaults %>
<%= csrf_meta_tag %>
@@ -1,4 +1,4 @@
# This file is used by Rack-based servers to start the application.
require ::File.expand_path('../config/environment', __FILE__)
-run Dexter::Application
+run Gitty::Application
@@ -6,7 +6,7 @@
# you've limited to :test, :development, or :production.
Bundler.require(:default, Rails.env) if defined?(Bundler)
-module Dexter
+module Gitty
class Application < Rails::Application
# Settings in config/environments/* take precedence over those specified here.
# Application configuration should go into files in config/initializers
@@ -1,24 +1,24 @@
dev_pgsql: &dev_pgsql
adapter: postgresql
- database: dexter_dev
+ database: gitty_dev
username: root
password: ""
dev_mysql: &dev_mysql
adapter: mysql
- database: dexter_dev
+ database: gitty_dev
username: root
test_pgsql: &test_pgsql
adapter: postgresql
- database: dexter_test
+ database: gitty_test
username: root
password: ""
test_mysql: &test_mysql
adapter: mysql
- database: dexter_test
+ database: gitty_test
username: root
@@ -2,4 +2,4 @@
require File.expand_path('../application', __FILE__)
# Initialize the rails application
@@ -1,4 +1,4 @@
-Dexter::Application.configure do
+Gitty::Application.configure do
# Settings specified here will take precedence over those in config/environment.rb
# In the development environment your application's code is reloaded on
@@ -1,4 +1,4 @@
-Dexter::Application.configure do
+Gitty::Application.configure do
# Settings specified here will take precedence over those in config/environment.rb
# The production environment is meant for finished, "live" apps.
@@ -1,4 +1,4 @@
-Dexter::Application.configure do
+Gitty::Application.configure do
# Settings specified here will take precedence over those in config/environment.rb
# The test environment is used exclusively to run your application's
@@ -4,4 +4,4 @@
# If you change this key, all old signed cookies will become invalid!
# Make sure the secret is at least 30 characters and all random,
# no regular words or you'll be exposed to dictionary attacks.
-Dexter::Application.config.secret_token = '92290223f0d15f7ea37a60f32f17bd77a4c9d2f70849831c0cd8a40e3546485cbf0674b7ddd85691aa5957bb27bc90e26f7cf1ed7b4fc39ed121404fe24ff10a'
+Gitty::Application.config.secret_token = '92290223f0d15f7ea37a60f32f17bd77a4c9d2f70849831c0cd8a40e3546485cbf0674b7ddd85691aa5957bb27bc90e26f7cf1ed7b4fc39ed121404fe24ff10a'
@@ -1,8 +1,8 @@
# Be sure to restart your server when you modify this file.
-Dexter::Application.config.session_store :cookie_store, :key => '_dexter_session'
+Gitty::Application.config.session_store :cookie_store, :key => '_dexter_session'
# Use the database for sessions instead of the cookie-based default,
# which shouldn't be used to store highly confidential information
# (create the session table with "rake db:sessions:create")
-# Dexter::Application.config.session_store :active_record_store
+# Gitty::Application.config.session_store :active_record_store
@@ -1,10 +1,6 @@
-Dexter::Application.routes.draw do
+Gitty::Application.routes.draw do
resources :profiles
- resources :commits
- resources :branches
resources :ssh_keys
resources :repositories
@@ -28,7 +28,7 @@ web_group = Etc.getgrgid(Etc.getpwnam(ARGV[1]).gid).name
# Create git user.
new_user_command = ['useradd', '--gid', web_group, '--no-create-home',
- '--no-user-group', '--comment', "User for Dexter's Git repos", git_user]
+ '--no-user-group', '--comment', "User for Gitty's Git repos", git_user]
unless Kernel.system(*new_user_command)
puts "Failed to create user #{git_user}"

0 comments on commit 9a3a500

Please sign in to comment.