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