merging all the things
This commit is contained in:
commit
a949b58d98
6
Gemfile
6
Gemfile
|
@ -12,7 +12,7 @@ gem 'sinatra-contrib', require: nil #github: 'sinatra/sinatra-contrib', require:
|
|||
# TODO need to release the gem as soon i'm certain this change makes sense
|
||||
gem 'simple_states', github: 'svenfuchs/simple_states', branch: 'sf-set-state-early'
|
||||
|
||||
gem 'puma'
|
||||
gem 'puma', '1.6.3'
|
||||
gem "sentry-raven", github: 'getsentry/raven-ruby'
|
||||
gem 'yard-sinatra', github: 'rkh/yard-sinatra'
|
||||
gem 'rack-contrib', github: 'rack/rack-contrib'
|
||||
|
@ -21,9 +21,9 @@ gem 'gh', github: 'rkh/gh'
|
|||
gem 'bunny'
|
||||
gem 'dalli'
|
||||
gem 'pry'
|
||||
gem 'metriks', '0.9.9.2'
|
||||
gem 'metriks', '0.9.9.2'
|
||||
|
||||
gem 'ar-octopus', github: 'travis-ci/octopus', require: 'octopus'
|
||||
gem 'ar-octopus', github: 'travis-ci/octopus', require: 'octopus'
|
||||
|
||||
group :test do
|
||||
gem 'rspec', '~> 2.11'
|
||||
|
|
66
Gemfile.lock
66
Gemfile.lock
|
@ -1,10 +1,10 @@
|
|||
GIT
|
||||
remote: git://github.com/getsentry/raven-ruby.git
|
||||
revision: e520389a56d099276c167d8b442967c7fa549ecd
|
||||
revision: 267b33417a3ed43f552911cf353561a641ba9fb2
|
||||
specs:
|
||||
sentry-raven (0.4.3)
|
||||
sentry-raven (0.4.6)
|
||||
faraday (>= 0.7.6)
|
||||
hashie
|
||||
hashie (>= 1.1.0)
|
||||
multi_json (~> 1.0)
|
||||
uuidtools
|
||||
|
||||
|
@ -17,9 +17,9 @@ GIT
|
|||
|
||||
GIT
|
||||
remote: git://github.com/rkh/gh.git
|
||||
revision: c14f7619d24ff3aa156dae1ec3e6bd1f2734cd61
|
||||
revision: ff93c759591a66c9d5250cada5234d2adde95dd3
|
||||
specs:
|
||||
gh (0.11.0)
|
||||
gh (0.11.1)
|
||||
addressable
|
||||
backports
|
||||
faraday (~> 0.8)
|
||||
|
@ -53,7 +53,7 @@ GIT
|
|||
|
||||
GIT
|
||||
remote: git://github.com/travis-ci/travis-core.git
|
||||
revision: 75986691f25bd5533fa812dbe81638c7d1da3651
|
||||
revision: d3f5fd82fe81f5bfa97d810f90838a1dbeda6e17
|
||||
specs:
|
||||
travis-core (0.0.1)
|
||||
actionmailer (~> 3.2.12)
|
||||
|
@ -82,7 +82,7 @@ GIT
|
|||
|
||||
GIT
|
||||
remote: git://github.com/travis-ci/travis-support.git
|
||||
revision: db10b27101763f39d46075ded19bcf4bb845b1ff
|
||||
revision: 1f705a2ce4bcc42c642b337f117073abedef971b
|
||||
specs:
|
||||
travis-support (0.0.1)
|
||||
|
||||
|
@ -98,7 +98,7 @@ PATH
|
|||
travis-api (0.0.1)
|
||||
backports (~> 2.5)
|
||||
hubble (~> 0.1)
|
||||
newrelic_rpm (~> 3.6.1.85.beta)
|
||||
newrelic_rpm (~> 3.6.1.88)
|
||||
pg (~> 0.13.2)
|
||||
rack-contrib (~> 1.1)
|
||||
rack-ssl (~> 1.3, >= 1.3.3)
|
||||
|
@ -138,7 +138,7 @@ GEM
|
|||
multi_json (~> 1.0)
|
||||
addressable (2.3.4)
|
||||
arel (3.0.2)
|
||||
atomic (1.1.7)
|
||||
atomic (1.1.8)
|
||||
avl_tree (1.1.3)
|
||||
backports (2.8.2)
|
||||
builder (3.0.4)
|
||||
|
@ -155,17 +155,20 @@ GEM
|
|||
activerecord
|
||||
rake
|
||||
database_cleaner (0.8.0)
|
||||
diff-lcs (1.2.1)
|
||||
diff-lcs (1.2.4)
|
||||
dotenv (0.7.0)
|
||||
erubis (2.7.0)
|
||||
eventmachine (1.0.0)
|
||||
facter (1.6.17)
|
||||
eventmachine (1.0.3)
|
||||
facter (1.7.0)
|
||||
factory_girl (2.4.2)
|
||||
activesupport
|
||||
faraday (0.8.7)
|
||||
multipart-post (~> 1.1)
|
||||
foreman (0.61.0)
|
||||
ffi (1.8.1)
|
||||
foreman (0.63.0)
|
||||
dotenv (>= 0.7)
|
||||
thor (>= 0.13.6)
|
||||
hashie (2.0.0)
|
||||
hashie (2.0.4)
|
||||
hashr (0.0.22)
|
||||
hike (1.2.2)
|
||||
hitimes (1.2.1)
|
||||
|
@ -174,7 +177,10 @@ GEM
|
|||
i18n (0.6.1)
|
||||
journey (1.0.4)
|
||||
json (1.7.7)
|
||||
listen (0.7.2)
|
||||
listen (1.0.3)
|
||||
rb-fsevent (>= 0.9.3)
|
||||
rb-inotify (>= 0.9)
|
||||
rb-kqueue (>= 0.2)
|
||||
mail (2.5.3)
|
||||
i18n (>= 0.4.0)
|
||||
mime-types (~> 1.16)
|
||||
|
@ -185,8 +191,8 @@ GEM
|
|||
atomic (~> 1.0)
|
||||
avl_tree (~> 1.1.2)
|
||||
hitimes (~> 1.1)
|
||||
mime-types (1.22)
|
||||
mocha (0.13.2)
|
||||
mime-types (1.23)
|
||||
mocha (0.13.3)
|
||||
metaclass (~> 0.0.1)
|
||||
multi_json (1.7.2)
|
||||
multipart-post (1.2.0)
|
||||
|
@ -195,7 +201,7 @@ GEM
|
|||
newrelic_rpm (3.6.1.88)
|
||||
pg (0.13.2)
|
||||
polyglot (0.3.3)
|
||||
pry (0.9.12)
|
||||
pry (0.9.12.1)
|
||||
coderay (~> 1.0.5)
|
||||
method_source (~> 0.8)
|
||||
slop (~> 3.4)
|
||||
|
@ -222,30 +228,34 @@ GEM
|
|||
thor (>= 0.14.6, < 2.0)
|
||||
rake (0.9.6)
|
||||
rb-fsevent (0.9.3)
|
||||
rb-inotify (0.9.0)
|
||||
ffi (>= 0.5.0)
|
||||
rb-kqueue (0.2.0)
|
||||
ffi (>= 0.5.0)
|
||||
rdoc (3.12.2)
|
||||
json (~> 1.4)
|
||||
redcarpet (2.2.2)
|
||||
redis (3.0.3)
|
||||
redis (3.0.4)
|
||||
redis-namespace (1.2.1)
|
||||
redis (~> 3.0.0)
|
||||
rerun (0.8.0)
|
||||
listen
|
||||
rerun (0.8.1)
|
||||
listen (>= 1.0.3)
|
||||
rollout (1.1.0)
|
||||
rspec (2.13.0)
|
||||
rspec-core (~> 2.13.0)
|
||||
rspec-expectations (~> 2.13.0)
|
||||
rspec-mocks (~> 2.13.0)
|
||||
rspec-core (2.13.0)
|
||||
rspec-core (2.13.1)
|
||||
rspec-expectations (2.13.0)
|
||||
diff-lcs (>= 1.1.3, < 2.0)
|
||||
rspec-mocks (2.13.0)
|
||||
rspec-mocks (2.13.1)
|
||||
sidekiq (2.5.4)
|
||||
celluloid (~> 0.12.0)
|
||||
connection_pool (~> 0.9.2)
|
||||
multi_json (~> 1)
|
||||
redis (~> 3)
|
||||
redis-namespace
|
||||
signature (0.1.6)
|
||||
signature (0.1.7)
|
||||
sinatra (1.3.6)
|
||||
rack (~> 1.4)
|
||||
rack-protection (~> 1.3)
|
||||
|
@ -257,7 +267,7 @@ GEM
|
|||
rack-test
|
||||
sinatra (~> 1.3.0)
|
||||
tilt (~> 1.3)
|
||||
slop (3.4.3)
|
||||
slop (3.4.4)
|
||||
sprockets (2.2.2)
|
||||
hike (~> 1.2)
|
||||
multi_json (~> 1.0)
|
||||
|
@ -274,9 +284,9 @@ GEM
|
|||
polyglot
|
||||
polyglot (>= 0.3.1)
|
||||
tzinfo (0.3.37)
|
||||
uuidtools (2.1.3)
|
||||
uuidtools (2.1.4)
|
||||
yajl-ruby (1.1.0)
|
||||
yard (0.8.4.1)
|
||||
yard (0.8.6.1)
|
||||
|
||||
PLATFORMS
|
||||
ruby
|
||||
|
@ -293,7 +303,7 @@ DEPENDENCIES
|
|||
micro_migrations!
|
||||
mocha (~> 0.12)
|
||||
pry
|
||||
puma
|
||||
puma (= 1.6.3)
|
||||
rack-cache (~> 1.2)
|
||||
rack-contrib!
|
||||
rake (~> 0.9.2)
|
||||
|
|
|
@ -118,24 +118,8 @@ module Travis::Api
|
|||
|
||||
def self.setup_travis
|
||||
Travis::Amqp.config = Travis.config.amqp
|
||||
Travis::Database.connect
|
||||
|
||||
if Travis.env == 'production' || Travis.env == 'staging'
|
||||
# Octopus checks for Rails.env, just hardcode enabled?
|
||||
Octopus.instance_eval do
|
||||
def enabled?
|
||||
true
|
||||
end
|
||||
end
|
||||
|
||||
ActiveRecord::Base.custom_octopus_connection = false
|
||||
|
||||
::Octopus.setup do |config|
|
||||
config.shards = { :follower => Travis.config.database_follower }
|
||||
config.environments = ['production', 'staging']
|
||||
end
|
||||
|
||||
end
|
||||
setup_database_connections
|
||||
|
||||
Travis::Features.start
|
||||
|
||||
|
@ -155,6 +139,28 @@ module Travis::Api
|
|||
end
|
||||
end
|
||||
|
||||
def self.setup_database_connections
|
||||
Travis::Database.connect
|
||||
|
||||
return unless Travis.config.use_database_follower?
|
||||
|
||||
if Travis.env == 'production' || Travis.env == 'staging'
|
||||
# Octopus checks for Rails.env, just hardcode enabled?
|
||||
Octopus.instance_eval do
|
||||
def enabled?
|
||||
true
|
||||
end
|
||||
end
|
||||
|
||||
ActiveRecord::Base.custom_octopus_connection = false
|
||||
|
||||
::Octopus.setup do |config|
|
||||
config.shards = { :follower => Travis.config.database_follower }
|
||||
config.environments = ['production', 'staging']
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def self.load_endpoints
|
||||
Backports.require_relative_dir 'app/middleware'
|
||||
Backports.require_relative_dir 'app/endpoint'
|
||||
|
|
|
@ -10,7 +10,7 @@ class Travis::Api::App
|
|||
set(:prefix) { "/" << name[/[^:]+$/].underscore }
|
||||
set disable_root_endpoint: false
|
||||
register :scoping
|
||||
helpers :current_user, :flash
|
||||
helpers :current_user, :flash, :db_follower
|
||||
|
||||
# TODO hmmm?
|
||||
before { flash.clear }
|
||||
|
|
|
@ -52,7 +52,7 @@ class Travis::Api::App
|
|||
#
|
||||
# json(:repository)
|
||||
get '/:owner_name/:name' do
|
||||
Octopus.using(:follower) do
|
||||
prefer_follower do
|
||||
respond_with service(:find_repo, params)
|
||||
end
|
||||
end
|
||||
|
|
13
lib/travis/api/app/helpers/db_follower.rb
Normal file
13
lib/travis/api/app/helpers/db_follower.rb
Normal file
|
@ -0,0 +1,13 @@
|
|||
require 'travis/api/app'
|
||||
|
||||
class Travis::Api::App
|
||||
module Helpers
|
||||
module DbFollower
|
||||
def prefer_follower
|
||||
Octopus.using(:follower) do
|
||||
yield
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -189,7 +189,7 @@ Gem::Specification.new do |s|
|
|||
s.add_dependency 'hubble', '~> 0.1'
|
||||
s.add_dependency 'backports', '~> 2.5'
|
||||
s.add_dependency 'pg', '~> 0.13.2'
|
||||
s.add_dependency 'newrelic_rpm', '~> 3.6.1.85.beta'
|
||||
s.add_dependency 'newrelic_rpm', '~> 3.6.1.88'
|
||||
s.add_dependency 'thin', '~> 1.4'
|
||||
s.add_dependency 'sinatra', '~> 1.3'
|
||||
s.add_dependency 'sinatra-contrib', '~> 1.3'
|
||||
|
|
Loading…
Reference in New Issue
Block a user