jekyll-github-metadata 2.12.1 → 2.13.0

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
  SHA256:
3
- metadata.gz: f3affb844ff34ffda3dd8a636cc09e79ffafcbd4bb856877773683142feb06f3
4
- data.tar.gz: 58c18e6353383b324bc2cf19a9c0e7482253dce414f36145bf51138ecd1a54aa
3
+ metadata.gz: 60dcc741766ebde9c73e6f2d2d65a07a23d60e6eb1b7f5b88f2da4505c548a92
4
+ data.tar.gz: b3b67b1a6be141ce3558f431e44053c7f0c74c7b03079486601390204c03a0ee
5
5
  SHA512:
6
- metadata.gz: d535514e12c247ddae4c3df837d5f9107ef8b89565a702e403dc013dc3f9cdab8bbda7eb20cce02f9ccd3be7f2003491fd3de70fcfc065d20a00850d294ad054
7
- data.tar.gz: 8f0d0b44b843808598e4ed230a0f5702f0b8fd94c5443a690f46f7d4ad28d621d6cf8b706b2656b472dfe6cb7f62461681d822dd920721244eccb3f41c5b616f
6
+ metadata.gz: 3e8806b3cd7cf27ae282de1dd54d0055eef93d1dffcaf3644478440b729501125f8da1d655c33a503f5dd9215b09c850c0bc28e9ff4553f63e0e2044f5e41268
7
+ data.tar.gz: fa82e7d311dd2f720007e2d242211ee17831c34181b20dbf781859cee7241c0bdf469b1d3de18757317010c8649f815d240825b8ec4f5ef564a5a7b0ee80cc51
@@ -68,6 +68,15 @@ module Jekyll
68
68
  end
69
69
  end
70
70
 
71
+ # NOTE: Faraday's error classes has been promoted to under Faraday module from v1.0.0.
72
+ # This patch aims to prevent on locking specific version of Faraday.
73
+ FARADAY_FAILED_CONNECTION =
74
+ begin
75
+ Faraday::Error::ConnectionFailed
76
+ rescue NameError
77
+ Faraday::ConnectionFailed
78
+ end
79
+
71
80
  def save_from_errors(default = false)
72
81
  unless internet_connected?
73
82
  GitHubMetadata.log :warn, "No internet connection. GitHub metadata may be missing or incorrect."
@@ -77,7 +86,7 @@ module Jekyll
77
86
  yield @client
78
87
  rescue Octokit::Unauthorized
79
88
  raise BadCredentialsError, "The GitHub API credentials you provided aren't valid."
80
- rescue Faraday::Error::ConnectionFailed, Octokit::TooManyRequests => e
89
+ rescue FARADAY_FAILED_CONNECTION, Octokit::TooManyRequests => e
81
90
  GitHubMetadata.log :warn, e.message
82
91
  default
83
92
  rescue Octokit::NotFound
@@ -69,19 +69,40 @@ module Jekyll
69
69
  end
70
70
 
71
71
  def parts
72
- @parts ||= [repository_url, "edit/", branch, source_path, page_path]
72
+ memoize_conditionally { [repository_url, "edit/", branch, source_path, page_path] }
73
73
  end
74
74
 
75
75
  def parts_normalized
76
- @parts_normalized ||= parts.map.with_index do |part, index|
77
- part = remove_leading_slash(part.to_s)
78
- part = ensure_trailing_slash(part) unless index == parts.length - 1
79
- ensure_not_just_a_slash(part)
76
+ memoize_conditionally do
77
+ parts.map.with_index do |part, index|
78
+ part = remove_leading_slash(part.to_s)
79
+ part = ensure_trailing_slash(part) unless index == parts.length - 1
80
+ ensure_not_just_a_slash(part)
81
+ end
80
82
  end
81
83
  end
82
84
 
83
85
  def page
84
- @page ||= context.registers[:page]
86
+ memoize_conditionally { context.registers[:page] }
87
+ end
88
+
89
+ # Utility function for compatibility with Jekyll 4.0
90
+ def memoize_conditionally
91
+ if renderer_cached?
92
+ yield
93
+ else
94
+ dispatcher = "@#{caller_locations(1..1).first.label}".to_sym
95
+ if instance_variable_defined?(dispatcher)
96
+ instance_variable_get(dispatcher)
97
+ else
98
+ instance_variable_set(dispatcher, yield)
99
+ end
100
+ end
101
+ end
102
+
103
+ # Utility function to detect Jekyll 4.0
104
+ def renderer_cached?
105
+ @renderer_cached ||= context.registers[:site].liquid_renderer.respond_to?(:cache)
85
106
  end
86
107
 
87
108
  def site
@@ -14,7 +14,7 @@ module Jekyll
14
14
  alias_method :invoke_drop, :[]
15
15
  def key?(key)
16
16
  return false if key.nil?
17
- return true if self.class.mutable? && @mutations.key?(key)
17
+ return true if self.class.mutable? && mutations.key?(key)
18
18
 
19
19
  respond_to?(key) || fallback_data.key?(key)
20
20
  end
@@ -69,6 +69,8 @@ module Jekyll
69
69
  def_delegator :repository, :releases, :releases
70
70
  def_delegator :repository, :latest_release, :latest_release
71
71
  def_delegator :repository, :private?, :private
72
+ def_delegator :repository, :archived?, :archived
73
+ def_delegator :repository, :disabled?, :disabled
72
74
  def_delegator :repository, :license, :license
73
75
  def_delegator :repository, :source, :source
74
76
 
@@ -95,6 +97,10 @@ module Jekyll
95
97
  def fallback_data
96
98
  @fallback_data ||= {}
97
99
  end
100
+
101
+ def mutations
102
+ @mutations ||= {}
103
+ end
98
104
  end
99
105
  end
100
106
  end
@@ -26,6 +26,8 @@ module Jekyll
26
26
  def_hash_delegator :repo_info, :description, :tagline
27
27
  def_hash_delegator :repo_info, :has_downloads, :show_downloads?
28
28
  def_hash_delegator :repo_info, :private, :private?
29
+ def_hash_delegator :repo_info, :archived, :archived?
30
+ def_hash_delegator :repo_info, :disabled, :disabled?
29
31
  def_hash_delegator :latest_release, :url, :latest_release_url
30
32
  def_hash_delegator :source, :branch, :git_ref
31
33
 
@@ -107,7 +109,11 @@ module Jekyll
107
109
  end
108
110
 
109
111
  def owner_public_repositories
110
- memoize_value :@owner_public_repositories, Value.new("owner_public_repositories", proc { |c| c.list_repos(owner, "type" => "public") })
112
+ options = {
113
+ :type => "public",
114
+ :accept => "application/vnd.github.mercy-preview+json",
115
+ }
116
+ memoize_value :@owner_public_repositories, Value.new("owner_public_repositories", proc { |c| c.list_repos(owner, options) })
111
117
  end
112
118
 
113
119
  def organization_public_members
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Jekyll
4
4
  module GitHubMetadata
5
- VERSION = "2.12.1"
5
+ VERSION = "2.13.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-github-metadata
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.12.1
4
+ version: 2.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Parker Moore
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-12 00:00:00.000000000 Z
11
+ date: 2020-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.4'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '5.0'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: '3.4'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '5.0'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: octokit
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -104,16 +110,16 @@ dependencies:
104
110
  name: rspec
105
111
  requirement: !ruby/object:Gem::Requirement
106
112
  requirements:
107
- - - ">="
113
+ - - "~>"
108
114
  - !ruby/object:Gem::Version
109
- version: '0'
115
+ version: 3.8.0
110
116
  type: :development
111
117
  prerelease: false
112
118
  version_requirements: !ruby/object:Gem::Requirement
113
119
  requirements:
114
- - - ">="
120
+ - - "~>"
115
121
  - !ruby/object:Gem::Version
116
- version: '0'
122
+ version: 3.8.0
117
123
  - !ruby/object:Gem::Dependency
118
124
  name: rubocop-jekyll
119
125
  requirement: !ruby/object:Gem::Requirement
@@ -148,7 +154,7 @@ files:
148
154
  - lib/jekyll-github-metadata/site_github_munger.rb
149
155
  - lib/jekyll-github-metadata/value.rb
150
156
  - lib/jekyll-github-metadata/version.rb
151
- homepage: https://github.com/parkr/github-metadata
157
+ homepage: https://github.com/jekyll/github-metadata
152
158
  licenses:
153
159
  - MIT
154
160
  metadata: {}
@@ -167,7 +173,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
167
173
  - !ruby/object:Gem::Version
168
174
  version: '0'
169
175
  requirements: []
170
- rubygems_version: 3.0.1
176
+ rubygems_version: 3.0.3
171
177
  signing_key:
172
178
  specification_version: 4
173
179
  summary: The site.github namespace