1. Список говнокодов пользователя Unnumbered

    Всего: 2

  2. Ruby / Говнокод #21703

    −100

    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)
  3. Ruby / Говнокод #20437

    −170

    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)