jekyll-github-metadata 2.6.0 → 2.7.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
  SHA1:
3
- metadata.gz: 2d2c8a4d83077bd33381eed7bd0d71a7a8e5d247
4
- data.tar.gz: 8950850bbb6509507e2e0a23bde092dad36bfc5a
3
+ metadata.gz: 0c53bdd3c6a19b16a35c179fcc41b73ce88187f1
4
+ data.tar.gz: 6e31600142e817ab270ce3f0b335d6dfbc926c93
5
5
  SHA512:
6
- metadata.gz: 8a53d6ba55983aea9549fdba81ee41f60da3625f38aca9f79023f790d9653bf9237aa7c3737388c9c4940dcf7373c2aff00208bb1e5669c5de86e36ce66ab87b
7
- data.tar.gz: 46051024d33c1024d3893af0b6530473545c96edd8650f80e87c17dcbac31dd8746b6358bc1e57e177374c1109af78e0915c9d62c546bc0e15bd4a7ca96da093
6
+ metadata.gz: a76fe2373605e123c1f9fe4e7ec89373fe68313ee0d6a48ba7a03aab0e46e0f8c9bf1c58a407d07fc6746c040372583f0997367061097e9adcebd86ae835f523
7
+ data.tar.gz: dcd343132d2e3303c60327d214f88902e47464963fd182e5b4bba1f07306397d72a5777d141df7b62fc0c4f53c5e533d20fc0c388c01ef6b0ca05854a98a88f6
@@ -57,6 +57,7 @@ module Jekyll
57
57
  def_delegator :repository, :releases, :releases
58
58
  def_delegator :repository, :latest_release, :latest_release
59
59
  def_delegator :repository, :private?, :private
60
+ def_delegator :repository, :license, :license
60
61
 
61
62
  def versions
62
63
  @versions ||= begin
@@ -2,6 +2,34 @@ module Jekyll
2
2
  module GitHubMetadata
3
3
  class Repository
4
4
  attr_reader :nwo, :owner, :name
5
+
6
+ # Defines an instance method that delegates to a hash's key
7
+ #
8
+ # hash - a symbol representing the instance method to delegate to. The
9
+ # instance method should return a hash or respond to #[]
10
+ # key - the key to call within the hash
11
+ # method - (optional) the instance method the key should be aliased to.
12
+ # If not specified, defaults to the hash key
13
+ #
14
+ # Returns a symbol representing the instance method
15
+ def self.def_hash_delegator(hash, key, method)
16
+ define_method(method || key) do
17
+ public_send(hash)[key.to_s]
18
+ end
19
+ end
20
+
21
+ extend Forwardable
22
+ def_hash_delegator :repo_info, :license, :license
23
+ def_hash_delegator :repo_info, :language, :language
24
+ def_hash_delegator :repo_info, :description, :tagline
25
+ def_hash_delegator :repo_info, :has_downloads, :show_downloads?
26
+ def_hash_delegator :repo_info, :private, :private?
27
+ def_hash_delegator :latest_release, :url, :latest_release_url
28
+
29
+ def_delegator :uri, :host, :domain
30
+ def_delegator :uri, :scheme, :url_scheme
31
+ def_delegator :uri, :path, :baseurl
32
+
5
33
  def initialize(name_with_owner)
6
34
  @nwo = name_with_owner
7
35
  @owner = nwo.split("/").first
@@ -13,7 +41,10 @@ module Jekyll
13
41
  end
14
42
 
15
43
  def repo_info
16
- @repo_info ||= (Value.new(proc { |c| c.repository(nwo) }).render || {})
44
+ @repo_info ||= begin
45
+ options = { :accept => "application/vnd.github.drax-preview+json" }
46
+ (Value.new(proc { |c| c.repository(nwo, options) }).render || {})
47
+ end
17
48
  end
18
49
 
19
50
  def repo_pages_info
@@ -28,14 +59,6 @@ module Jekyll
28
59
  end
29
60
  end
30
61
 
31
- def language
32
- repo_info["language"]
33
- end
34
-
35
- def tagline
36
- repo_info["description"]
37
- end
38
-
39
62
  def owner_url
40
63
  "#{Pages.github_url}/#{owner}"
41
64
  end
@@ -64,10 +87,6 @@ module Jekyll
64
87
  "#{repository_url}/releases"
65
88
  end
66
89
 
67
- def latest_release_url
68
- latest_release["url"]
69
- end
70
-
71
90
  def issues_url
72
91
  "#{repository_url}/issues" if repo_info["has_issues"]
73
92
  end
@@ -76,14 +95,6 @@ module Jekyll
76
95
  "#{repository_url}/wiki" if repo_info["has_wiki"]
77
96
  end
78
97
 
79
- def show_downloads?
80
- !!repo_info["has_downloads"]
81
- end
82
-
83
- def private?
84
- !!repo_info["private"]
85
- end
86
-
87
98
  def organization_repository?
88
99
  memoize_value :@is_organization_repository, Value.new(proc { |c| !!c.organization(owner) })
89
100
  end
@@ -118,10 +129,6 @@ module Jekyll
118
129
  end
119
130
  end
120
131
 
121
- def user_page?
122
- primary?
123
- end
124
-
125
132
  def project_page?
126
133
  !user_page?
127
134
  end
@@ -137,6 +144,7 @@ module Jekyll
137
144
  user_page_domains.include? name.downcase
138
145
  end
139
146
  end
147
+ alias_method :user_page?, :primary?
140
148
 
141
149
  def user_page_domains
142
150
  domains = [default_user_domain]
@@ -171,18 +179,6 @@ module Jekyll
171
179
  uri.dup.tap { |u| u.path = "" }.to_s
172
180
  end
173
181
 
174
- def domain
175
- uri.host
176
- end
177
-
178
- def url_scheme
179
- uri.scheme
180
- end
181
-
182
- def baseurl
183
- uri.path
184
- end
185
-
186
182
  private
187
183
 
188
184
  def memoize_value(var_name, value)
@@ -1,5 +1,5 @@
1
1
  module Jekyll
2
2
  module GitHubMetadata
3
- VERSION = "2.6.0".freeze
3
+ VERSION = "2.7.0".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-github-metadata
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.0
4
+ version: 2.7.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: 2017-08-08 00:00:00.000000000 Z
11
+ date: 2017-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: octokit