sorry for the monster commit.... 4 small chores...1) moved tons of dynamic javascript to haml partials in the new js view folder, and moved some of the js that got put in the application layout into view.js 2. set up a static config prefrence loader in initializers, loaded from yaml 3) fixed the top right login text from being pushed over. 4) fixed a bug when no user is on the node and someone hits the landing page.... you still cant create a new user from there, but now at least it doesnt blow up.

This commit is contained in:
maxwell 2010-06-30 00:20:44 -07:00
parent 93a4ac6f9c
commit dc5b321b62
12 changed files with 92 additions and 78 deletions

View file

@ -1,6 +1,7 @@
class ApplicationController < ActionController::Base
protect_from_forgery :except => :receive
layout 'application'
before_filter :set_friends
layout :layout_by_resource

View file

@ -1,7 +1,6 @@
class BlogsController < ApplicationController
before_filter :authenticate_user!
def index
@blogs = Blog.paginate :page => params[:page], :order => 'created_at DESC'
end

View file

@ -0,0 +1,11 @@
:javascript
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-17207587-1']);
_gaq.push(['_setDomainName', '#{root_url}']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

View file

@ -0,0 +1,27 @@
- if user_signed_in?
- unless request.user_agent.include? "Safari" ||"Chrome"
= javascript_include_tag 'FABridge', 'swfobject', 'web_socket'
:javascript
WebSocket.__swfLocation = "/javascripts/WebSocketMain.swf";
:javascript
$(document).ready(function(){
function debug(str){ $("#debug").append("<p>" + str); };
ws = new WebSocket("ws://#{request.host}:8080/");
ws.onmessage = function(evt) {
var obj = jQuery.parseJSON(evt.data);
debug("got a " + obj['class']);
if((location.href.indexOf(obj['class']) != -1 ) || (location.pathname == '/')) {
$("#stream").prepend(
$(obj['html']).fadeIn("fast", function(){
$("#stream label:first").inFieldLabels();
}
)
);
};
};
ws.onclose = function() { debug("socket closed"); };
ws.onopen = function() {
ws.send(location.pathname);
debug("connected...");
};});

View file

@ -2,7 +2,8 @@
%html
%head
%title
= "diaspora"
= "diaspora "
= "- #{User.first.real_name}" if User.first
%meta{"http-equiv"=>"Content-Type", :content=>"text/html; charset=utf-8"}/
%meta{"http-equiv"=> "X-UA-Compatible", :content =>"chrome=1" }
@ -11,73 +12,12 @@
/= javascript_include_tag"http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"
= javascript_include_tag 'jquery142', 'rails', 'view', 'publisher'
= javascript_include_tag 'tiny_mce/tiny_mce.js','jquery.infieldlabel'
:javascript
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-17207587-1']);
_gaq.push(['_setDomainName', '#{root_url}']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
- unless request.user_agent.include? "Safari" ||"Chrome"
= javascript_include_tag 'FABridge', 'swfobject', 'web_socket'
:javascript
WebSocket.__swfLocation = "/javascripts/WebSocketMain.swf";
= render "js/google_a_js"
= render "js/websocket_js"
= csrf_meta_tag
= yield(:head)
- if user_signed_in?
:javascript
$(document).ready(function(){
function debug(str){ $("#debug").append("<p>" + str); };
ws = new WebSocket("ws://#{request.host}:8080/");
ws.onmessage = function(evt) {
var obj = jQuery.parseJSON(evt.data);
debug("got a " + obj['class']);
if((location.href.indexOf(obj['class']) != -1 ) || (location.pathname == '/')) {
$("#stream").prepend(
$(obj['html']).fadeIn("fast", function(){
$("#stream label:first").inFieldLabels();
}
)
);
};
};
ws.onclose = function() { debug("socket closed"); };
ws.onopen = function() {
ws.send(location.pathname);
debug("connected...");
};
$("#stream li").hover(function() {
$(this).children(".destroy_link").fadeIn(0);
}, function() {
$(this).children(".destroy_link").fadeOut(0);
});
// in field label plugin
$(".show_post_comments").click( function() {
if( $(this).hasClass( "visible" )) {
$(this).html($(this).html().replace("hide", "show"));
$(this).parents("li").children(".comments").fadeOut(100);
} else {
$(this).html($(this).html().replace("show", "hide"));
$(this).parents("li").children(".comments").fadeIn(100);
}
$(this).toggleClass( "visible" );
});
});
= javascript_include_tag 'satisfaction' , 'satisfaction-display'
%body

View file

@ -18,10 +18,13 @@
.container
- flash.each do |name, msg|
= content_tag :div, msg, :id => "flash_#{name}"
%div#huge_text
welcome back,
%span
= User.first.real_name.downcase
- if User.first
%div#huge_text
welcome back,
%span
= User.first.real_name.downcase
-else
%div#huge_text
you need to add a user first!
= yield

11
config/app_config.yml Normal file
View file

@ -0,0 +1,11 @@
development:
debug: true
socket_port: 8080
test:
debug: false
socket_port: 8081
production:
debug: false
socket_port: 8080

View file

@ -0,0 +1,2 @@
raw_config = File.read("#{Rails.root}/config/app_config.yml")
APP_CONFIG = YAML.load(raw_config)[Rails.env].symbolize_keys

View file

@ -11,7 +11,10 @@ module WebSocket
SocketRenderer.instantiate_view
end
EventMachine::WebSocket.start(:host => "0.0.0.0", :port => 8080, :debug =>true) do |ws|
EventMachine::WebSocket.start(
:host => "0.0.0.0",
:port => APP_CONFIG[:socket_port],
:debug =>APP_CONFIG[:debug]) do |ws|
ws.onopen {
sid = @channel.subscribe { |msg| ws.send msg }
@ -25,6 +28,4 @@ module WebSocket
def self.update_clients(object)
@channel.push(SocketRenderer.view_hash(object).to_json) if @channel
end
end

View file

@ -53,4 +53,23 @@ $(document).ready(function(){
$('#flash_notice, #flash_error, #flash_alert').delay(1500).slideUp(130);
$("#stream li").hover(function() {
$(this).children(".destroy_link").fadeIn(0);
}, function() {
$(this).children(".destroy_link").fadeOut(0);
});
// in field label plugin
$(".show_post_comments").click( function() {
if( $(this).hasClass( "visible" )) {
$(this).html($(this).html().replace("hide", "show"));
$(this).parents("li").children(".comments").fadeOut(100);
} else {
$(this).html($(this).html().replace("show", "hide"));
$(this).parents("li").children(".comments").fadeIn(100);
}
$(this).toggleClass( "visible" );
});
});//end document ready

View file

@ -64,10 +64,10 @@ header {
border: none;
top: 10px; }
header #session_action {
position: absolute;
right: 300px;
float: right;
font-size: 110%;
top: 7px; }
top: 7px;
padding-right: 10px; }
header #session_action a {
color: #cccccc;
border: none; }

View file

@ -71,14 +71,14 @@ header
:top 10px
#session_action
:position absolute
:right 300px
:float right
:font
:size 110%
:top 7px
a
:color #ccc
:border none
:padding-right 10px
#show_filters
:z-index 100