5
3
mirror of https://github.com/tildeverse/lobsters synced 2024-06-15 05:26:35 +00:00

there are lobsters rarer than blue

This commit is contained in:
Peter Bhat Harkins 2018-02-21 09:43:33 -06:00
parent 06d5736aa0
commit a1486f8ce6
2 changed files with 26 additions and 7 deletions

View File

@ -70,16 +70,35 @@ class ApplicationController < ActionController::Base
Rails.logger.info " Traffic level: #{@traffic.to_i}"
end
intensity = (@traffic * 7).floor + 50.0
if (blue = (rand(2000000) == 1)) && @user
Rails.logger.info " User #{@user.id} (#{@user.username}) saw blue logo"
end
color = (blue ? "0000%02x" : "%02x0000")
@traffic_color = sprintf(color, intensity > 255 ? 255 : intensity)
# logo background intensity is based on traffic
intensity = sprintf('%02x', [(@traffic * 7).floor + 50.0, 255].min)
set_traffic_style intensity
true
end
# http://umaine.edu/lobsterinstitute/files/2011/12/LobsterColorsWeb.pdf
def set_traffic_style intensity
@traffic_style = "background-color: ##{intensity}0000;"
return unless @user
color = :red
[
[2_000_000, :blue, "background-color: #0000#{intensity};"],
[6, :yellow, "background-color: ##{intensity}#{intensity}00;"],
[3, :calico, "background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAC4jAAAuIwF4pT92AAAABmJLR0QA/wD/AP+gvaeTAAACpElEQVQYGQXBWW8bVRgA0Hu/u814NsdxGsUxztJUzaJSVS1CCCTKE7zxxiP/gH+I+lKKQEVCLUlJ5YTsU8f2eJvxbHfjHLz7sKeU2mhNfvl579vnEPKUEUJxji1YoBaIob4m6+cX8Our/m99TBwmpKGV0hZjz+EO06FHOAKlFNKIcE+p8HYo3rwd/Xk8m+pVEjW4EzIFdjopVVG6Nt1ocpc3ALnIhqMRnF3afz6qd2flcMElAOWu3nm4tr6xMh2cyDpprqwBwdjQ0Uz9fXJ9el0lRTOekVQ13DCKvCXVWO7sdl6+/Gp01cbpv/uHPcqGlUKIr50NZq+Pi7mymrt+GOxvbz9+zKjS5OLi1uV/ZeObAC3un4qgt+c0bL8/v5qJ64WbaocIPC2HzbaDGCOeF0ySJI7vzz9eLuZFpfDq2lZWmd/fx6/e3twkuDIiL3KCysV83D+/xZ/1uhYXjuC6lg0BVk2fHPXcQMWD7L+bvJCettzhEPpgzRIxjbe3u6VMCcXWMEY5E9qisqo1QlRLjDVwxqxSQpBW5CFnSB2PaulyRleCSEtNhDPLltjkdQWYCC+gDVF6pHzU8z8/7IKgVFaVtshSWaQxA2Osz4FiokTQrLRrQCLIXzxr/fT94cFWVFlGmXExNQznnbbzaGcVgb0bJqO8kS5BzmusNAMdYN5mPlsihRh5sL7pRYHXQM+OOj/+8MV3Xx+2mmQ8qQZxkmfKSGXq1Odyt9MShByffKLgcc3JsqrHk3Eyumu6LbkYFHcfsjttSaR5OFP29H755nzw/sq8+yMh/sYKYiRL76dxzOqr9RBsmeisnCWqVlZaMIyxgC5U9eEy7p9awj0ByDiQ7XfgmyfRl0fRwZbb7bLVNmOOXynADDY3Hxzs7+WL5XSY/w/0MGrkMYhXjAAAAABJRU5ErkJggg==) no-repeat center"],
[2, :split, "background: linear-gradient(90deg, ##{intensity}0000 50%, #0000#{intensity} 50%)"],
[2, :albino, "filter: invert(100%);"],
].each do |cumulative_odds, name, style|
break unless rand(cumulative_odds) == 0
color = name
@traffic_style = style
end
if color != :red
Rails.logger.info " Lucky user #{@user.username} saw #{color} logo"
end
end
def require_logged_in_user
if @user
true

View File

@ -44,7 +44,7 @@
<div id="wrapper">
<div id="header">
<div id="headerleft">
<a id="l_holder" style="background-color: #<%= @traffic_color %>;"
<a id="l_holder" style="<%= @traffic_style %>"
href="/" title="<%= Rails.application.name %> (Current traffic: <%=
@traffic.to_i %>)"></a>