class Onboard::Core
Attributes
codebase[R]
Public Class Methods
new(codebase)
click to toggle source
# File lib/onboard/core.rb, line 9 def initialize(codebase) @codebase = codebase end
Public Instance Methods
collector()
click to toggle source
# File lib/onboard/core.rb, line 34 def collector i = {} Find.find(codebase) do |e| next unless File.file?(e) i['drupal'] = drupal(e) if %r{modules/system/system\.info$} =~ e i['pressflow'] = pressflow(e) if %r{modules/system/system\.module$} =~ e if /includes\/bootstrap\.inc$/ =~ e i['distro'] = pressflow?(e) ? 'pressflow' : 'drupal' end end i end
drupal(file)
click to toggle source
# File lib/onboard/core.rb, line 22 def drupal(file) pattern = /.*?"(.*?)".*$/ v = /version/ parser(file, v, pattern) end
info()
click to toggle source
# File lib/onboard/core.rb, line 47 def info core = {} i = collector version = i['pressflow'].nil? ? i['drupal'] : i['pressflow'] core['distro'] = i['distro'] core['version'] = version core['major'] = "#{version.scan(/^(.*?)\..*$/)[0][0]}.x" core end
parser(file, v, pattern)
click to toggle source
# File lib/onboard/core.rb, line 13 def parser(file, v, pattern) open(file) do |f| f.each_line.find do |line| next unless v.match(line) return line.scan(pattern)[0][0] unless line.scan(pattern)[0].nil? end end end
pressflow(file)
click to toggle source
# File lib/onboard/core.rb, line 28 def pressflow(file) pattern = /^.*?,\s\'(.*?)\'.*$/ v = /define\(\'VERSION/ parser(file, v, pattern) end
pressflow?(file)
click to toggle source
# File lib/onboard/core.rb, line 57 def pressflow?(file) pattern = /drupal_page_cache_header_external/ open(file) do |f| f.each_line.find do |line| next unless pattern.match(line) return true end end end