Яuбy / Говнокод #5030 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
columns.each do |c|
        case c
        when 'Device'
          h << c
        when 'Usage'
          h << c
        when 'Status'
          h << c
        when 'Battery'
          h << c
        when 'GPS status'
          h << c
        when 'Wi-Fi status'
          h << c
        when 'Temperature'
          h << c
        when 'Alerts'
          h << c
        end
      end

случайно вот родил )

Dreamfall Dreamfall, (Updated )

Комментарии (2, +2)

Яuбy / Говнокод #4974 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
#!/usr/bin/ruby1.8

require 'mysql'
$KCODE = 'UTF8'

class Country
  @@country = Array.new
  @@insert_query = String.new
  @@db = Mysql

  def initialize(filename)
    file = File.open(filename)
    while !file.eof?
      value, index = file.readline.split(/\s+/u)
      @@country[index.to_i] = value.to_s
    end
    file.close
  end

  def database_connect
    @@db = Mysql.new('localhost','username','userpass','userdatabase')
    begin
      @@db.query("SET NAMES utf8")
    rescue
      puts @@db.error
    end
  end

  def create_query
    begin
      result = @@db.query("SELECT * FROM table")
    rescue
      puts @@db.error
    end
    result.each_hash do |field|
      @@country.each_index do |index|
      @@insert_query += "UPDATE table SET position = #{index} WHERE caption = '#{field['caption']}';" if @@country[index] == field['caption']
      end
    end
  end

  def execute_query
    begin
      @@insert_query.split(/;/u).each { |query| @@db.query(query) }
      puts "result: #{@@db.errno}" if @@db.errno
    rescue
      puts @@db.error
    end
  end

  def database_disconnect
    @@db.close
  end
end

cnt = Country.new('country.txt')
# connect to DB
cnt.database_connect
# construct query
cnt.create_query
# execute constructed query
cnt.execute_query
# close connect
cnt.database_disconnect

Ну можно же как-то сделать лучше?

avastor avastor, (Updated )

Комментарии (20, +20)

Яuбy / Говнокод #4913 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
def non_blank_attrs_amount
    return_value = 4
    return_value = return_value + 1 if (!country.blank?)
    return_value = return_value + 1 if (!address.blank?)
    return_value = return_value + 1 if (!phone.blank?)
    return_value = return_value + 1 if (!email.blank?)
    return_value = return_value + 1 if (!skype.blank?)
    return_value = return_value + 1 if (!site.blank?)
    return_value = return_value + 1 if (!comment.blank?)
    return_value.to_s
  end

Dreamfall Dreamfall, (Updated )

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

Яuбy / Говнокод #4440 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
def get_line_from_file(path, line)
  result = nil

  File.open(path, "r") do |f|
    while line > 0
      line -= 1
      result = f.gets
    end
  end

  return result
end

get_line_from_file("/tmp/foo.txt", 20)

(с) stackoverflow.com

Nakilon Nakilon, (Updated )

Комментарии (18, +18)

Яuбy / Говнокод #4213 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
self.values.each do |v|
      if v.is_a? Hash
        v.recursively_symbolize_keys!
      elsif v.is_a? Array
        v.recursively_symbolize_keys!
      end
end

Замечательная логика из одного сниппета :)

smileart smileart, (Updated )

Комментарии (1, +1)

Яuбy / Говнокод #3910 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
i = -1
ans = threes.map do |s|
  i+= 1
  n = s.to_i
  next if n == 0
  if i == 0
    nums[n]
  elsif i == 1
    # тысячи
    e = n % 10
    d = n % 100
    suff = ok_z[e]
    suff = ok_z[0] if d > 10 and d < 20
    t = nums[n]
    if e == 1 or e == 2 and not (d > 10 and d < 20)
      # один и два перед тысячами меняются.
      # не регексп, чтобы работал и юникод и однобайтные кодировки
      t = " " + t + " "
      t = t.sub(" один "," одна ").sub(" два "," две ")
      t = t[1..99].chop
    end
    t + (n!=0 ? " " : "") + threes_names[i-1] + suff
  else
    e = n % 10
    d = n % 100
    suff = ok_m[e]
    suff = ok_m[0] if d > 10 and d < 20
    nums[n] + (n!=0 ? " " : "") + threes_names[i-1] + suff
  end
end.reverse.compact.join(" ")
 
puts ans

evrial evrial, (Updated )

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

Яuбy / Говнокод #3843 Ссылка на оригинал

0

  1. 1
rhour=hour[0].to_s+hour[1].to_s+':'+hour[2].to_s+hour[3].to_s;

нужна была сортировка по времени, я сначала поубивал : потом надо отобразить в норм виде.. получилось это

homakov homakov, (Updated )

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

Яuбy / Говнокод #3786 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
@timestart = MyModel.lastUpdateTime - 1.hour

day = "#{@timestart.day}"
day = "0#{day}" if day.size<2
mon = "#{@timestart.mon}"
mon = "0#{mon}" if mon.size<2

start1 = "'#{@timestart.year}-#{mon}-#{day} #{@timestart.hour}:#{@timestart.min}:#{@timestart.sec}'"
a = MyModel.find(:all, :conditions=>[ "`datetime` > #{start1}" ]

без комментариев

vlad-druzh vlad-druzh, (Updated )

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