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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    scope :search_by_title, proc { |title|
      title = sanitize_sql(title).gsub(/'/, '').strip().split().join(':* &') << ":*"
      where("to_tsvector('english', title) @@ to_tsquery('english', '#{title}')").order("case when title ~* '^#{title}' then 1 else 2 end")
    }

    в рабочем проекте клиент решил, что он тоже программист.. я менять ничего не стал, просто дописал коммент про facepalm

    cheef, 15 Мая 2012

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

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    @mother_surname = @pre_mother_surname.surname
    if @mother_surname.last == "в" or @mother_surname.last == "н"
      @mother_surname = @mother_surname + "а"
    elsif @mother_surname.last == "й"
      @mother_surname[@mother_surname.length-1] = "я"
      @mother_surname[@mother_surname.length-2] = "а"
    end

    Генерация фамилии матери.

    ruby-code, 11 Мая 2012

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

    +2

    1. 1
    user.name = (data["name"]["full_name"].present?) ? data["name"]["full_name"] : ([data["name"]["last_name"], data["name"]["first_name"], data["name"]["middle_name"]].compact.join(" "))

    AnoAM, 28 Марта 2012

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

    +2

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

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

    cancerogen, 26 Марта 2012

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

    +3

    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
    # ищем позиции в гугле
       def search(request, keyword, p = nil)
          proxy = nil
       # инициализация прокси
          if p # обьект с прокси-серверами
             proxy = "http://#{p.proxy}/" # случайный прокси
             proxy_working = false 
             while not proxy_working
                begin
                   timeout(5) { open(request, :proxy => proxy) }
                rescue Timeout::Error
                   $log.put "bad broxy #{proxy}"
                   proxy = "http://#{p.proxy}/"
                   next
                rescue Errno::ECONNREFUSED
                   $log.put "bad broxy #{proxy}"
                   proxy = "http://#{p.proxy}/"
                   next
                rescue OpenURI::HTTPError
                   $log.put "bad broxy #{proxy}"
                   proxy = "http://#{p.proxy}/"
                   next
                else
                   $log.put "working #{proxy}"
                   proxy_working = true
                end
             end
          end
    # код

    baldrs, 20 Февраля 2012

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    def main_photo
      res = nil
      pics = self.pictures.not_price.all
      if pics && pics.any?
        res = pics.first
      end
      res
    end

    Это вторые рельсы :)

    Ладно он тут на 7 строчек расписал то, что решается одной, так еще вытаскивать всю коллекцию ради того, чтобы оттуда взять первый элемент - это что-то..

    MikDiet, 09 Февраля 2012

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

    +6

    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
    def actual?
        if self.from <= Date.today
          if self.to
            if self.to >= Date.today
              true
            else
              false
            end
          else
            true
          end
        else
          false
        end
      end

    метод в модели, проверяющий ее актуальность

    MikDiet, 31 Января 2012

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

    −2

    1. 1
    monthes = ['Нулября', 'Января', 'Февраля', 'Марта', 'Апреля', 'Мая', 'Июня', 'Июля', 'Августа', 'Сентября', 'Октября', 'Ноября', 'Декабря']

    Вот, оказывается, как лечится, что индексы в массиве начинаются с нуля, а номера месяца с 1

    solenko, 24 Января 2012

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    def make_case_insensitive_expr str
      Regexp.compile str.split('').inject('') { |memo, chr|
        memo << '[]'.insert(1, Regexp.escape(chr.downcase + chr.upcase))
      }
    end

    Awsum

    LeshaXakir, 16 Января 2012

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

    −1

    1. 1
    values = (1..diceCount).map { |item| 1 + rand(DiceSides)}

    потому что
    diceCount.times{values << 1+rand(DiceSides)}
    не круто.

    da4ever, 16 Января 2012

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