travis-api/lib/conditional_skylight.rb

39 lines
693 B
Ruby

module ConditionalSkylight
module DummyMixin
def self.included(object)
object.extend(self)
super
end
def instrument_method(*)
end
end
extend self
def enabled?
authenticated? and lucky_dyno?
end
def authenticated?
ENV['SKYLIGHT_AUTHENTICATION'.freeze]
end
def lucky_dyno?
return @lucky_dyno if instance_variable_defined? :@lucky_dyno
if ENV['DYNO'.freeze] and ENV['DYNO_COUNT'.freeze]
dyno = Integer ENV['DYNO'.freeze][/\d+/]
@lucky_dyno = dyno % 5 == 1
else
@lucky_dyno = true
end
end
if enabled?
require 'skylight'
Mixin = Skylight::Helpers
else
Mixin = DummyMixin
end
end