diff --git a/tracks/README b/tracks/README
deleted file mode 100644
index ca5f3737..00000000
--- a/tracks/README
+++ /dev/null
@@ -1,189 +0,0 @@
-== Welcome to Rails
-
-Rails is a web-application and persistance framework that includes everything
-needed to create database-backed web-applications according to the
-Model-View-Control pattern of separation. This pattern splits the view (also
-called the presentation) into "dumb" templates that are primarily responsible
-for inserting pre-build 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 a 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
-link:files/vendor/activerecord/README.html.
-
-The controller and view is 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
-link:files/vendor/actionpack/README.html.
-
-
-== Requirements
-
-* Database and driver (MySQL, PostgreSQL, or SQLite)
-* Rake[http://rake.rubyforge.org] for running tests and the generating documentation
-
-== Optionals
-
-* Apache 1.3.x or 2.x or lighttpd 1.3.11+ (or any FastCGI-capable webserver with a
- mod_rewrite-like module)
-* FastCGI (or mod_ruby) for better performance on Apache
-
-== Getting started
-
-1. Run the WEBrick servlet: ruby script/server
- (run with --help for options)
-2. Go to http://localhost:3000/ and get "Congratulations, you've put Ruby on Rails!"
-3. Follow the guidelines on the "Congratulations, you've put Ruby on Rails!" screen
-
-
-== Example for Apache conf
-
-
- ServerName rails
- DocumentRoot /path/application/public/
- ErrorLog /path/application/log/server.log
-
-
- Options ExecCGI FollowSymLinks
- AllowOverride all
- Allow from all
- Order allow,deny
-
-
-
-NOTE: Be sure that CGIs can be executed in that directory as well. So ExecCGI
-should be on and ".cgi" should respond. All requests from 127.0.0.1 goes
-through CGI, so no Apache restart is necessary for changes. All other requests
-goes through FCGI (or mod_ruby) that requires restart to show changes.
-
-
-== Example for lighttpd conf (with FastCGI)
-
-server.port = 8080
-server.bind = "127.0.0.1"
-# server.event-handler = "freebsd-kqueue" # needed on OS X
-
-server.modules = ( "mod_rewrite", "mod_fastcgi" )
-
-url.rewrite = ( "^/$" => "index.html", "^([^.]+)$" => "$1.html" )
-server.error-handler-404 = "/dispatch.fcgi"
-
-server.document-root = "/path/application/public"
-server.errorlog = "/path/application/log/server.log"
-
-fastcgi.server = ( ".fcgi" =>
- ( "localhost" =>
- (
- "min-procs" => 1,
- "max-procs" => 5,
- "socket" => "/tmp/application.fcgi.socket",
- "bin-path" => "/path/application/public/dispatch.fcgi",
- "bin-environment" => ( "RAILS_ENV" => "development" )
- )
- )
-)
-
-
-== Debugging Rails
-
-Have "tail -f" commands running on both the server.log, production.log, and
-test.log files. Rails will automatically display debugging and runtime
-information to these files. Debugging info will also be shown in the browser
-on requests from 127.0.0.1.
-
-
-== Breakpoints
-
-Breakpoint support is available through the script/breakpointer client. This
-means that you can break out of execution at any point in the code, investigate
-and change the model, AND then resume execution! Example:
-
- class WeblogController < ActionController::Base
- def index
- @posts = Post.find_all
- breakpoint "Breaking out from the list"
- end
- end
-
-So the controller will accept the action, run the first line, then present you
-with a IRB prompt in the breakpointer window. Here you can do things like:
-
-Executing breakpoint "Breaking out from the list" at .../webrick_server.rb:16 in 'breakpoint'
-
- >> @posts.inspect
- => "[#nil, \"body\"=>nil, \"id\"=>\"1\"}>,
- #\"Rails you know!\", \"body\"=>\"Only ten..\", \"id\"=>\"2\"}>]"
- >> @posts.first.title = "hello from a breakpoint"
- => "hello from a breakpoint"
-
-...and even better is that you can examine how your runtime objects actually work:
-
- >> f = @posts.first
- => #nil, "body"=>nil, "id"=>"1"}>
- >> f.
- Display all 152 possibilities? (y or n)
-
-Finally, when you're ready to resume execution, you press CTRL-D
-
-
-== Console
-
-You can interact with the domain model by starting the console through script/console.
-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. Start the script without arguments to see the options.
-
-
-== Description of contents
-
-app
- Holds all the code that's specific to this particular application.
-
-app/controllers
- Holds controllers that should be named like weblog_controller.rb for
- automated URL mapping. All controllers should descend from
- ActionController::Base.
-
-app/models
- Holds models that should be named like post.rb.
- Most models will descent from ActiveRecord::Base.
-
-app/views
- Holds the template files for the view that should be named like
- weblog/index.rhtml for the WeblogController#index action. All views uses eRuby
- syntax. This directory can also be used to keep stylesheets, images, and so on
- that can be symlinked to public.
-
-app/helpers
- Holds view helpers that should be named like weblog_helper.rb.
-
-config
- Configuration files for the Rails environment, the routing map, the database, and other dependencies.
-
-components
- Self-contained mini-applications that can bundle controllers, models, and views together.
-
-lib
- Application specific libraries. Basically, any kind of custom code that doesn't
- belong controllers, models, or helpers. This directory is in the load path.
-
-public
- The directory available for the web server. Contains sub-directories for images, stylesheets,
- and javascripts. Also contains the dispatchers and the default HTML files.
-
-script
- Helper scripts for automation and generation.
-
-test
- Unit and functional tests along with fixtures.
-
-vendor
- External libraries that the application depend on. This directory is in the load path.
diff --git a/tracks/app/controllers/application.rb b/tracks/app/controllers/application.rb
index 5239b4e4..1972ffd0 100644
--- a/tracks/app/controllers/application.rb
+++ b/tracks/app/controllers/application.rb
@@ -2,7 +2,6 @@
# Likewise will all the methods added be available for all controllers.
require_dependency "login_system"
-require_dependency "math/statistics"
require 'date'
@@ -31,17 +30,4 @@ class ApplicationController < ActionController::Base
error_messages_for( obj ) unless instance_eval("@#{obj}").nil?
end
- def av_completed
- completed = Todo.find(:all, :conditions => "done=1")
- days = []
- completed.each do |i|
- days << (i.completed - i.created).to_f
- end
- return days.average, days.max
- end
-
-end
-
-class Array
- include Math::Statistics
end
\ No newline at end of file
diff --git a/tracks/app/controllers/project_controller.rb b/tracks/app/controllers/project_controller.rb
index 99f5bb4e..29960fc1 100644
--- a/tracks/app/controllers/project_controller.rb
+++ b/tracks/app/controllers/project_controller.rb
@@ -17,7 +17,7 @@ class ProjectController < ApplicationController
#
def list
@page_title = "TRACKS::List Projects"
- @projects = Project.find(:all, :conditions => nil, :order => "done ASC, position ASC")
+ @projects = Project.find(:all, :conditions => nil, :order => "position ASC")
end
# Filter the projects to show just the one passed in the URL
diff --git a/tracks/app/views/context/_context_form.rhtml b/tracks/app/views/context/_context_form.rhtml
index 5b21481f..20c22733 100644
--- a/tracks/app/views/context/_context_form.rhtml
+++ b/tracks/app/views/context/_context_form.rhtml
@@ -1,7 +1,7 @@
<%
@context = context_form
%>
-
+<%= error_messages_for 'context' %>
<%= @context.position %>
diff --git a/tracks/app/views/project/_project_form.rhtml b/tracks/app/views/project/_project_form.rhtml
index 18822e59..e9f818d0 100644
--- a/tracks/app/views/project/_project_form.rhtml
+++ b/tracks/app/views/project/_project_form.rhtml
@@ -1,7 +1,7 @@
<%
@project = project_form
%>
-
+<%= error_messages_for 'project' %>
<%= @project.position %>
diff --git a/tracks/lib/math/statistics.rb b/tracks/lib/math/statistics.rb
deleted file mode 100644
index f63b2c47..00000000
--- a/tracks/lib/math/statistics.rb
+++ /dev/null
@@ -1,253 +0,0 @@
-=begin
-= module Math::Statistics
-
-== SYNOPSIS
-
- ----
- require "math/statistics"
-
- class Array
- include Math::Statistics
- end
-
- a = [-2,-1,1,2]
- p a.sum
- p a.avg
- p a.var
- p a.std
- p a.Min
- p a.Max
- ----
-
-produces
-
- ----
- 0.0
- 0.0
- 2.5
- 1.58113883
- -2
- 2
- ----
-
-For hashes,
-
- ----
- require "math/statistics"
-
- class Hash
- include Math::Statistics
- Hash::default_block = lambda{|i,j| j}
- end
-
- h = {'alice'=>-2, 'bob'=>-1, 'cris'=>1, 'diana'=>2}
- p h.sum
- p h.avg
- p h.var
- p h.std
- p h.Min
- p h.Max
- ----
-
-produces
-
- ----
- 0.0
- 0.0
- 2.5
- 1.58113883
- -2
- 2
- ----
-
-== DESCRIPTION
-
-(({Math::Statistics})) provides basic statistical methods, i.e.,
-sum, average, variance, standard deviation, min and max.
-This module can be used after including to the target class.
-The target class must be Enumerable, more precisely, this module
-uses each, size, min, and max.
-
-== CLASS METHOD
-
-: default_block= aProc
-
- Sets default block of the class. This block will be used by the methods.
-
-: default_block
-
- Returns default block for class if defined. Otherwise nil will be returnd.
-
-== METHOD
-
-: default_block= aProc
-
- Sets default block of the object. This block will be used by the methods.
- Priority of the blocks is in the other: in-place given block,
- object's default then class's default.
-
-: default_block
-
- Returns default block if defined. Otherwise nil will be returnd.
-
-: sum
-: sum{...}
-
- Returns sum. When a block is given, summation is taken over the
- each result of block evaluation. The role of blocks in the below
- are same to this one.
-
-: average
-: average{...}
-: avg
-: avg{...}
-
- Returns average.
-
-: variance
-: variance{...}
-: var
-: var{...}
-
- Returns variance.
-
-: standard_deviation
-: standard_deviation{...}
-: std
-: std{...}
-
- Returns standard deviation.
-
-: Min
-: Min{...}
-
- Returns minimum.
-
-: Max
-: Max{...}
-
- Returns maximam.
-
-== AUTHORS
-
-Gotoken
-
-== HISTORY
-
- 2001-02-28 created (gotoken#notwork.org)
-
-=end
-
-module Math
- module Statistics
- VERSION = "2001_02_18"
-
- def self.append_features(mod)
- unless mod < Enumerable
- raise TypeError,
- "`#{self}' can't be included non Enumerable (#{mod})"
- end
-
- def mod.default_block= (blk)
- self.const_set("STAT_BLOCK", blk)
- end
-
- def mod.default_block
- defined?(self::STAT_BLOCK) && self::STAT_BLOCK
- end
-
- super
- end
-
- def default_block
- @stat_block || type.default_block
- end
-
- def default_block=(blk)
- @stat_block = blk
- end
-
- def sum
- sum = 0.0
- if block_given?
- each{|i| sum += yield(i)}
- elsif default_block
- each{|i| sum += default_block[*i]}
- else
- each{|i| sum += i}
- end
- sum
- end
-
- def average(&blk)
- sum(&blk)/size
- end
-
- def variance(&blk)
- sum2 = if block_given?
- sum{|i| j=yield(i); j*j}
- elsif default_block
- sum{|i| j=default_block[*i]; j*j}
- else
- sum{|i| i**2}
- end
- sum2/size - average(&blk)**2
- end
-
- def standard_deviation(&blk)
- Math::sqrt(variance(&blk))
- end
-
- def Min(&blk)
- if block_given?
- if min = find{|i| i}
- min = yield(min)
- each{|i|
- j = yield(i)
- min = j if min > j
- }
- min
- end
- elsif default_block
- if min = find{|i| i}
- min = default_block[*min]
- each{|i|
- j = default_block[*i]
- min = j if min > j
- }
- min
- end
- else
- min()
- end
- end
-
- def Max(&blk)
- if block_given?
- if max = find{|i| i}
- max = yield(max)
- each{|i|
- j = yield(i)
- max = j if max < j
- }
- max
- end
- elsif default_block
- if max = find{|i| i}
- max = default_block[*max]
- each{|i|
- j = default_block[*i]
- max = j if max > j
- }
- max
- end
- else
- max()
- end
- end
-
- alias avg average
- alias std standard_deviation
- alias var variance
- end
-end