Removed rabl, actual working ab_test and finished routes · splitrb/split-api@65c4858 · GitHub
Skip to content

Commit 65c4858

Browse files
committed
Removed rabl, actual working ab_test and finished routes
1 parent 1656f50 commit 65c4858

6 files changed

Lines changed: 57 additions & 20 deletions

File tree

‎Readme.mdown‎

Lines changed: 9 additions & 1 deletion

‎lib/split/api.rb‎

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,24 @@
11
require 'sinatra/base'
22
require 'split'
3-
require 'rabl'
4-
require 'active_support/core_ext'
5-
require 'active_support/inflector'
6-
require 'builder'
3+
require 'json'
74

85
module Split
96
class API < Sinatra::Base
10-
Rabl.register!
11-
dir = File.dirname(File.expand_path(__FILE__))
7+
enable :sessions
8+
helpers Split::Helper
129

13-
set :views, "#{dir}/api/views"
10+
get '/ab_test' do
11+
experiment = params[:experiment]
12+
control = params[:control]
13+
alternatives = params[:alternatives]
14+
alternative = ab_test(experiment, control, alternatives)
15+
{:alternative => alternative}.to_json
16+
end
1417

15-
get '/experiments.json' do
16-
@experiments = Split::Experiment.all
17-
render :rabl, :index, :format => :json
18+
post '/finished' do
19+
experiment = params[:experiment]
20+
finished(experiment)
21+
200
1822
end
1923
end
2024
end

‎lib/split/api/views/index.rabl‎

Lines changed: 0 additions & 2 deletions
This file was deleted.

‎spec/api_spec.rb‎

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,29 @@
1-
require 'spec_helper'
1+
require 'spec_helper'
2+
3+
describe Split::API do
4+
include Rack::Test::Methods
5+
6+
def app
7+
@app ||= Split::API
8+
end
9+
10+
before(:each) { Split.redis.flushall }
11+
12+
describe '/ab_test' do
13+
it "should respond" do
14+
get '/ab_test', :experiment => 'text_color', :control => 'red', :alternatives => 'blue'
15+
last_response.should be_ok
16+
end
17+
18+
it 'should set the correct session variable'
19+
end
20+
21+
describe '/finished' do
22+
it "should respond" do
23+
post '/finished', :experiment => 'text_color'
24+
last_response.should be_ok
25+
end
26+
27+
it 'should handle having an empty session'
28+
end
29+
end

‎spec/spec_helper.rb‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1+
ENV['RACK_ENV'] = "test"
2+
13
require 'rubygems'
24
require 'bundler/setup'
3-
require 'split'
45
require 'split/api'
6+
require 'rack/test'

‎split-api.gemspec‎

Lines changed: 2 additions & 5 deletions

0 commit comments

Comments
 (0)