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

    −51

    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
    prepared_items = @cart.prepare_sort
        errors = []
        orders = []
    
        ActiveRecord::Base.transaction do
          address_create = create_new_address address_params if order_params[:address_attributes].present?
    
          prepared_items.each do |type, items|
            next unless items.present?
    
            user = current_user.class.name == 'User' ? { user_id: current_user.id } : { user_id: nil }
    
            case type
              when :order    then @order = Order.new(order_params.merge(user))
              when :preorder then @order = Order.new(order_params.merge(user.merge(status: 'preorder')))
              when :b_y      then @order = Order.new(order_params.merge(user.merge(delivery: 'pick_up', store_id: Settings.store.for_by)))
            end
    
            @order.is_mobile = mobile_device?
            @order.promo_code = @cart.promo_code
            @order.promotion = Promotion.for_line_items(@cart)
    
            good_promotion = Promotion.good_promotion_with_bonus(@cart)
            if good_promotion && @cart.used_promotion_discount > 0
              @order.bonus_promotion = good_promotion.promotion
              @order.stored_bonus_promotion_discount = @cart.used_promotion_discount
            end
    
            items.each{ |item| @order.add_line_item item }
            address_create.orders << @order if address_create.present?
    
            if @order.save
              orders << @order
            else
              errors += @order.errors.full_messages
            end
          # Are you fucking serious?
          end if errors.empty?

    чувак спутал цикл и each с блоком, печалька. код из реального проекта

    Запостил: tribals, 07 Апреля 2016

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

    • ужасное количество лексемм в руби
      как вы только на нем пишите?
      Ответить
      • Это ты еще С++ не видел.
        Ответить
        • но от С++ я и не жду простоты

          а тут же типа скриптовый язык
          программерс бест френд
          Ответить
        • перла не видел, да
          Ответить

    Добавить комментарий