This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class DecencyValidator < ActiveModel::Validator | |
def validate(record) | |
I18n.locale = record.locale | |
record.errors[:base] = I18n.t(:bad_words_warning) if filter_body(record.body, I18n.t(:bad_words).split( /, */ ) ).present? | |
end | |
private | |
def filter_body( check_str = "", prohibited_words = [] ) | |
return nil if check_str.blank? || prohibited_words.blank? | |
return check_str.downcase.gsub!(/[^a-z]/, " ").split(" ").uniq.map { |w| w if prohibited_words.include?( w ) }.compact! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
////in questions#create action | |
if filter_profanity( @question.body, I18n.t(:bad_words).split( /, */ ) ).present? | |
redirect_to @question, :alert => I18n.t(:bad_words_warning) and return | |
end | |
///in the application controller |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$number_h: 157px; | |
#money_amount span { | |
background-image: url(numbers.png); | |
background-repeat:no-repeat; | |
height:$number_h; | |
width:94px; | |
display:block; | |
float:none; | |
margin:0 auto; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def self.destroy_and_remove_events(params) | |
question = Question.find params[:question_id] | |
transaction do | |
answers_to_del, comments_to_del = [], [] | |
answers = question.answers; | |
comments = []; answers.each {|a| comments << a.comments; answers_to_del << a.id}; comments.flatten! | |
comments.each{|c| comments_to_del = c.id} | |
TimelineEvent.delete_all(["subject_type = 'Answer' AND ( subject_id IN (?) )", answers_to_del.to_a.join(',')]) if answers_to_del.present? | |
TimelineEvent.delete_all(["subject_type = 'Comment' AND ( subject_id IN (?) )", comments_to_del.to_a.join(',')]) if comments_to_del.present? | |
TimelineEvent.delete_all(["subject_type = 'Question' AND ( subject_id = ? )", question.id]) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if resource.state_is?("suspended") | |
scoped = Devise::Mapping.find_scope!(resource) | |
Devise.sign_out_all_scopes ? sign_out : sign_out(scoped) | |
flash[:alert] = "You're suspended!" | |
redirect_to root_path and return | |
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if profile_route.nil? || !profile_route.respond_to?(profile.to_sym) | |
self.profile_route = {profile.to_sym => panda_video.encodings.find_by_profile_name('h264').url} | |
panda_url = profile.to_sym => panda_video.encodings.find_by_profile_name(profile).url | |
self.profile_route = {profile.to_sym => panda_url} if panda_url.present? | |
self.save | |
else profile_route.has_key?(profile.to_sym) && profile_route[profile.to_sym].blank? | |
self.update_attribute(profile_route[profile.to_sym], panda_video.encodings.find_by_profile_name(profile).url) | |
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
begin | |
SystemTimer.timeout_after(5, MyCustomTimeoutException) do | |
profile_pic = Koala::Facebook::GraphAPI.new.get_picture(fb_uid, :type => "large") | |
end | |
rescue MyCustomTimeoutException => e | |
ENV['BTS_HOST'] + "/images/missing.png" | |
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def self.fetch_accounts(token) | |
results = nil | |
results = Gattica.new({ :token => token, | |
:profile_id => GoogleAnalytics.config[:profile_id], | |
:timeout => 500 }) if token.present? | |
if results.blank? | |
results = Gattica.new({ :email => GoogleAnalytics.config[:email], | |
:password => GoogleAnalytics.config[:password], | |
:profile_id => GoogleAnalytics.config[:profile_id], | |
:timeout => 500 }) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
describe "fetch_accounts" do | |
context "when token does not exist or is expired" do | |
it "returns the google analytics object from the api using creds in the yml" do | |
@ga = Gattica.stub_chain(:new, {:email => GoogleAnalytics.config[:email], :password => GoogleAnalytics.config[:password], :profile_id => GoogleAnalytics.config[:profile_id] }).and_return(:auth_token => "DQAAAN4AAABQD6mcU0By5D8asC_zHKAGsGHS8x6npk8Z2N8rnBJao2HsnKWYfZq4xhCudhnhi9rf5SxJ3hMjO3l5AJapphS0grTxKyD9ydtcEP-KXsyF50ptyoq9obtZ3Fxoz6iEYzbP9SiPmV5DOhZ3Qv-oYt9hvCNUOtUBi5mCQXUH-mtWEUhdi3-7CvK6vwusvfhW3_FgQoKX48HwSkf5EnWNTUeF28s6Xgra4jPvY") | |
Analytics.fetch_accounts(nil).should eq @ga | |
end | |
end | |
context "when token exists" do | |
it "returns the google analytics object from the api using the token" do |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$(".editable_question").each(function(){ | |
//setup editing of owned questions | |
var args = {data: function(value, settings) { | |
// Unescape HTML | |
var retval = value | |
.replace(/&/gi, '&') | |
.replace(/>/gi, '>') | |
.replace(/</gi, '<') | |
.replace(/"/gi, "\""); | |
return retval; |