diff --git a/Gemfile b/Gemfile index bf05881..5562f2c 100644 --- a/Gemfile +++ b/Gemfile @@ -6,5 +6,10 @@ gemspec gem "jekyll", "~> #{ENV["JEKYLL_VERSION"]}" if ENV["JEKYLL_VERSION"] group :test do + # Temporarily lock rspec dependencies to last known versions with + # which tests passed successfully on CI + gem "rspec-expectations", "3.8.4" + gem "rspec-mocks", "3.8.1" + gem "webmock", "~> 2.0" end diff --git a/jekyll-github-metadata.gemspec b/jekyll-github-metadata.gemspec index 629bd3c..babaac3 100644 --- a/jekyll-github-metadata.gemspec +++ b/jekyll-github-metadata.gemspec @@ -23,6 +23,6 @@ Gem::Specification.new do |spec| spec.add_development_dependency "netrc" spec.add_development_dependency "pry" spec.add_development_dependency "rake" - spec.add_development_dependency "rspec" + spec.add_development_dependency "rspec", "~> 3.8.0" spec.add_development_dependency "rubocop-jekyll", "~> 0.5.0" end diff --git a/lib/jekyll-github-metadata/metadata_drop.rb b/lib/jekyll-github-metadata/metadata_drop.rb index b870689..83e106a 100644 --- a/lib/jekyll-github-metadata/metadata_drop.rb +++ b/lib/jekyll-github-metadata/metadata_drop.rb @@ -14,7 +14,7 @@ class MetadataDrop < Jekyll::Drops::Drop alias_method :invoke_drop, :[] def key?(key) return false if key.nil? - return true if self.class.mutable? && @mutations.key?(key) + return true if self.class.mutable? && mutations.key?(key) respond_to?(key) || fallback_data.key?(key) end @@ -95,6 +95,10 @@ def build_revision def fallback_data @fallback_data ||= {} end + + def mutations + @mutations ||= {} + end end end end