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

    −99

    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
    def self.find_or_create params
      if params[:rule_id].present?
        rule = new_from_params params
        return nil if rule.nil?
        parent_rule = Rule.find_by_id params[:rule_id]
    
        if parent_rule and Rule.calc_md5(rule.to_hash) == parent_rule.crc
          parent_rule.rule_id = parent_rule.id
          parent_rule.grouped_by = rule.grouped_by
          parent_rule.sorted_by = rule.sorted_by
          parent_rule.save
          return parent_rule
        end
        rule_id = params.delete :rule_id
      end
    
      params = clear_and_sort params
      if (rule = Rule.find_by_crc(Rule.calc_md5(params))).present?
        rule.rule_id = rule_id
        rule.grouped_by = params[:grouped_by]
        rule.sorted_by = params[:sorted_by]
        rule.save
      else
        rule = new_from_params params.merge(:rule_id => rule_id)
        rule.save
      end
      rule
    end

    Метод модели, используется для поиска, создания и чего-то еще...

    emerald, 19 Октября 2011

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

    −147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    {if $oUserProfile->getProfileIcq()}
    	<strong>{$aLang.profile_social_contacts}</strong>
    	<ul>
    	{if $oUserProfile->getProfileIcq()}
    		<li class="icq"><a href="http://www.icq.com/people/about_me.php?uin={$oUserProfile->getProfileIcq()|escape:'html'}" target="_blank">{$oUserProfile->getProfileIcq()}</a></li>
    	{/if}					
    	</ul>
    {/if}

    Smarty-шаблон. ActionProfile/sidebar.tpl (17-я строчка в скине "new") из LiveStreet.
    Озадачивают 1-я и 4-я строки. Типа: "А вдруг?!"

    alexoy, 17 Октября 2011

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

    −94

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    def format_price price, delimeter = ' '
      s, i = price.to_s.reverse, 0
      Array.new(s.size) do |n|
        c = n.zero? ? '' : ((i += 1) % 3).zero? ? delimeter.to_s : ''
        c + s[n, 1]
      end.join.reverse
    end

    10000 -> "10 000"
    Как такое вообще принято делать между ровными пацанами?

    LeshaXakir, 14 Октября 2011

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

    −93

    1. 1
    2. 2
    3. 3
    4. 4
    def properties
      Hash.send :[], *(self.class.column_names & self.class::PROPERTIES).
        inject([]) { |a, p| a << p.to_sym << send(p) }
    end

    это же очевидно

    LeshaXakir, 29 Сентября 2011

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

    −107

    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
    while 2 > 1 do
    			@command = io.gets();
    			case @command 
    				when 'version' 
    					puts('0.01 Alpha for developers SUPIRPUPIRSIKRIT');
    				when 'register, #{@arg}'
    					@name = @arg;
    					@name = User.new;
    					@name.register;
    					@name = '';
    					@arg ='';
    				when 'login, arg '
    					@user = @arg;
    					@user.login;
    					@user = '';
    				when 'quit'
    					server.shutdown;
    				else
    					puts(@command);
    			end 
    		end

    Извиняюсь за мультипост.
    P.S.: как здесь удалять посты?

    urm, 26 Сентября 2011

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

    −103

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    @name = @arg;
    @name = User.new;
    @name.register;
    @name = '';
    @arg ='';
    @user = @arg;
    @user.login;
    @user = '';

    Вырезан наиболее эпичный фрагмент кода

    urm, 26 Сентября 2011

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

    −105

    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
    def show
        @updates = UpdateList.new
        update_id = params[:update_id]
    
        if 'twitter' == @provider_key
          provider_api = ProviderApi::Twitter.new(current_user)
    
          if update_id.present?
            begin
              benchmark(" Twitter API: status") do
                @api_response = provider_api.status(update_id)
              end
              @update = update = SocialUpdate.from_twitter_response(@api_response, true)
              while update && (in_reply_to = update.in_reply_to_update_id)
                benchmark(" Twitter API: status") do
                  @previous_status = provider_api.status(in_reply_to)
                end
    
                if error = @previous_status['error']
                  @updates << SocialUpdate.from_twitter_error(error)
                  break
                else
                  update = SocialUpdate.from_twitter_response(@previous_status, true)
                  @updates << update
                end
              end
            rescue => e
              logger.info("Error in fetching status #{in_reply_to || update_id}: #{e}")
            end
          end
        end
    
        @update.flag_for_user(current_user) if @update
        @updates.flag_for_user(current_user)
      end

    sumskyi, 19 Сентября 2011

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

    −96

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <%products = Array.new
      count = Product.count(:conditions => "novelty = 'true'")
      while products.size < 10 do
        products << Product.find(:first, :conditions => "novelty = 'true'",:offset => rand(count))
        products.uniq!
      end-%>

    при количестве новинок меньше 10 получаем бесконечный цикл. счастье в продакшене, там sql запросы не пишутся в лог)

    malleus, 13 Сентября 2011

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

    −113

    1. 1
    2. 2
    3. 3
    4. 4
    def a
    print rand(1)
    end
    puts a

    Попытался нагадить… короче, puts puts 0

    nbvec222, 10 Сентября 2011

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

    −99

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    case klass
        when "Subject"
          case attr.to_sym
          when :screening_num then :screening_num
          when :subject_num then :subject_num
          end
        end

    это чО на всякий пожарный чтоли ?
    обратите внимание что klass это объект ActiveRecord а проверяется как стринг

    писал русский паренёк Дима ) а вы говорите индусы )

    koshak, 08 Сентября 2011

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