middleman-vcs-time 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 365f56104ba7f707ba587d1bb48fa6f3a1950c1b
4
- data.tar.gz: 4a836554e2f209050cc51b834326b80c579c9971
3
+ metadata.gz: 7968930fda9cd6d292ee50dc5dca313e7db31f40
4
+ data.tar.gz: 2bd471546abc65091f441d91effe27df624da306
5
5
  SHA512:
6
- metadata.gz: 904f9674e4b1847340c9ecafbdc99d4e18a06afa0bca1bb1937b03a6ad4afddde997b71575cb6dd4ca13309cc24d97b25a58835b558271f96b88d730faab33c1
7
- data.tar.gz: 412c360e0baf237f00fa48923705fc7d9ffdad115afcab30b3ba48702d0a1d9393e2fb52eb614a8b39578b3752c5b15d3e6dfef5a2332bf93694c3b78e478df0
6
+ metadata.gz: 6eebe78f242967f2cf77516227719e745955ace6c1a16adad3bfcdb31e80baf4d7c1f178a11c77028004a4d1264002422301d5a21c3eaea52ae36e92d4228ffe
7
+ data.tar.gz: 7b125ad296c92396659e7750a91a51d116fb7a630be7e7dd09b9312d88aeb82d7197e9e4031308e54aa6a5790b340a561b2cd1a7dc243d1d535974ee0811e04a
data/.gitignore CHANGED
@@ -1,6 +1,11 @@
1
+ # Appraisal
2
+ /gemfiles/*.gemfile.lock
3
+
4
+ # Aruba
5
+ /tmp
6
+
1
7
  # Bundler
2
8
  /Gemfile.lock
3
9
 
4
- # Packaging
10
+ # RubyGems
5
11
  /pkg
6
- /tmp
@@ -2,6 +2,13 @@ env:
2
2
  - CUCUMBER_FORMAT=pretty
3
3
  language: ruby
4
4
  rvm:
5
- - 2.0.0
6
- - 2.1.2
5
+ - 2.2.5
6
+ - 2.3.1
7
+ gemfile:
8
+ - gemfiles/middleman_4.0.gemfile
9
+ - gemfiles/middleman_4.1.gemfile
10
+ - gemfiles/middleman_unreleased.gemfile
11
+ matrix:
12
+ allow_failures:
13
+ - gemfile: gemfiles/middleman_unreleased.gemfile
7
14
  script: bundle exec rake test
@@ -0,0 +1,5 @@
1
+ unreleased = { github: 'middleman/middleman', branch: 'master' }
2
+
3
+ appraise('middleman_4.0') { gem 'middleman-core', '~> 4.0.0' }
4
+ appraise('middleman_4.1') { gem 'middleman-core', '~> 4.1.0' }
5
+ appraise('middleman_unreleased') { gem 'middleman-core', unreleased }
data/Gemfile CHANGED
@@ -2,18 +2,12 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- group :development do
6
- gem 'middleman', github: 'middleman/middleman', branch: 'v3-stable'
7
- gem 'rake'
8
- gem 'rdoc'
9
- gem 'travis'
10
- gem 'websocket-native'
11
- gem 'yard'
12
- end
5
+ gem 'middleman-core', github: 'middleman/middleman', branch: 'master'
13
6
 
14
7
  group :test do
15
- gem 'aruba'
16
- gem 'cucumber'
17
- gem 'fivemat'
8
+ gem 'appraisal', '~> 2.0'
9
+ gem 'aruba', '~> 0.14'
10
+ gem 'capybara', '~> 2.4'
11
+ gem 'cucumber', '~> 2.0'
18
12
  gem 'rspec', '~> 3.0'
19
13
  end
data/README.md CHANGED
@@ -4,11 +4,8 @@
4
4
  [![Build Status][build-status-badge]][build-status]
5
5
 
6
6
  Provides means to look up the last-modified times of [Middleman][] sitemap
7
- resources according to a version control system.
8
-
9
- Supported version control systems:
10
-
11
- - Git
7
+ resources according to version control. Supports Git with a fallback to
8
+ filesystem metadata.
12
9
 
13
10
  ## Installation
14
11
 
@@ -28,7 +25,7 @@ Activate the extension in `config.rb`:
28
25
  activate :vcs_time
29
26
  ```
30
27
 
31
- Get the modification time of the current page:
28
+ Get the modification time of e.g. the current page:
32
29
 
33
30
  ```ruby
34
31
  current_page.mtime # => 2014-01-20 17:31:50 -0800
@@ -36,7 +33,7 @@ current_page.mtime # => 2014-01-20 17:31:50 -0800
36
33
 
37
34
 
38
35
  [build-status]: https://travis-ci.org/AndrewKvalheim/middleman-vcs-time
39
- [build-status-badge]: https://travis-ci.org/AndrewKvalheim/middleman-vcs-time.png?branch=master
36
+ [build-status-badge]: https://travis-ci.org/AndrewKvalheim/middleman-vcs-time.svg?branch=master
40
37
  [gem-version]: https://badge.fury.io/rb/middleman-vcs-time
41
- [gem-version-badge]: https://badge.fury.io/rb/middleman-vcs-time.png
38
+ [gem-version-badge]: https://badge.fury.io/rb/middleman-vcs-time.svg
42
39
  [middleman]: http://middlemanapp.com/
data/Rakefile CHANGED
@@ -4,12 +4,11 @@ Bundler::GemHelper.install_tasks
4
4
  require 'cucumber/rake/task'
5
5
 
6
6
  Cucumber::Rake::Task.new(:cucumber, 'Run features that should pass') do |t|
7
- format = ENV['CUCUMBER_FORMAT'] || 'Fivemat'
8
- t.cucumber_opts = "--color --tags ~@wip --strict --format #{format}"
7
+ t.cucumber_opts = '--color --tags ~@wip --strict'
9
8
  end
10
9
 
11
10
  require 'rake/clean'
12
11
 
13
- task :test => ['cucumber']
12
+ task test: ['cucumber']
14
13
 
15
- task :default => :test
14
+ task default: :test
@@ -8,4 +8,4 @@ Feature: Fallback
8
8
  Scenario: Use the file modification time when there is no version control system
9
9
  Given the Server is running at "no-vcs-app"
10
10
  When I go to "/show-mtime.html"
11
- Then I should see the modification time for a file named "source/show-mtime.html.erb"
11
+ Then I should see the file modification time of "source/show-mtime.html.erb"
@@ -3,12 +3,12 @@ Feature: Git support
3
3
  Scenario: Use the file modification time when the source file is untracked
4
4
  Given the Server is running under Git at "git-app"
5
5
  When I go to "/show-mtime_untracked.html"
6
- Then I should see the modification time for a file named "source/show-mtime_untracked.html.erb"
6
+ Then I should see the file modification time of "source/show-mtime_untracked.html.erb"
7
7
 
8
8
  Scenario: Use the file modification time when there are working changes to the source file
9
9
  Given the Server is running under Git at "git-app"
10
10
  When I go to "/show-mtime_working.html"
11
- Then I should see the modification time for a file named "source/show-mtime_working.html.erb"
11
+ Then I should see the file modification time of "source/show-mtime_working.html.erb"
12
12
 
13
13
  Scenario: Use the author time of the most recent commit
14
14
  Given the Server is running under Git at "git-app"
@@ -1,10 +1,10 @@
1
1
  # Use a non-standard Git directory in fixtures so as not to conflict with the
2
2
  # parent repository
3
3
  Given /^the Server is running under Git at "([^\"]*)"$/ do |app_path|
4
- step %Q{a fixture app "#{app_path}"}
4
+ step %(a fixture app "#{app_path}")
5
5
 
6
- set_env 'GIT_DIR', File.join(current_dir, 'dotgit')
7
- set_env 'GIT_WORK_TREE', current_dir
6
+ ENV['GIT_DIR'] = expand_path('dotgit')
7
+ ENV['GIT_WORK_TREE'] = expand_path('.')
8
8
 
9
- step %Q{the Server is running}
9
+ step %(the Server is running)
10
10
  end
@@ -3,15 +3,15 @@ TOLERANCE = 5
3
3
  Then /^I should see the current time$/ do
4
4
  now = Time.now.to_i
5
5
 
6
- window = (now - TOLERANCE .. now + TOLERANCE)
7
- has_current_time = @browser.last_response.body.scan(/\d+/).any? do |digits|
6
+ window = ((now - TOLERANCE)..(now + TOLERANCE))
7
+ has_current_time = page.body.scan(/\d+/).any? do |digits|
8
8
  window.include?(digits.to_i)
9
9
  end
10
10
 
11
11
  expect(has_current_time).to be_truthy
12
12
  end
13
13
 
14
- Then /^I should see the modification time for a file named "([^\"]*)"$/ do |file|
15
- target = File.join(current_dir, file)
16
- step %Q{I should see "#{File.mtime(target).to_i}"}
14
+ Then /^I should see the file modification time of "([^\"]*)"$/ do |file|
15
+ target = expand_path(file)
16
+ step %(I should see "#{File.mtime(target).to_i}")
17
17
  end
@@ -5,5 +5,5 @@ require File.join(PROJECT_ROOT_PATH, 'lib', 'middleman-vcs-time')
5
5
 
6
6
  # Prevent fixtures from detecting the parent repository
7
7
  Before do
8
- set_env 'GIT_DIR', File::NULL
8
+ ENV['GIT_DIR'] = File::NULL
9
9
  end
@@ -1,4 +1,8 @@
1
- require 'lib/generated-resources'
1
+ require 'lib/generated_resources'
2
2
 
3
3
  activate :generated_resources
4
4
  activate :vcs_time
5
+
6
+ generate 'show-mtime_generated.html' do |resource|
7
+ "This page was last modified at #{resource.mtime.strftime('%s')}."
8
+ end
@@ -0,0 +1,36 @@
1
+ module GeneratedResources
2
+ # Resource with a configurable renderer
3
+ class GeneratedResource < ::Middleman::Sitemap::Resource
4
+ attr_accessor :renderer
5
+
6
+ def render(options = {}, locals = {})
7
+ @renderer.call(self, options, locals)
8
+ end
9
+ end
10
+
11
+ # Sitemap manipulator
12
+ class Extension < ::Middleman::Extension
13
+ expose_to_config :generate
14
+
15
+ def initialize(app, options_hash = {})
16
+ super
17
+
18
+ @renderers = {}
19
+ end
20
+
21
+ def generate(path, &renderer)
22
+ @renderers[path] = renderer
23
+ end
24
+
25
+ def manipulate_resource_list(resources)
26
+ resources + @renderers.map do |path, renderer|
27
+ GeneratedResource.new(app.sitemap, path, nil).tap do |resource|
28
+ resource.renderer = renderer
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+
35
+ extension = GeneratedResources::Extension
36
+ ::Middleman::Extensions.register :generated_resources, extension
@@ -0,0 +1,15 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "middleman-core", "~> 4.0.0"
6
+
7
+ group :test do
8
+ gem "appraisal", "~> 2.0"
9
+ gem "aruba", "~> 0.14"
10
+ gem "capybara", "~> 2.4"
11
+ gem "cucumber", "~> 2.0"
12
+ gem "rspec", "~> 3.0"
13
+ end
14
+
15
+ gemspec :path => "../"
@@ -0,0 +1,15 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "middleman-core", "~> 4.1.0"
6
+
7
+ group :test do
8
+ gem "appraisal", "~> 2.0"
9
+ gem "aruba", "~> 0.14"
10
+ gem "capybara", "~> 2.4"
11
+ gem "cucumber", "~> 2.0"
12
+ gem "rspec", "~> 3.0"
13
+ end
14
+
15
+ gemspec :path => "../"
@@ -0,0 +1,15 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "middleman-core", :github => "middleman/middleman", :branch => "master"
6
+
7
+ group :test do
8
+ gem "appraisal", "~> 2.0"
9
+ gem "aruba", "~> 0.14"
10
+ gem "capybara", "~> 2.4"
11
+ gem "cucumber", "~> 2.0"
12
+ gem "rspec", "~> 3.0"
13
+ end
14
+
15
+ gemspec :path => "../"
@@ -1,3 +1,7 @@
1
- require 'middleman-vcs-time/extension'
1
+ require 'middleman-core'
2
2
 
3
- Middleman::VCSTime::Extension.register :vcs_time
3
+ ::Middleman::Extensions.register :vcs_time do
4
+ require 'middleman-vcs-time/extension'
5
+
6
+ Middleman::VCSTime::Extension
7
+ end
@@ -1,7 +1,6 @@
1
- require 'middleman-core'
2
-
3
1
  module Middleman
4
2
  module VCSTime
3
+ # Middleman extension
5
4
  class Extension < ::Middleman::Extension
6
5
  def initialize(app, **options_hash, &block)
7
6
  super
@@ -11,9 +10,9 @@ module Middleman
11
10
  end
12
11
 
13
12
  def after_configuration
14
- systems = [Git, Fallback]
13
+ vcs = [Git, Fallback].find(&:available?)
15
14
 
16
- systems.detect(&:load)
15
+ Middleman::Sitemap::Resource.prepend vcs::ResourceIncludes
17
16
  end
18
17
  end
19
18
  end
@@ -1,20 +1,16 @@
1
1
  module Middleman
2
2
  module VCSTime
3
+ # Interface to filesystem metadata
3
4
  class Fallback
5
+ # Extensions to sitemap resources
4
6
  module ResourceIncludes
5
7
  def mtime
6
- if File.exists?(source_file)
7
- File.mtime(source_file)
8
- else
9
- Time.now
10
- end
8
+ source_file ? File.mtime(source_file) : Time.now
11
9
  end
12
10
  end
13
11
 
14
- def self.load
15
- Middleman::Sitemap::Resource.class_eval do
16
- include ResourceIncludes
17
- end
12
+ def self.available?
13
+ true
18
14
  end
19
15
  end
20
16
  end
@@ -2,51 +2,59 @@ require 'pathname'
2
2
 
3
3
  module Middleman
4
4
  module VCSTime
5
+ # Interface to Git metadata
5
6
  class Git < Fallback
7
+ # Extensions to sitemap resources
6
8
  module ResourceIncludes
7
9
  def mtime
8
- @_mtime ||= if git_clean?
9
- git_author_time
10
- else
11
- super
12
- end
10
+ @_mtime ||= git_clean? ? git_author_time : super
13
11
  end
14
12
 
15
13
  private
16
14
 
17
- def git_author_time
18
- command = %w{git log --follow --numstat --format=%at --}
15
+ # Parsed numstat log
16
+ class Numstats
17
+ include Enumerable
18
+
19
+ GIT_NUMSTAT = %w(git log --follow --numstat --format=%at --).freeze
20
+
21
+ # Parsed commit entry
22
+ class Commit
23
+ attr_reader :time
19
24
 
20
- result = IO.popen(command + [source_file]) do |output|
21
- output.each_line.each_slice(3).find do |result|
22
- result.last.split("\t").take(2).map(&:to_i).reduce(&:+).nonzero?
25
+ def initialize(raw)
26
+ @insertions, @deletions = raw.last.split("\t").take(2).map(&:to_i)
27
+ @time = Time.at(raw.first.to_i)
23
28
  end
24
- end
25
29
 
26
- Time.at(result.first.to_i) if result
27
- end
30
+ def changed?
31
+ @deletions.nonzero? || @insertions.nonzero?
32
+ end
33
+ end
28
34
 
29
- def git_clean?
30
- command = %w{git status --porcelain --}
35
+ def initialize(path)
36
+ @raw = IO.popen(GIT_NUMSTAT + [path])
37
+ end
31
38
 
32
- IO.popen(command + [source_file]) { |output| output.read.empty? }
39
+ def each
40
+ @raw.each_line.each_slice(3) { |entry| yield Commit.new(entry) }
41
+ end
33
42
  end
34
- end
35
43
 
36
- def self.load
37
- if available?
38
- super
44
+ def git_author_time
45
+ change = Numstats.new(source_file).find(&:changed?)
46
+ change.time if change
47
+ end
39
48
 
40
- Middleman::Sitemap::Resource.class_eval do
41
- include ResourceIncludes
49
+ def git_clean?
50
+ IO.popen(%w(git status --porcelain --) + [source_file]) do |output|
51
+ output.read.empty?
42
52
  end
43
53
  end
44
54
  end
45
55
 
46
- private
47
-
48
56
  def self.available?
49
- system(*%w{git rev-parse}, err: File::NULL)
57
+ system(*%w(git rev-parse), err: File::NULL)
50
58
  end
51
59
  end
52
60
  end
@@ -1,20 +1,34 @@
1
- # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path('../lib', __FILE__)
1
+ $LOAD_PATH.push File.expand_path('../lib', __FILE__)
3
2
 
4
3
  Gem::Specification.new do |gem|
4
+ # Identity
5
5
  gem.name = 'middleman-vcs-time'
6
- gem.version = '0.0.3'
7
- gem.platform = Gem::Platform::RUBY
8
- gem.required_ruby_version = '~> 2.0'
9
- gem.license = 'MIT'
10
- gem.authors = ['Andrew Kvalheim']
11
- gem.email = ['Andrew@Kvalhe.im']
6
+ gem.version = '0.0.4'
12
7
  gem.homepage = 'https://github.com/AndrewKvalheim/middleman-vcs-time'
13
- gem.summary = %q{Use version control to determine last-modified times of Middleman resources.}
8
+ gem.summary = 'Use version control to determine last-modified times of ' \
9
+ 'Middleman resources.'
14
10
 
11
+ # License
12
+ gem.license = 'MIT'
13
+
14
+ # Authorship
15
+ gem.authors = ['Andrew Kvalheim']
16
+ gem.email = ['Andrew@Kvalhe.im']
17
+
18
+ # Content
15
19
  gem.files = `git ls-files -z`.split("\0")
16
20
  gem.test_files = gem.files.grep(%r{^(features|fixtures)/})
17
21
  gem.require_paths = ['lib']
18
22
 
19
- gem.add_runtime_dependency 'middleman-core', ['~> 3.2']
23
+ # Dependencies
24
+ gem.platform = Gem::Platform::RUBY
25
+ gem.required_ruby_version = '~> 2.2'
26
+ gem.add_runtime_dependency 'middleman-core', '~> 4.0'
27
+
28
+ # Development dependencies
29
+ gem.add_development_dependency 'rake'
30
+ gem.add_development_dependency 'rdoc'
31
+ gem.add_development_dependency 'travis'
32
+ gem.add_development_dependency 'websocket-native'
33
+ gem.add_development_dependency 'yard'
20
34
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: middleman-vcs-time
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Kvalheim
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-10 00:00:00.000000000 Z
11
+ date: 2016-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: middleman-core
@@ -16,14 +16,84 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.2'
19
+ version: '4.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '3.2'
26
+ version: '4.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rdoc
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: travis
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: websocket-native
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: yard
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
27
97
  description:
28
98
  email:
29
99
  - Andrew@Kvalhe.im
@@ -33,6 +103,7 @@ extra_rdoc_files: []
33
103
  files:
34
104
  - ".gitignore"
35
105
  - ".travis.yml"
106
+ - Appraisals
36
107
  - Gemfile
37
108
  - LICENSE.md
38
109
  - README.md
@@ -64,8 +135,11 @@ files:
64
135
  - fixtures/git-app/source/show-mtime_untracked.html.erb
65
136
  - fixtures/git-app/source/show-mtime_working.html.erb
66
137
  - fixtures/no-vcs-app/config.rb
67
- - fixtures/no-vcs-app/lib/generated-resources.rb
138
+ - fixtures/no-vcs-app/lib/generated_resources.rb
68
139
  - fixtures/no-vcs-app/source/show-mtime.html.erb
140
+ - gemfiles/middleman_4.0.gemfile
141
+ - gemfiles/middleman_4.1.gemfile
142
+ - gemfiles/middleman_unreleased.gemfile
69
143
  - lib/middleman-vcs-time.rb
70
144
  - lib/middleman-vcs-time/extension.rb
71
145
  - lib/middleman-vcs-time/systems/fallback.rb
@@ -84,7 +158,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
84
158
  requirements:
85
159
  - - "~>"
86
160
  - !ruby/object:Gem::Version
87
- version: '2.0'
161
+ version: '2.2'
88
162
  required_rubygems_version: !ruby/object:Gem::Requirement
89
163
  requirements:
90
164
  - - ">="
@@ -92,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
166
  version: '0'
93
167
  requirements: []
94
168
  rubyforge_project:
95
- rubygems_version: 2.2.2
169
+ rubygems_version: 2.6.4
96
170
  signing_key:
97
171
  specification_version: 4
98
172
  summary: Use version control to determine last-modified times of Middleman resources.
@@ -124,6 +198,6 @@ test_files:
124
198
  - fixtures/git-app/source/show-mtime_untracked.html.erb
125
199
  - fixtures/git-app/source/show-mtime_working.html.erb
126
200
  - fixtures/no-vcs-app/config.rb
127
- - fixtures/no-vcs-app/lib/generated-resources.rb
201
+ - fixtures/no-vcs-app/lib/generated_resources.rb
128
202
  - fixtures/no-vcs-app/source/show-mtime.html.erb
129
203
  has_rdoc:
@@ -1,33 +0,0 @@
1
- module Middleman
2
- module GeneratedResources
3
- class GeneratedResource < Middleman::Sitemap::Resource
4
- def binary?
5
- false
6
- end
7
-
8
- def render
9
- raise NotImplementedError
10
- end
11
-
12
- def source_file
13
- ''
14
- end
15
- end
16
-
17
- class Extension < Middleman::Extension
18
- def manipulate_resource_list(resources)
19
- resource = GeneratedResource.new(app.sitemap, 'show-mtime_generated.html')
20
-
21
- class << resource
22
- def render
23
- "This page was last modified at #{mtime.strftime('%s')}."
24
- end
25
- end
26
-
27
- resources << resource
28
- end
29
- end
30
- end
31
- end
32
-
33
- Middleman::GeneratedResources::Extension.register :generated_resources