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

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    require 'aes'
    
    message = "Super secret message"
    key = "password"
    
    encrypted = AES.encrypt(message, key)    # RZhMg/RzyTXK4QKOJDhGJg==$BYAvRONIsfKjX+uYiZ8TCsW7C2Ug9fH7cfRG9mbvx9o=
    decrypted = AES.decrypt(encrypted, key)  # Super secret message

    https://blog.elpassion.com/simple-and-terrifying-encryption-story-c1f1d6707c07#.lryae7h7b

    Simple and Terrifying Encryption Story
    I wanted to build an app where users can encrypt and decrypt messages.
    ...
    I found an important bug and felt like it’s the right thing to do to share it.


    Господи, как страшно жыть. Один мудак пишет шифрование, не зная разницы между ключём и паролем, второй толком не валидирует пользовательский инпут в либе для шифрования. Действительно, TERRIFYING STORY, BRO.

    roman-kashitsyn, 13 Января 2017

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

    +1

    1. 1
    visible_discounts.map { |discount| !!((/\d+ ([a-z]+) ([a-z]+)/) =~ (discount.text.scan(/\d+\ promotional discount/)[0])) }.all? { |result| result == true }

    Встретил в тесте

    z41, 29 Декабря 2016

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

    0

    1. 1
    2. 2
    3. 3
    users = User.all
    users.sort_by! { |h| h[:created_at]}.reverse!
    user = users.first

    форматирование сохранено!!!11

    PS: хоть и стажёр писал, но всё же

    Unnumbered, 22 Ноября 2016

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    odd = false
    project[:data].each do |employee|
      odd = !odd
      klasse = (odd)? 'employee_odd' : 'employee_even'
    ............

    Для чередования цветов в таблице

    denpatin, 28 Октября 2016

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

    +2

    1. 1
    name_rus = (I18n.locale == :ru) ? true : false

    denpatin, 28 Октября 2016

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

    +4

    1. 1
    return unless successful == false

    dgkj, 27 Октября 2016

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

    +20

    1. 1
    2. 2
    3. 3
    tomorrow = Time.new() + (60 * 60 * 24)
    tomorrow_str = tomorrow.strftime("%F")
    tomorrow_day = Time.strptime(tomorrow_str,'%Y-%m-%d')

    Тот же проект - получаем начало след суток.

    SDK, 05 Октября 2016

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

    +21

    1. 1
    2. 2
    3. 3
    4. 4
    attr_name.to_s.gsub!('""', '"')
    if (attr_name[0,1] == '"' && attr_name[-1,1] == '"')
      attr_name[0..-1] = attr_name[1..-2]
    end

    рабочий проект...

    SDK, 05 Октября 2016

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

    +80

    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
    module SmsRu
      # Setup configuration
      mattr_accessor :api_id
    
      mattr_reader :queries
      @@queries = SmsRu::Config
    
      def self.setup
        yield self
      end
    
      # Sms.ru api settings
    
      # all possible queries is exactly 2 level deep
      @@stack_method ||= nil
    
      # we need to undefine method send because of we use it in the api
      class <<self
        undef_method :send
      end
    
      def self.method_missing(m, options = {})
        if @@stack_method
          query_options = queries.configuration.to_h[@@stack_method].to_h[m].to_h
          query_options.deep_merge!(api_id: api_id)
          query_options.deep_merge! options
    
          uri = URI.parse("http://sms.ru/#{@@stack_method.to_s}/#{m.to_s}")
          @@stack_method = nil
    
          response = Net::HTTP.post_form(uri, query_options)
    
          raise SmsRu::ConnectionError, 'you have troubles with internet connection or API query is missing' unless response.kind_of? Net::HTTPSuccess
          raise SmsRu::APIError, "something going wrong: query_options => #{query_options}, uri => #{uri}, response => #{response.body}" unless response.body.match(/^100/)
          response.body.split("\n")
        else
          @@stack_method = m
          return self
        end
      end
    end

    Опять руби притесняют :(

    сабж: https://github.com/asiniy/sms_ru/blob/master/lib/sms_ru.rb

    Unnumbered, 27 Июля 2016

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