jekyll-github-metadata 2.6.0 → 2.7.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
  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