Sha256: 39b8338546e11269cb3d4e3739dd6759e3b5443ca976a0b122108f299f29dead

Contents?: true

Size: 544 Bytes

Versions: 36

Compression:

Stored size: 544 Bytes

Contents

desc 'listing of available traits per class/module'
task 'traits' do
  nodes = Hash.new{|h,k| h[k] = []}
  Dir['lib/**/*.rb'].each do |file|
    content = File.read(file)
    traits = content.grep(/^\s*trait\s*:/)
    traits.each do |trait|
      space = content[0..content.index(trait)].scan(/^\s*(?:class|module)\s+(.*)$/)
      space = space.flatten.join('::')
      nodes[space] << trait.strip
    end
  end

  nodes.each do |space, traits|
    puts space
    traits.each do |trait|
      print '  ', trait, "\n"
    end
    puts
  end
end

Version data entries

36 entries across 36 versions & 7 rubygems

Version Path
Pistos-ramaze-2009.04.08 tasks/traits.rake
Pistos-ramaze-2009.06.12 tasks/traits.rake
manveru-makura-2009.05.27 tasks/traits.rake
manveru-ramaze-2009.04.01 tasks/traits.rake
manveru-ramaze-2009.04.08 tasks/traits.rake
manveru-ramaze-2009.04.18 tasks/traits.rake
manveru-ramaze-2009.04.22 tasks/traits.rake
manveru-ramaze-2009.04 tasks/traits.rake
manveru-ramaze-2009.05.08 tasks/traits.rake
manveru-ramaze-2009.05 tasks/traits.rake
manveru-ramaze-2009.06.04 tasks/traits.rake
manveru-ramaze-2009.06.12 tasks/traits.rake
manveru-ramaze-2009.06 tasks/traits.rake
manveru-ramaze-2009.07 tasks/traits.rake
rjspotter-ramaze-2009.06.29 tasks/traits.rake
rjspotter-ramaze-2009.06.31 tasks/traits.rake
seedling-0.0.6 lib/templates/ramaze/tasks/traits.rake
makura-2012.01 tasks/traits.rake
ramaze-2011.01.30 tasks/traits.rake
ramaze-2011.01 tasks/traits.rake