1. Ruby / Говнокод #12521

    −107

    1. 1
    @tag.url = @tag.name.downcase.gsub('А','a').gsub('а','a').gsub('Б','b').gsub('б','b').gsub('В','v').gsub('в','v').gsub('Г','g').gsub('г','g').gsub('Д','d').gsub('д','d').gsub('Е','e').gsub('е','e').gsub('Ё','ye').gsub('ё','e').gsub('Ж','j').gsub('ж','j').gsub('З','z').gsub('з','z').gsub('И','i').gsub('и','i').gsub('Й','i').gsub('й','i').gsub('К','k').gsub('к','k').gsub('Л','l').gsub('л','l').gsub('М','m').gsub('м','m').gsub('Н','n').gsub('н','n').gsub('О','o').gsub('о','o').gsub('П','p').gsub('п','p').gsub('Р','r').gsub('р','r').gsub('С','s').gsub('с','s').gsub('Т','t').gsub('т','t').gsub('У','u').gsub('у','u').gsub('Ф','f').gsub('ф','f').gsub('Х','h').gsub('х','h').gsub('Ц','ts').gsub('ц','ts').gsub('Ч','ch').gsub('ч','ch').gsub('Ш','sh').gsub('ш','sh').gsub('Щ','sh').gsub('щ','sh').gsub('Ъ','').gsub('ъ','').gsub('Ы','y').gsub('ы','y').gsub('Ь','').gsub('ь','').gsub('Э','e').gsub('э','e').gsub('Ю','you').gsub('ю','you').gsub('Я','ya').gsub('я','ya').gsub('`','').gsub(' ','-')

    Оригинальный подход к транслитерации

    heckfy, 31 Января 2013

    Комментарии (2)
  2. Ruby / Говнокод #12087

    −109

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    #Кусок красивого кода контроллера сайта на Ruby On Rails
    class QuestionsController < ApplicationController
    
      #Извлекаем отвеченные вопросы методом говнокода
      def answered
          @subtitle = "Отвеченные"
          #Нам нужны все-все-все вопросы и даже не отвеченные. Скрестим пальцы на случай если их будет много
          @questions = Question.all
          #Обязательно преобразуем все в массив, сделаем N+1 запрос и успешно отфильтруем вопросы без ответа
          @questions.to_a.delete_if { |q| q.answer.nil? }
          #Чуть не забыл, нам же нужно извлечь 10 вопросов для 2-й страницы, а не все что есть
          paginate(@questions)
          #PROFIT
          render "index"
      end
    
    end

    Ну в общем, код хорошо прокоментирован, думаю все и так ясно. =)

    SunnyMagadan, 09 Ноября 2012

    Комментарии (5)
  3. Ruby / Говнокод #11974

    −153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    class ProblemsController < ApplicationController
    
      MAX_TAGS_PER_PROBLEM = 5
    
      def self.MAX_TAGS_PER_PROBLEM
        MAX_TAGS_PER_PROBLEM
      end
    end

    antono, 22 Октября 2012

    Комментарии (10)
  4. Ruby / Говнокод #11763

    −166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    class User < ActiveRecord::Base
        
      def full_name
      	user_info=User.find(self.id)
      	[user_info.name,user_info.surname].join(" ")
      end
    end

    Получаем полное имя себя

    1101_debian, 13 Сентября 2012

    Комментарии (8)
  5. Ruby / Говнокод #11684

    −157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    class SomeModel < ActiveRecord::Base
      after_save :some_method
    
      def some_method
        self.save
      end
    
    end

    Рекурсивная рекурсия рекурсивна.

    mr.The, 31 Августа 2012

    Комментарии (2)
  6. Ruby / Говнокод #11643

    −160

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    <div class="comment-content">
      		<% if comment.body.include?('[/quote]') %>
      			<% @text = Array.new %>
      			<% summ = '' %>
      			<% @text = simple_format(comment.body).split(' ') %>
      			<% namecheck = false %>
      			<% contentcheck = false %>
      			<% quotestart = false %>
      			<% donothing = true %>
      			<% quotecount = 0 %>
      			<% count_quotes = 0 %>
      			<% @text.each do |t| %>
      				<% if t.include?('[/quote]') %>
      					<% count_quotes ||= 0 %>
      					<% count_quotes += 1 %>
      				<% end %>
      			<% end %>
      			<% @text.each do |t| %>
      				<% if t.include?('[/quote]') %>
      					<% contentcheck = false %>
      					<% namecheck = false %>
      					<% t = t.gsub('[/quote]', '</div></div>') %>
      				<% elsif t.include?('[quote=') %>
      					<% namecheck = true %>
      					<% donothing = false %>
      					<% t = t.gsub('[quote=', '') %>
      				<% elsif t.include?(']') %>
      					<% t = t.gsub(']', '') %>
      				<% end %>
      				<% if donothing == false %>
      					<% if contentcheck == true and namecheck == true and t != '' and t != '<p>' and t != '</p>' %>
      						<% t = '<div class=quotecontent>' + '<div class=quotestart>' + '<div class=quotename>' + 'Цитата - ' + t + '</div>' %>
      						<% contentcheck = true %>
      						<% namecheck = false %>
      					<% elsif contentcheck == true and t != '' and t != '<p>' and t != '</p>' %>
      						<% t = '<div class=quotecontent>' + t %>
      						<% contentcheck = false %>
      					<% elsif namecheck == true and t != '' and t != '<p>' and t != '</p>' %>
      						<% t = '<div class=quotestart>' + '<div class=quotename>' + 'Цитата - ' + t + '</div>' %>
      						<% namecheck = false %>
      						<% contentcheck = true %>
      					<% end %>
      				<% end %>
      				<% summ = summ + t + ' ' %>
      			<% end %>
      		<% else %>
      			<% summ = comment.body %>
      		<% end %>
        	<%=raw simple_format(summ) %>
        </div>

    Вьюха списка комментариев. Когда это попало к верстальщику - он был мягко говоря шокирован.

    ruby-code, 24 Августа 2012

    Комментарии (20)
  7. Ruby / Говнокод #11601

    −379

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if city.present?
      if city.city.present?
        city = city.city
      else
        city = "NIL"
      end
    else
      city = "NIL"
    end

    Нечто

    bulka, 16 Августа 2012

    Комментарии (37)
  8. Ruby / Говнокод #10622

    −84

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    def self.allow_some_behaviour?
      # better safe than sorry.
      bool = !false ? !false : !!false
    
      # type checking
      if bool
    
        # short circuit just in case
        return !true;
      elsif !bool
        return !false
      end
    end

    найдено в реальном проекте, работало в течении года где то. зачем это сделано - непонятно. почему не выпилили, тоже неясно.

    malleus, 08 Июня 2012

    Комментарии (4)
  9. Ruby / Говнокод #10518

    −98

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    def confirmed
      if self.confirmation
        "Да"
      elsif !self.confirmation
          "Нет"
      else
          ""
      end
    end

    забавно:)

    emerald, 02 Июня 2012

    Комментарии (14)
  10. Ruby / Говнокод #9768

    −102

    1. 1
    Money.new(v[:amount].gsub('.','').to_i)

    а вы умеете так переводить баксы в центы?

    cancerogen, 26 Марта 2012

    Комментарии (4)