1 # ohcount.rb written by Mitchell Foral. mitchell<att>caladbolg.net.
2 # See COPYING for license information.
3 # Ohcount module tweaked for use by Ohloh.
5 $: << File.expand_path(File.dirname(__FILE__))
6 $: << "#{File.expand_path(File.dirname(__FILE__))}/#{`#{File.dirname(__FILE__)}/print_arch`.strip}"
12 def file_location=(value) set_diskpath(value) end
13 def file_location() diskpath() end
14 def filenames=(value) set_filenames(value) end
15 def polyglot() get_language() end
19 return data unless data.respond_to?(:force_encoding)
20 data.force_encoding(Encoding.default_external)
23 def language_breakdowns
24 list = get_parsed_language_list()
25 return array_from_list(list, :pl)
28 def language_breakdown(language)
29 return language_breakdowns().find { |lb| lb.name == language.to_s }
33 list = get_license_list()
34 array = array_from_list(list, :lic)
35 return array.map! { |l| l.name }
39 return language_breakdowns().collect { |lb| lb.name }
44 return array_from_list(list, :loc)
49 ret = array_from_list(list, :delta)
51 def loc_deltas() self end
57 filenames.each { |f| yield f }
62 def array_from_list(list, method)
66 array << iter.send(method)
77 yield iter.sf if iter.sf.polyglot
82 # this should yield each filename, not an sf object
86 yield iter.sf.filename if iter.sf
103 def self.binary_filename?(filename)
104 return Ohcount.ohcount_is_binary_filename(filename) == 1