From fd42fc56fe41883e4f175dbd7cc51164053deeb4 Mon Sep 17 00:00:00 2001 From: Scott Comer Date: Thu, 27 Feb 2014 10:42:47 -0600 Subject: [PATCH] wire up get_work --- ruby/lib/jam_ruby/models/get_work.rb | 11 +++++++++-- ruby/spec/jam_ruby/models/get_work_spec.rb | 3 ++- web/app/controllers/api_scoring_controller.rb | 9 +++++---- .../controllers/api_scoring_controller_spec.rb | 15 +++++++++------ 4 files changed, 25 insertions(+), 13 deletions(-) diff --git a/ruby/lib/jam_ruby/models/get_work.rb b/ruby/lib/jam_ruby/models/get_work.rb index ed5e199c8..f82ca00f4 100644 --- a/ruby/lib/jam_ruby/models/get_work.rb +++ b/ruby/lib/jam_ruby/models/get_work.rb @@ -1,14 +1,21 @@ module JamRuby class GetWork < ActiveRecord::Base + + self.table_name = "connections" + def self.get_work(mylocidispid) - list = get_work_list(mylocidispid) + list = self.get_work_list(mylocidispid) return nil if list.nil? return nil if list.length == 0 return list[0] end def self.get_work_list(mylocidispid) - GetWork.find_by_sql("select get_work(#{mylocidispid}) as client_id") + r = GetWork.select(:client_id).find_by_sql("select get_work(#{mylocidispid}) as client_id") + #puts("r = #{r}") + a = r.map {|i| i.client_id} + #puts("a = #{a}") + a #return ["blah1", "blah2", "blah3", "blah4", "blah5"] end end diff --git a/ruby/spec/jam_ruby/models/get_work_spec.rb b/ruby/spec/jam_ruby/models/get_work_spec.rb index b196bc1f2..015d1e6a3 100644 --- a/ruby/spec/jam_ruby/models/get_work_spec.rb +++ b/ruby/spec/jam_ruby/models/get_work_spec.rb @@ -1,7 +1,8 @@ require 'spec_helper' describe GetWork do - before do + + before(:each) do end diff --git a/web/app/controllers/api_scoring_controller.rb b/web/app/controllers/api_scoring_controller.rb index 38e3a6105..19ae307b5 100644 --- a/web/app/controllers/api_scoring_controller.rb +++ b/web/app/controllers/api_scoring_controller.rb @@ -12,8 +12,9 @@ class ApiScoringController < ApiController if !c.user.id.eql?(current_user.id) then render :json => {message: 'user does not own client_id'}, :status => 403; return end # todo this method is a stub - #result_client_id = JamRuby::GetWork.get_work(c.locidispid) - result_client_id = client_id+'peer' + #puts "ApiScoringController#work(#{client_id}) => locidispid #{c.locidispid}" + result_client_id = JamRuby::GetWork.get_work(c.locidispid) + #result_client_id = client_id+'peer' render :json => {:clientid => result_client_id}, :status => 200 end @@ -27,8 +28,8 @@ class ApiScoringController < ApiController if !c.user.id.eql?(current_user.id) then render :json => {message: 'user does not own client_id'}, :status => 403; return end # todo this method is a stub - # result_client_ids = JamRuby::GetWork.get_work_list(c.locidispid) - result_client_ids = [client_id+'peer1', client_id+'peer2'] + result_client_ids = JamRuby::GetWork.get_work_list(c.locidispid) + #result_client_ids = [client_id+'peer1', client_id+'peer2'] render :json => {:clientids => result_client_ids}, :status => 200 end diff --git a/web/spec/controllers/api_scoring_controller_spec.rb b/web/spec/controllers/api_scoring_controller_spec.rb index 713dca6bf..0cc5399dc 100644 --- a/web/spec/controllers/api_scoring_controller_spec.rb +++ b/web/spec/controllers/api_scoring_controller_spec.rb @@ -74,7 +74,7 @@ describe ApiScoringController do json = JSON.parse(response.body, :symbolize_names => true) json.length.should == 1 json[:clientid].should_not be_nil - json[:clientid].should eql(@mary_client_id+'peer') + [@mary_client_id, @mike_client_id].should include(json[:clientid]) end it 'try work with mike and mike' do @@ -84,7 +84,7 @@ describe ApiScoringController do json = JSON.parse(response.body, :symbolize_names => true) json.length.should == 1 json[:clientid].should_not be_nil - json[:clientid].should eql(@mike_client_id+'peer') + [@mary_client_id, @mike_client_id].should include(json[:clientid]) end it 'try work with mike and mary' do @@ -136,8 +136,10 @@ describe ApiScoringController do json[:clientids].should_not be_nil json[:clientids].should_receive :length json[:clientids].length == 2 - json[:clientids][0].should eql(@mary_client_id+'peer1') - json[:clientids][1].should eql(@mary_client_id+'peer2') + [@mary_client_id, @mike_client_id].should include(json[:clientids][0]) + [@mary_client_id, @mike_client_id].should include(json[:clientids][1]) + json[:clientids][0].should_not eql(json[:clientids][1]) + end it 'try worklist with mike and mike' do @@ -149,8 +151,9 @@ describe ApiScoringController do json[:clientids].should_not be_nil json[:clientids].should_receive :length json[:clientids].length == 2 - json[:clientids][0].should eql(@mike_client_id+'peer1') - json[:clientids][1].should eql(@mike_client_id+'peer2') + [@mary_client_id, @mike_client_id].should include(json[:clientids][0]) + [@mary_client_id, @mike_client_id].should include(json[:clientids][1]) + json[:clientids][0].should_not eql(json[:clientids][1]) end it 'try worklist with mary and mike' do