среда, 27 февраля 2008 г.

rake target task

Здравствуйте.

Вопрос по rake.
как можно узнать, что текущий таск - тот, который запрошен из командной строки?

Например:

rakefile:

task :t1 do
...
puts "T1 is what you want." if chtoto_tipa_final_task?(:t3)
end
task :t2 do
...
puts "T2 is what you want." if chtoto_tipa_final_task?(:t3)
end
task :t3 => [:t1, :t2] do
...
puts "T3 is what you want." if chtoto_tipa_final_task?(:t3)
end
-rakefile

Надо, чтоб так получалось:

cmd line:
>rake t1
T1 is what you want.
>rake t3
T3 is what you want.


Совсем чего-то в документации закопался, нучего не нахожу :(

x-post to  

upd: 
порадовало:
     # File lib/rake.rb, line 403
403: def needed?
404: true
405: end
upd2:
Rake::application.top_level_tasks

среда, 20 февраля 2008 г.

Долой баги из svn-dump'ов

SOURCE_FILE = 'dmp.bin'
CUTTED_FILE = 'dmp_cutted.txt'

cutarray = [
  [1433, 'Editors/TMMatEditor/Res/preview.bmp'],
  [1621, 'Editors/TMMatEditor/Res/Toolbar.bmp']
]

File.open(SOURCE_FILE, 'r'){|f|
  File.open(CUTTED_FILE, 'w'){ |tf|
    f.binmode
    tf.binmode

    cntr = 0
    curr_rev = 0
    skip_node = false
    header = true
    node_text = ''
    while !f.eof?
      if header
        5.times do
          tf.puts(f.gets)
        end
        header = false
      end
      ln = f.gets
      node_text += ln
      if ln[':']
        n,v = ln.split(': ')
        if (n == 'Content-length')
          if skip_node
            puts " skipping content "
            node_text = ''
            f.read(v.to_i + 1)
            cntr += 1
          else
            tf.puts node_text
            node_text = ''
            tf.write(f.read(v.to_i + 1))
          end
        elsif n == 'Revision-number'
          skip_node = false
          curr_rev = v.to_i
          print  " #{curr_rev}"
        elsif n == 'Node-path'
          skip_node = false
          cutarray.each{ |c|
            skip_node = true if (c[0] == curr_rev) and (v.chomp == c[1])
          }
        end
      end
    end

    puts "\nNodes cutted: #{cntr}"
  }
}

суббота, 9 февраля 2008 г.

кто здесь?

Если я, как обычный быдлочитатель - долго слежу за каким-нибудь изданием и, вдруг, оно портится я складываю на него пару матов и нахожу себе другое :) И вообще завел себе жж, нравится - читай, не нравится - с глаз долой, из френдов вон. Но стоит человеку получить место в обществе, заслужить Эн премий Икс, как вдруг оказывается, что (Боже мой!) газеты то портятся, СМИ опускаются в жопно-сортирные глубины и на заборах, оказывается, написано вовсе не где ближайшая библиотека и вообще, вокруг СТОЛЬКО говна, от которого так страдает хрупкая психика интеллигенции! Некоторые вещи делаются для казуалов и быдломассы, популяризация, знаете ли. Расстраиваться по этому поводу... или пытаться изменить содержание Массовых изданий и передач, путем воздействий на редакторов... Мне просто это смешно. Когда Некоторые являются "уважаемыми" людьми - смешно вдвойне. В хлеву - грязно, не вини фермера, что у него грязные сапоги.