middleman-vcs-time 0.0.1

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.
Files changed (39) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +6 -0
  3. data/Gemfile +17 -0
  4. data/LICENSE.md +20 -0
  5. data/README.md +35 -0
  6. data/Rakefile +15 -0
  7. data/features/fallback.feature +11 -0
  8. data/features/git-support.feature +21 -0
  9. data/features/steps/git_steps.rb +10 -0
  10. data/features/steps/time_steps.rb +17 -0
  11. data/features/support/env.rb +9 -0
  12. data/fixtures/git-app/config.rb +1 -0
  13. data/fixtures/git-app/dotgit/HEAD +1 -0
  14. data/fixtures/git-app/dotgit/ORIG_HEAD +1 -0
  15. data/fixtures/git-app/dotgit/config +5 -0
  16. data/fixtures/git-app/dotgit/description +1 -0
  17. data/fixtures/git-app/dotgit/index +0 -0
  18. data/fixtures/git-app/dotgit/info/exclude +0 -0
  19. data/fixtures/git-app/dotgit/info/refs +1 -0
  20. data/fixtures/git-app/dotgit/logs/HEAD +8 -0
  21. data/fixtures/git-app/dotgit/logs/refs/heads/master +8 -0
  22. data/fixtures/git-app/dotgit/objects/info/packs +2 -0
  23. data/fixtures/git-app/dotgit/objects/pack/pack-bc8ae5eaa7a0c137a3db0e68dc4f537bab66f10e.idx +0 -0
  24. data/fixtures/git-app/dotgit/objects/pack/pack-bc8ae5eaa7a0c137a3db0e68dc4f537bab66f10e.pack +0 -0
  25. data/fixtures/git-app/dotgit/packed-refs +2 -0
  26. data/fixtures/git-app/source/show-mtime.html.erb +1 -0
  27. data/fixtures/git-app/source/show-mtime_moved.html.erb +1 -0
  28. data/fixtures/git-app/source/show-mtime_untracked.html.erb +1 -0
  29. data/fixtures/git-app/source/show-mtime_working.html.erb +1 -0
  30. data/fixtures/no-vcs-app/config.rb +4 -0
  31. data/fixtures/no-vcs-app/lib/generated-resources.rb +33 -0
  32. data/fixtures/no-vcs-app/source/show-mtime.html.erb +1 -0
  33. data/lib/middleman-vcs-time.rb +3 -0
  34. data/lib/middleman-vcs-time/extension.rb +20 -0
  35. data/lib/middleman-vcs-time/systems/fallback.rb +19 -0
  36. data/lib/middleman-vcs-time/systems/git.rb +50 -0
  37. data/lib/middleman_extension.rb +1 -0
  38. data/middleman-vcs-time.gemspec +20 -0
  39. metadata +122 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 8419316a8a532e9570bbdbe24ce377b32deb9f73
4
+ data.tar.gz: 4a9351146191c762c070723d114b0cf7e4697f9d
5
+ SHA512:
6
+ metadata.gz: 40cf40fe1966d1ec79b31f4df85fee42d4ad5a87a735e57568c531aa37ecf81bf48de2b19093e53a3494f79d553eeb4320c665c67965fcbf686b26538de17dba
7
+ data.tar.gz: db3ef3a2d71e357479f37aeecdcb01e58c4460b548d987d85455ce511365363e379465bdb6a6ac5ff5bb8d9701ef8684fe0d91818ae94a619c6699849a2de23f
@@ -0,0 +1,6 @@
1
+ # Bundler
2
+ /Gemfile.lock
3
+
4
+ # Packaging
5
+ /pkg
6
+ /tmp
data/Gemfile ADDED
@@ -0,0 +1,17 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ group :development do
6
+ gem 'middleman', github: 'middleman/middleman', branch: 'v3-stable'
7
+ gem 'rake'
8
+ gem 'rdoc'
9
+ gem 'yard'
10
+ end
11
+
12
+ group :test do
13
+ gem 'aruba'
14
+ gem 'cucumber'
15
+ gem 'fivemat'
16
+ gem 'rspec'
17
+ end
@@ -0,0 +1,20 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2014 Andrew Kvalheim
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
6
+ this software and associated documentation files (the "Software"), to deal in
7
+ the Software without restriction, including without limitation the rights to
8
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
+ the Software, and to permit persons to whom the Software is furnished to do so,
10
+ subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,35 @@
1
+ # middleman-vcs-time
2
+
3
+ Provides means to look up the last-modified times of [Middleman][] sitemap
4
+ resources according to a version control system.
5
+
6
+ Supported version control systems:
7
+
8
+ - Git
9
+
10
+ ## Installation
11
+
12
+ Add to your `Gemfile`:
13
+
14
+ ```ruby
15
+ gem 'middleman-vcs-time'
16
+ ```
17
+
18
+ and run `bundle install`.
19
+
20
+ ## Usage
21
+
22
+ Activate the extension in `config.rb`:
23
+
24
+ ```ruby
25
+ activate :vcs_time
26
+ ```
27
+
28
+ Get the modification time of the current page:
29
+
30
+ ```ruby
31
+ current_page.mtime # => 2014-01-20 17:31:50 -0800
32
+ ```
33
+
34
+
35
+ [middleman]: http://middlemanapp.com/
@@ -0,0 +1,15 @@
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
3
+
4
+ require 'cucumber/rake/task'
5
+
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}"
9
+ end
10
+
11
+ require 'rake/clean'
12
+
13
+ task :test => ['cucumber']
14
+
15
+ task :default => :test
@@ -0,0 +1,11 @@
1
+ Feature: Fallback
2
+
3
+ Scenario: Use the current time when there is no source file
4
+ Given the Server is running at "no-vcs-app"
5
+ When I go to "/show-mtime_generated.html"
6
+ Then I should see the current time
7
+
8
+ Scenario: Use the file modification time when there is no version control system
9
+ Given the Server is running at "no-vcs-app"
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"
@@ -0,0 +1,21 @@
1
+ Feature: Git support
2
+
3
+ Scenario: Use the file modification time when the source file is untracked
4
+ Given the Server is running under Git at "git-app"
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"
7
+
8
+ Scenario: Use the file modification time when there are working changes to the source file
9
+ Given the Server is running under Git at "git-app"
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"
12
+
13
+ Scenario: Use the author time of the most recent commit
14
+ Given the Server is running under Git at "git-app"
15
+ When I go to "/show-mtime.html"
16
+ Then I should see "1386989477"
17
+
18
+ Scenario: Ignore commits that are only copies and moves
19
+ Given the Server is running under Git at "git-app"
20
+ When I go to "/show-mtime_moved.html"
21
+ Then I should see "1386989477"
@@ -0,0 +1,10 @@
1
+ # Use a non-standard Git directory in fixtures so as not to conflict with the
2
+ # parent repository
3
+ Given /^the Server is running under Git at "([^\"]*)"$/ do |app_path|
4
+ step %Q{a fixture app "#{app_path}"}
5
+
6
+ set_env 'GIT_DIR', File.join(current_dir, 'dotgit')
7
+ set_env 'GIT_WORK_TREE', current_dir
8
+
9
+ step %Q{the Server is running}
10
+ end
@@ -0,0 +1,17 @@
1
+ TOLERANCE = 5
2
+
3
+ Then /^I should see the current time$/ do
4
+ now = Time.now.to_i
5
+
6
+ window = (now - TOLERANCE .. now + TOLERANCE)
7
+ has_current_time = @browser.last_response.body.scan(/\d+/).any? do |digits|
8
+ window.include?(digits.to_i)
9
+ end
10
+
11
+ expect(has_current_time).to be_true
12
+ end
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}"}
17
+ end
@@ -0,0 +1,9 @@
1
+ PROJECT_ROOT_PATH = File.dirname(File.dirname(File.dirname(__FILE__)))
2
+ require 'middleman-core'
3
+ require 'middleman-core/step_definitions'
4
+ require File.join(PROJECT_ROOT_PATH, 'lib', 'middleman-vcs-time')
5
+
6
+ # Prevent fixtures from detecting the parent repository
7
+ Before do
8
+ set_env 'GIT_DIR', File::NULL
9
+ end
@@ -0,0 +1 @@
1
+ activate :vcs_time
@@ -0,0 +1 @@
1
+ ref: refs/heads/master
@@ -0,0 +1 @@
1
+ 9d6f47ee5196b182f8f347c18d4ad23b1672815b
@@ -0,0 +1,5 @@
1
+ [core]
2
+ repositoryformatversion = 0
3
+ filemode = true
4
+ bare = false
5
+ logallrefupdates = true
@@ -0,0 +1 @@
1
+ Middleman app
File without changes
@@ -0,0 +1 @@
1
+ 2d08e7bcbfe03aa0773b8cbc377b4f036cd274e0 refs/heads/master
@@ -0,0 +1,8 @@
1
+ 0000000000000000000000000000000000000000 0f0de932c27c487f6d7492740897c6daf4de3d78 Andrew Kvalheim <Andrew@Kvalhe.im> 1386987868 -0800 commit (initial): Add page that displays its own modification time.
2
+ 0f0de932c27c487f6d7492740897c6daf4de3d78 072121012ff66f72e1d3a3139b5c78c0afe8a045 Andrew Kvalheim <Andrew@Kvalhe.im> 1386989417 -0800 commit: Modify the page.
3
+ 1456b4021730fb7048579e4e248bacff2284714e ef6ed5e8acbe69c75c7093a5eb44c92df5fbdbdb Andrew Kvalheim <Andrew@Kvalhe.im> 1387247862 -0800 commit: Modify the page.
4
+ ef6ed5e8acbe69c75c7093a5eb44c92df5fbdbdb b1a194a19998a5db861743191341bd9d8cfd29c4 Andrew Kvalheim <Andrew@Kvalhe.im> 1391558446 -0800 commit: Add file to be moved.
5
+ b1a194a19998a5db861743191341bd9d8cfd29c4 9d6f47ee5196b182f8f347c18d4ad23b1672815b Andrew Kvalheim <Andrew@Kvalhe.im> 1391558504 -0800 commit: Move file.
6
+ 9d6f47ee5196b182f8f347c18d4ad23b1672815b ef6ed5e8acbe69c75c7093a5eb44c92df5fbdbdb Andrew Kvalheim <Andrew@Kvalhe.im> 1391559482 -0800 reset: moving to ef6ed5e
7
+ ef6ed5e8acbe69c75c7093a5eb44c92df5fbdbdb 25cf5d93274a096d33d048f40dd2a52d6ed3b6c8 Andrew Kvalheim <Andrew@Kvalhe.im> 1391559566 -0800 commit: Make a copy of the page.
8
+ 25cf5d93274a096d33d048f40dd2a52d6ed3b6c8 2d08e7bcbfe03aa0773b8cbc377b4f036cd274e0 Andrew Kvalheim <Andrew@Kvalhe.im> 1391559609 -0800 commit: Move the copy.
@@ -0,0 +1,8 @@
1
+ 0000000000000000000000000000000000000000 0f0de932c27c487f6d7492740897c6daf4de3d78 Andrew Kvalheim <Andrew@Kvalhe.im> 1386987868 -0800 commit (initial): Add page that displays its own modification time.
2
+ 0f0de932c27c487f6d7492740897c6daf4de3d78 072121012ff66f72e1d3a3139b5c78c0afe8a045 Andrew Kvalheim <Andrew@Kvalhe.im> 1386989417 -0800 commit: Modify the page.
3
+ 1456b4021730fb7048579e4e248bacff2284714e ef6ed5e8acbe69c75c7093a5eb44c92df5fbdbdb Andrew Kvalheim <Andrew@Kvalhe.im> 1387247862 -0800 commit: Modify the page.
4
+ ef6ed5e8acbe69c75c7093a5eb44c92df5fbdbdb b1a194a19998a5db861743191341bd9d8cfd29c4 Andrew Kvalheim <Andrew@Kvalhe.im> 1391558446 -0800 commit: Add file to be moved.
5
+ b1a194a19998a5db861743191341bd9d8cfd29c4 9d6f47ee5196b182f8f347c18d4ad23b1672815b Andrew Kvalheim <Andrew@Kvalhe.im> 1391558504 -0800 commit: Move file.
6
+ 9d6f47ee5196b182f8f347c18d4ad23b1672815b ef6ed5e8acbe69c75c7093a5eb44c92df5fbdbdb Andrew Kvalheim <Andrew@Kvalhe.im> 1391559482 -0800 reset: moving to ef6ed5e
7
+ ef6ed5e8acbe69c75c7093a5eb44c92df5fbdbdb 25cf5d93274a096d33d048f40dd2a52d6ed3b6c8 Andrew Kvalheim <Andrew@Kvalhe.im> 1391559566 -0800 commit: Make a copy of the page.
8
+ 25cf5d93274a096d33d048f40dd2a52d6ed3b6c8 2d08e7bcbfe03aa0773b8cbc377b4f036cd274e0 Andrew Kvalheim <Andrew@Kvalhe.im> 1391559609 -0800 commit: Move the copy.
@@ -0,0 +1,2 @@
1
+ P pack-bc8ae5eaa7a0c137a3db0e68dc4f537bab66f10e.pack
2
+
@@ -0,0 +1,2 @@
1
+ # pack-refs with: peeled fully-peeled
2
+ 2d08e7bcbfe03aa0773b8cbc377b4f036cd274e0 refs/heads/master
@@ -0,0 +1 @@
1
+ This page was last modified at <%= current_page.mtime.strftime('%s') %>.
@@ -0,0 +1 @@
1
+ This page was last modified at <%= current_page.mtime.strftime('%s') %>.
@@ -0,0 +1 @@
1
+ This page was last modified at <%= current_page.mtime.strftime('%s') %>.
@@ -0,0 +1 @@
1
+ This page was last modified at <%= current_page.mtime.strftime('%s') %>.
@@ -0,0 +1,4 @@
1
+ require 'lib/generated-resources'
2
+
3
+ activate :generated_resources
4
+ activate :vcs_time
@@ -0,0 +1,33 @@
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
@@ -0,0 +1 @@
1
+ This page was last modified at <%= current_page.mtime.strftime('%s') %>.
@@ -0,0 +1,3 @@
1
+ require 'middleman-vcs-time/extension'
2
+
3
+ Middleman::VCSTime::Extension.register :vcs_time
@@ -0,0 +1,20 @@
1
+ require 'middleman-core'
2
+
3
+ module Middleman
4
+ module VCSTime
5
+ class Extension < ::Middleman::Extension
6
+ def initialize(app, **options_hash, &block)
7
+ super
8
+
9
+ require 'middleman-vcs-time/systems/fallback'
10
+ require 'middleman-vcs-time/systems/git'
11
+ end
12
+
13
+ def after_configuration
14
+ systems = [Git, Fallback]
15
+
16
+ systems.detect(&:load)
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,19 @@
1
+ module Middleman
2
+ module VCSTime
3
+ class Fallback
4
+ module ResourceIncludes
5
+ def mtime
6
+ if File.exists?(source_file)
7
+ File.mtime(source_file)
8
+ else
9
+ Time.now
10
+ end
11
+ end
12
+ end
13
+
14
+ def self.load
15
+ Middleman::Sitemap::Resource.include ResourceIncludes
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,50 @@
1
+ require 'pathname'
2
+
3
+ module Middleman
4
+ module VCSTime
5
+ class Git < Fallback
6
+ module ResourceIncludes
7
+ def mtime
8
+ @_mtime ||= if git_clean?
9
+ git_author_time
10
+ else
11
+ super
12
+ end
13
+ end
14
+
15
+ private
16
+
17
+ def git_author_time
18
+ command = %w{git log --follow --numstat --format=%at --}
19
+
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?
23
+ end
24
+ end
25
+
26
+ Time.at(result.first.to_i) if result
27
+ end
28
+
29
+ def git_clean?
30
+ command = %w{git status --porcelain --}
31
+
32
+ IO.popen(command + [source_file]) { |output| output.read.empty? }
33
+ end
34
+ end
35
+
36
+ def self.load
37
+ if available?
38
+ super
39
+ Middleman::Sitemap::Resource.include ResourceIncludes
40
+ end
41
+ end
42
+
43
+ private
44
+
45
+ def self.available?
46
+ system(*%w{git rev-parse}, err: File::NULL)
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1 @@
1
+ require 'middleman-vcs-time'
@@ -0,0 +1,20 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path('../lib', __FILE__)
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.name = 'middleman-vcs-time'
6
+ gem.version = '0.0.1'
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']
12
+ gem.homepage = 'https://github.com/AndrewKvalheim/middleman-vcs-time'
13
+ gem.summary = %q{Use version control to determine last-modified times of Middleman resources.}
14
+
15
+ gem.files = `git ls-files -z`.split("\0")
16
+ gem.test_files = gem.files.grep(%r{^(features|fixtures)/})
17
+ gem.require_paths = ['lib']
18
+
19
+ gem.add_runtime_dependency 'middleman-core', ['>= 3.2.0']
20
+ end
metadata ADDED
@@ -0,0 +1,122 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: middleman-vcs-time
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Andrew Kvalheim
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-02-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: middleman-core
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 3.2.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 3.2.0
27
+ description:
28
+ email:
29
+ - Andrew@Kvalhe.im
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - ".gitignore"
35
+ - Gemfile
36
+ - LICENSE.md
37
+ - README.md
38
+ - Rakefile
39
+ - features/fallback.feature
40
+ - features/git-support.feature
41
+ - features/steps/git_steps.rb
42
+ - features/steps/time_steps.rb
43
+ - features/support/env.rb
44
+ - fixtures/git-app/config.rb
45
+ - fixtures/git-app/dotgit/HEAD
46
+ - fixtures/git-app/dotgit/ORIG_HEAD
47
+ - fixtures/git-app/dotgit/config
48
+ - fixtures/git-app/dotgit/description
49
+ - fixtures/git-app/dotgit/index
50
+ - fixtures/git-app/dotgit/info/exclude
51
+ - fixtures/git-app/dotgit/info/refs
52
+ - fixtures/git-app/dotgit/logs/HEAD
53
+ - fixtures/git-app/dotgit/logs/refs/heads/master
54
+ - fixtures/git-app/dotgit/objects/info/packs
55
+ - fixtures/git-app/dotgit/objects/pack/pack-bc8ae5eaa7a0c137a3db0e68dc4f537bab66f10e.idx
56
+ - fixtures/git-app/dotgit/objects/pack/pack-bc8ae5eaa7a0c137a3db0e68dc4f537bab66f10e.pack
57
+ - fixtures/git-app/dotgit/packed-refs
58
+ - fixtures/git-app/source/show-mtime.html.erb
59
+ - fixtures/git-app/source/show-mtime_moved.html.erb
60
+ - fixtures/git-app/source/show-mtime_untracked.html.erb
61
+ - fixtures/git-app/source/show-mtime_working.html.erb
62
+ - fixtures/no-vcs-app/config.rb
63
+ - fixtures/no-vcs-app/lib/generated-resources.rb
64
+ - fixtures/no-vcs-app/source/show-mtime.html.erb
65
+ - lib/middleman-vcs-time.rb
66
+ - lib/middleman-vcs-time/extension.rb
67
+ - lib/middleman-vcs-time/systems/fallback.rb
68
+ - lib/middleman-vcs-time/systems/git.rb
69
+ - lib/middleman_extension.rb
70
+ - middleman-vcs-time.gemspec
71
+ homepage: https://github.com/AndrewKvalheim/middleman-vcs-time
72
+ licenses:
73
+ - MIT
74
+ metadata: {}
75
+ post_install_message:
76
+ rdoc_options: []
77
+ require_paths:
78
+ - lib
79
+ required_ruby_version: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '2.0'
84
+ required_rubygems_version: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ requirements: []
90
+ rubyforge_project:
91
+ rubygems_version: 2.2.1
92
+ signing_key:
93
+ specification_version: 4
94
+ summary: Use version control to determine last-modified times of Middleman resources.
95
+ test_files:
96
+ - features/fallback.feature
97
+ - features/git-support.feature
98
+ - features/steps/git_steps.rb
99
+ - features/steps/time_steps.rb
100
+ - features/support/env.rb
101
+ - fixtures/git-app/config.rb
102
+ - fixtures/git-app/dotgit/HEAD
103
+ - fixtures/git-app/dotgit/ORIG_HEAD
104
+ - fixtures/git-app/dotgit/config
105
+ - fixtures/git-app/dotgit/description
106
+ - fixtures/git-app/dotgit/index
107
+ - fixtures/git-app/dotgit/info/exclude
108
+ - fixtures/git-app/dotgit/info/refs
109
+ - fixtures/git-app/dotgit/logs/HEAD
110
+ - fixtures/git-app/dotgit/logs/refs/heads/master
111
+ - fixtures/git-app/dotgit/objects/info/packs
112
+ - fixtures/git-app/dotgit/objects/pack/pack-bc8ae5eaa7a0c137a3db0e68dc4f537bab66f10e.idx
113
+ - fixtures/git-app/dotgit/objects/pack/pack-bc8ae5eaa7a0c137a3db0e68dc4f537bab66f10e.pack
114
+ - fixtures/git-app/dotgit/packed-refs
115
+ - fixtures/git-app/source/show-mtime.html.erb
116
+ - fixtures/git-app/source/show-mtime_moved.html.erb
117
+ - fixtures/git-app/source/show-mtime_untracked.html.erb
118
+ - fixtures/git-app/source/show-mtime_working.html.erb
119
+ - fixtures/no-vcs-app/config.rb
120
+ - fixtures/no-vcs-app/lib/generated-resources.rb
121
+ - fixtures/no-vcs-app/source/show-mtime.html.erb
122
+ has_rdoc: