- 1
Task.joins(:owners).where(:users => {:id => current_user}).order("tasks.weight DESC").limit(1).first
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−102
Task.joins(:owners).where(:users => {:id => current_user}).order("tasks.weight DESC").limit(1).first
−102
def route_match? origin, destination
origin.iata == origin and destination.iata == destination
end
В классе конечно определены методы origin и destination
−100
File.basename(File.basename(name, '.jpg'), '.png')
Файл либо с расширением .png, либо .jpg
−107
require File.expand_path(File.dirname(__FILE__) + '/../../../../../../usr/local/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/connection_adapters/sqlite3_adapter.rb')
−97
hash.to_a.select{|elem| elem[1].map{|st| st.from}.include? state}.map{|elem| elem[1].map{|inner| inner.to}.uniq}.flatten
−106
Dir["#{Rails.root}/lib/**/*"].select { |f| File.directory? f }.join(' ')
Рекурсивный список каталогов lib проекта Rails.
−99
Было (плохо):
<% @collection.each_with_index do |item, counter| -%>
<%= "<div class='group'>" if ((counter)/items_in_block).to_i*items_in_block == (counter) %>
<%= render :partial => 'item', :locals => { :item => item} %>
<%= "</div>" if (counter > 0 and (((counter+1)/items_in_block).to_i*items_in_block == (counter+1)) or ((counter+1) == @collection.size)) %>
<% end -%>
Стало (чуть лучше ;):
<% @collection.in_groups_of(items_in_block).each do |items| %>
<div class="group">
<% items.each do |item| %>
<%= render :partial => 'item', :locals => { :item => item} %>
<% end %>
</div>
<% end %>
Группировка элементов в группы div'ов.
−106
# progress bar
width = 60 # width of bar
com = 540 # input data
pr = com * 0.01
i = 0
j = width
v = 1
puts
while pr <= com
print "\r#{v}% [#{"|"*i}#{" "*j}]"
pr += com * 0.01
i += width * 0.01
j -= width * 0.01
v += 1
sleep(0.01)
end
puts
Консольный прогресс-бар.
−104
def query(sql)
begin
@mysql.query(sql)
rescue StandardError => err
@log.error("Mysql query: '#{sql}\n#{err}'") if @log.class == LoggerHandler
end
end
Говнообертка. LoggerHandler - класс, наследующийся от Logger.
Говнонюанс в том, что Logger.error возвращает true/false в зависимости от того была ли запись в лог успешной, что приводит потом к ошибкам вида NoMethodError: undefined method `each' for true:TrueClass
−100
N = 5
$mas = (1..N).to_a
$c = 0
def generate(l = 0)
if l == N-1
for i in 0..N-1 do
print("#{$mas[i]} ")
end
$c += 1; print("\n")
else
for i in l..N-1 do
t = $mas[l]; $mas[l] = $mas[i]; $mas[i] = t;
generate(l+1)
t = $mas[l]; $mas[l] = $mas[i]; $mas[i] = t;
end
end
return $c
end
p generate(0);