Class: Releases::Extension

Inherits:
Middleman::Extension
  • Object
show all
Defined in:
lib/releases/extension.rb

Instance Method Summary collapse

Constructor Details

#initialize(app, options_hash = {}, &block) ⇒ Extension

Returns a new instance of Extension.



10
11
12
# File 'lib/releases/extension.rb', line 10

def initialize(app, options_hash={}, &block)
  super
end

Instance Method Details

#after_configurationObject



14
15
16
17
18
# File 'lib/releases/extension.rb', line 14

def after_configuration
  @_releases = []

  determine_time_zone
end

#latest_releaseObject



24
25
26
# File 'lib/releases/extension.rb', line 24

def latest_release
  releases.first
end

#manipulate_resource_list(resources) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/releases/extension.rb', line 28

def manipulate_resource_list(resources)
  after_configuration

  resources.each do |resource|
    if resource.path =~ %r{#{options[:releases_dir]}\/v.*\/index\.html}
      layout = resource.[:options].fetch(:layout, options[:layout]).to_s
      resource.(options: { layout: layout })

      @_releases << Instance.from(resource, self)
    end
  end

  resources + [ latest_release_resource ] + latest_release_asset_resources
end

#releasesObject



20
21
22
# File 'lib/releases/extension.rb', line 20

def releases
  @_releases.sort_by(&:date).reverse
end