jekyll-github-metadata 2.12.1 → 2.13.0

Sign up to get free protection for your applications and to get access to all the features.
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