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

    −101

    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
    def type
        return 'Anonymous'   if self.builtin == BUILTIN_ANONYMOUS
        return 'Non Member'  if self.builtin == BUILTIN_NON_MEMBER
        return 'Member'      if self.builtin == BUILTIN_MEMBER
        return 'User'        if self.builtin == BUILTIN_USER
        return 'Manager'     if self.builtin == BUILTIN_MANAGER
        return 'Architect'   if self.builtin == BUILTIN_ARCHITECT
        return 'Designer'    if self.builtin == BUILTIN_DESIGNER
        return 'Customer'    if self.builtin == BUILTIN_CUSTOMER
        return 'Vendor'      if self.builtin == BUILTIN_VENDOR
        return 'Dealer'      if self.builtin == BUILTIN_DEALER
      end
    
      def require_name
        return 'is_anonymous'   if self.builtin == BUILTIN_ANONYMOUS
        return 'is_non_member'  if self.builtin == BUILTIN_NON_MEMBER
        return 'is_member'      if self.builtin == BUILTIN_MEMBER
        return 'is_user'        if self.builtin == BUILTIN_USER
        return 'is_manager'     if self.builtin == BUILTIN_MANAGER
        return 'is_architect'   if self.builtin == BUILTIN_ARCHITECT
        return 'is_designer'    if self.builtin == BUILTIN_DESIGNER
        return 'is_customer'    if self.builtin == BUILTIN_CUSTOMER
        return 'is_vendor'      if self.builtin == BUILTIN_VENDOR
        return 'is_dealer'      if self.builtin == BUILTIN_DEALER
      end

    еще ниже в модели

    opak, 10 Декабря 2011

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

    −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
    # Return all the permissions that can be given to the role
      def for_set_permissions
        permissions = Abt::AccessControl.permissions
        permissions = Abt::AccessControl.user_permissions      if self.builtin == BUILTIN_USER
        permissions = Abt::AccessControl.manager_permissions   if self.builtin == BUILTIN_MANAGER
        permissions = Abt::AccessControl.architect_permissions if self.builtin == BUILTIN_ARCHITECT
        permissions = Abt::AccessControl.designer_permissions  if self.builtin == BUILTIN_DESIGNER
        permissions = Abt::AccessControl.customer_permissions  if self.builtin == BUILTIN_CUSTOMER
        permissions = Abt::AccessControl.vendor_permissions    if self.builtin == BUILTIN_VENDOR
        permissions = Abt::AccessControl.dealer_permissions    if self.builtin == BUILTIN_DEALER
        permissions - Abt::AccessControl.public_permissions
      end

    Сурово

    opak, 10 Декабря 2011

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

    −102

    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
    <div class="pane">
            <% #Вывод материалов
               if pms.size > 0 %>
                <% for pm in pms do %>
                    <div class="mat">
                      <div><%= pm.name %></div>
                      <p>art. <%= pm.id %></p>
                      <%= image_tag pm.image.url(:small) %>
                      <%= link_to 'Выбрать +', '#' %>
                    </div>
                <% end %>
            <% end %>
          </div>

    ПМС =)

    opak, 10 Декабря 2011

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

    −103

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    class Person < ActiveRecord::Base  
    def self.current=(person)
        @current_people = person
      end
      def self.current
        @current_people
      end
    end

    Определяют текущего пользователя в модели=)

    opak, 10 Декабря 2011

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

    −100

    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
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    module ModelHelper
      extend ActiveSupport::Concern
    
      module InstanceMethods
    
        def prepare_url
          "http://#{Banjo::Application.config.short_url_host}"
        end
    
        def adjust_comment(text, url, max_len)
          maximum_text_length = max_len - url.length - 1
          if text.length > maximum_text_length
            text = text[0, maximum_text_length - 3] + "..."
          end
          if url.present?
            message = [text, url].join(' ')
          else
            message = text
          end
          message
        end
    
        def fullname_to_first_last_initial(fullname)
          name_token = fullname.split(/ /)
          last_initial = (name_token.length > 1) ? name_token.pop.first : nil
          first = name_token.join(' ')
          return (last_initial.nil?) ? first : "#{first} #{last_initial}"
        end
    
      end
    
      module ClassMethods
    
        def adjust_comment(text, url, max_len)
          maximum_text_length = max_len - url.length - 1
          if text.length > maximum_text_length
            text = text[0, maximum_text_length - 3] + "..."
          end
          if url.present?
            message = [text, url].join(' ')
          else
            message = text
          end
          message
        end
    
        def fullname_to_first_last_initial(fullname)
          name_token = fullname.split(/ /)
          last_initial = (name_token.length > 1) ? name_token.pop.first : nil
          first = name_token.join(' ')
          return (last_initial.nil?) ? first : "#{first} #{last_initial}"
        end
    
      end
    
    end

    DRY principle in action

    sumskyi, 09 Декабря 2011

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

    −127

    1. 1
    Папка, создаваемая USB Disk Antivirus в корне всех дисков предотвращает заражение компьютера через Autorun. Пожалуйста не изменяйте и не удаляйте ее.

    Напомнило кое-что.

    dos_, 30 Ноября 2011

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

    −109

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    command = gets.chomp
    while command != 'ПОКА'
    	if command != command.upcase
    		puts 'АСЬ?! ГОВОРИ ГРОМЧЕ, ВНУЧЕК!'
    	else
    		puts 'НЕТ, НИ РАЗУ С 1938 ГОДА!'
    	end
    end
    puts 'ПОКА, ВНУЧЕК!'

    Нашёл ошибку, лишь когда вписывал код сюда.
    Бесконечный цикл, как видите.

    nbvec222, 01 Ноября 2011

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

    −96

    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
    <% if request.url.to_s.include? "pages/advantages"%>
        <%= render :partial => 'includes/buttondown' %>
      <% end %>
      <% if request.url.to_s.include? "pages/business-subscription"%>
        <%= render :partial => 'includes/buttondown' %>
      <% end %>
       <% if request.url.to_s.include? "pages/connect"%>
        <%= render :partial => 'includes/buttondown' %>
      <% end %>
       <% if request.url.to_s.include? "reservation/new"%>
        <%= render :partial => 'includes/buttondown' %>
      <% end %>
       <% if request.url.to_s.include? "pages/magazines"%>
        <%= render :partial => 'includes/buttondown' %>
      <% end %>
       <% if request.url.to_s.include? "pages/equipments"%>
        <%= render :partial => 'includes/buttondown' %>
      <% end %>

    Нету слов.

    super_p, 28 Октября 2011

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

    −101

    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
    class CheckDatabaseYmlEncoding < ActiveRecord::Migration
      def self.up
        config   = Rails::Configuration.new
        ['development', 'production' ].each { |env|
          db_config = config.database_configuration[env];
          if db_config
            if db_config['encoding'] != 'utf8'
              msg = "please use encoding: utf8 in database.yml's #{env} configuration"
              Rails.logger.error(msg)
              raise msg 
            else
              Rails.logger.info("database.yml's #{env} configuration is using encoding: utf8. Good !" )
            end
          else
            Rails.logger.error("#{env} is missing in database.yml" )
          end
        }
    
      end
    
      def self.down
      end
    end

    Задорная миграция

    Fester, 27 Октября 2011

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

    −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
    # Work fine only on call with has_many association
    def self.new_from_params options
      new_rule = Rule.new
      return nil if new_rule.project_id.nil?
    
      rule = Rule.find_by_id options[:rule_id]
      if rule.nil? or (new_rule.project.id != rule.project.id)
        rule = Rule.new
      end
    
      new_rule.rule_id = options[:rule_id]
      new_rule.users = (rule.users.to_a + options[:users].to_a).uniq
      new_rule.statuses = (rule.statuses.to_a + options[:statuses].to_a).uniq
      new_rule.tags = (rule.tags.to_a + options[:tags].to_a).uniq
      new_rule.grouped_by = options[:grouped_by].presence || rule.grouped_by.presence
      new_rule.sorted_by = options[:sorted_by].presence || rule.sorted_by.presence
      new_rule.search = options[:search].presence || rule.search.presence
      new_rule.period_start = options[:period_start].presence || rule.period_start.presence
      new_rule.period_end = options[:period_end].presence || rule.period_end.presence
    
      new_rule
     end

    emerald, 21 Октября 2011

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