diff --git a/app/controllers/graders_controller.rb b/app/controllers/graders_controller.rb new file mode 100644 --- /dev/null +++ b/app/controllers/graders_controller.rb @@ -0,0 +1,2 @@ +class GradersController < ApplicationController +end diff --git a/app/helpers/graders_helper.rb b/app/helpers/graders_helper.rb new file mode 100644 --- /dev/null +++ b/app/helpers/graders_helper.rb @@ -0,0 +1,2 @@ +module GradersHelper +end diff --git a/app/models/grader_process.rb b/app/models/grader_process.rb new file mode 100644 --- /dev/null +++ b/app/models/grader_process.rb @@ -0,0 +1,17 @@ +class GraderProcess < ActiveRecord::Base + + def self.find_by_ip_and_pid(ip,pid) + return GraderProcess.find(:first, + :conditions => { + :ip => ip, + :pid => pid + }) + end + + def self.report_active(ip,pid,mode) + end + + def self.report_inactive(ip,pid,mode) + end + +end diff --git a/db/migrate/014_create_grader_processes.rb b/db/migrate/014_create_grader_processes.rb new file mode 100644 --- /dev/null +++ b/db/migrate/014_create_grader_processes.rb @@ -0,0 +1,16 @@ +class CreateGraderProcesses < ActiveRecord::Migration + def self.up + create_table :grader_processes do |t| + t.column :ip, :string, :limit => 20 + t.column :pid, :integer + t.column :mode, :string + t.column :active, :boolean + t.timestamps + end + add_index :grader_processes, ["ip","pid"] + end + + def self.down + drop_table :grader_processes + end +end diff --git a/db/schema.rb b/db/schema.rb --- a/db/schema.rb +++ b/db/schema.rb @@ -9,7 +9,18 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 13) do +ActiveRecord::Schema.define(:version => 14) do + + create_table "grader_processes", :force => true do |t| + t.string "ip", :limit => 20 + t.integer "pid" + t.string "mode" + t.boolean "active" + t.datetime "created_at" + t.datetime "updated_at" + end + + add_index "grader_processes", ["ip", "pid"], :name => "index_grader_processes_on_ip_and_pid" create_table "languages", :force => true do |t| t.string "name", :limit => 10 diff --git a/test/fixtures/grader_processes.yml b/test/fixtures/grader_processes.yml new file mode 100644 --- /dev/null +++ b/test/fixtures/grader_processes.yml @@ -0,0 +1,7 @@ +# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html + +# one: +# column: value +# +# two: +# column: value diff --git a/test/functional/graders_controller_test.rb b/test/functional/graders_controller_test.rb new file mode 100644 --- /dev/null +++ b/test/functional/graders_controller_test.rb @@ -0,0 +1,8 @@ +require File.dirname(__FILE__) + '/../test_helper' + +class GradersControllerTest < ActionController::TestCase + # Replace this with your real tests. + def test_truth + assert true + end +end diff --git a/test/unit/grader_process_test.rb b/test/unit/grader_process_test.rb new file mode 100644 --- /dev/null +++ b/test/unit/grader_process_test.rb @@ -0,0 +1,8 @@ +require File.dirname(__FILE__) + '/../test_helper' + +class GraderProcessTest < ActiveSupport::TestCase + # Replace this with your real tests. + def test_truth + assert true + end +end