Class: Onboard::Release
- Inherits:
-
Object
- Object
- Onboard::Release
- Defined in:
- lib/onboard/release.rb
Instance Attribute Summary collapse
-
#core ⇒ Object
readonly
Returns the value of attribute core.
-
#doc ⇒ Object
readonly
Returns the value of attribute doc.
-
#feed ⇒ Object
readonly
Returns the value of attribute feed.
-
#project ⇒ Object
readonly
Returns the value of attribute project.
Instance Method Summary collapse
- #build_doc ⇒ Object
- #choose(version = '') ⇒ Object
-
#initialize(project, core) ⇒ Release
constructor
A new instance of Release.
- #releases_get ⇒ Object
- #specify(version, releases) ⇒ Object
Constructor Details
#initialize(project, core) ⇒ Release
Returns a new instance of Release.
13 14 15 16 17 |
# File 'lib/onboard/release.rb', line 13 def initialize(project, core) @core = core @project = project @doc = build_doc end |
Instance Attribute Details
#core ⇒ Object (readonly)
Returns the value of attribute core.
11 12 13 |
# File 'lib/onboard/release.rb', line 11 def core @core end |
#doc ⇒ Object (readonly)
Returns the value of attribute doc.
11 12 13 |
# File 'lib/onboard/release.rb', line 11 def doc @doc end |
#feed ⇒ Object (readonly)
Returns the value of attribute feed.
11 12 13 |
# File 'lib/onboard/release.rb', line 11 def feed @feed end |
#project ⇒ Object (readonly)
Returns the value of attribute project.
11 12 13 |
# File 'lib/onboard/release.rb', line 11 def project @project end |
Instance Method Details
#build_doc ⇒ Object
19 20 21 22 23 24 |
# File 'lib/onboard/release.rb', line 19 def build_doc feed = "#{DRUPAL_PRJ_FEED}#{project}/#{core}" Download.new.fetch(feed) xml = File.open(Download.new.path(feed)) Nokogiri::XML(xml) end |
#choose(version = '') ⇒ Object
34 35 36 37 38 39 40 41 42 43 |
# File 'lib/onboard/release.rb', line 34 def choose(version = '') releases = releases_get if version.empty? == false return specify(version, releases) elsif releases['stable'].empty? == false return releases['stable'].first elsif releases['extra'].empty? == false return releases['extra'].first end end |
#releases_get ⇒ Object
45 46 47 48 49 50 51 52 53 54 |
# File 'lib/onboard/release.rb', line 45 def releases_get releases = { 'stable' => {}, 'extra' => {} } doc.xpath('//releases//release').each do |item| md5 = item.at_xpath('mdhash').content version = item.at_xpath('version').content status = item.at_xpath('version_extra').nil? ? 'stable' : 'extra' releases[status][version] = md5 end releases end |
#specify(version, releases) ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/onboard/release.rb', line 26 def specify(version, releases) if releases['stable'][version].nil? == false return version, releases['stable'][version] elsif releases['extra'][version].nil? == false return version, releases['extra'][version] end end |