Class: Onboard::Core
- Inherits:
-
Object
- Object
- Onboard::Core
- Defined in:
- lib/onboard/core.rb
Instance Attribute Summary collapse
-
#codebase ⇒ Object
readonly
Returns the value of attribute codebase.
Instance Method Summary collapse
- #collector ⇒ Object
- #drupal(file) ⇒ Object
- #info ⇒ Object
-
#initialize(codebase) ⇒ Core
constructor
A new instance of Core.
- #parser(file, v, pattern) ⇒ Object
- #pressflow(file) ⇒ Object
- #pressflow?(file) ⇒ Boolean
Constructor Details
#initialize(codebase) ⇒ Core
Returns a new instance of Core.
9 10 11 |
# File 'lib/onboard/core.rb', line 9 def initialize(codebase) @codebase = codebase end |
Instance Attribute Details
#codebase ⇒ Object (readonly)
Returns the value of attribute codebase.
7 8 9 |
# File 'lib/onboard/core.rb', line 7 def codebase @codebase end |
Instance Method Details
#collector ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 |
# 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) ⇒ Object
22 23 24 25 26 |
# File 'lib/onboard/core.rb', line 22 def drupal(file) pattern = /.*?"(.*?)".*$/ v = /version/ parser(file, v, pattern) end |
#info ⇒ Object
47 48 49 50 51 52 53 54 55 |
# 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) ⇒ Object
13 14 15 16 17 18 19 20 |
# 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) ⇒ Object
28 29 30 31 32 |
# File 'lib/onboard/core.rb', line 28 def pressflow(file) pattern = /^.*?,\s\'(.*?)\'.*$/ v = /define\(\'VERSION/ parser(file, v, pattern) end |
#pressflow?(file) ⇒ Boolean
57 58 59 60 61 62 63 64 65 |
# 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 |