jekyll-github-metadata 1.4.0 → 1.5.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: a689abbad33da0acae73946e5e8790eeb0585c71
4
- data.tar.gz: 807013e4558fb9a3c6d2fcc60478fd3ab6ca0985
3
+ metadata.gz: 323ce3849269a24abfb30fa8be2e699236878393
4
+ data.tar.gz: 298e45c9450b1ee93659be47ae8622e6a8ed8b82
5
5
  SHA512:
6
- metadata.gz: 25517ea5ed48b870431aad55683740bf52ad4b98815bad34c927ee3d3835ba398cf4bc5d3123608f9c9e2d5e2c33bff7ab45024b89847d04c2e77af427551eca
7
- data.tar.gz: e73e4b85cb22f22bcbab6aea00b97ab2507e1f11beaf97187d31c49a6283108873290e627f3e36f944ca0bd077904a34f925f85b8bc4a4a1746aa663493b46c7
6
+ metadata.gz: 95524bb16bb191b15b642732fbbdf05800208685a3938d2d82f5fcf9d4c7afde3554f15c21340a42b849cb33c4f9451e01fc8fb5e07fac9099901c83e43de019
7
+ data.tar.gz: b537a8aeef1bef49f97f41d48e0d9a6f22ffe69d5febe9b3abde43e7605891cf1247ad1484438b94ee7586a07b2bf70b7fec3579e0d32d266d1473e9dc87955a
@@ -73,10 +73,8 @@ module Jekyll
73
73
  })
74
74
 
75
75
  # The Juicy Stuff
76
- register_value('public_repositories', proc { |c,r| c.list_repos(r.owner, "type" => "public") })
77
- register_value('organization_members', proc { |c,r|
78
- c.organization_public_members(r.owner) if r.organization_repository?
79
- })
76
+ register_value('public_repositories', proc { |_,r| r.owner_public_repositories })
77
+ register_value('organization_members', proc { |_,r| r.organization_public_members })
80
78
  register_value('build_revision', proc {
81
79
  ENV['JEKYLL_BUILD_REVISION'] || `git rev-parse HEAD`.strip
82
80
  })
@@ -99,8 +97,8 @@ module Jekyll
99
97
  register_value('is_project_page', proc { |_,r| r.project_page? })
100
98
  register_value('show_downloads', proc { |_,r| r.show_downloads? })
101
99
  register_value('url', proc { |_,r| r.pages_url })
102
- register_value('contributors', proc { |c,r| c.contributors(r.nwo) })
103
- register_value('releases', proc { |c,r| c.releases(r.nwo) })
100
+ register_value('contributors', proc { |_,r| r.contributors })
101
+ register_value('releases', proc { |_,r| r.releases })
104
102
 
105
103
  values
106
104
  end
@@ -8,10 +8,6 @@ module Jekyll
8
8
  @name = nwo.split("/").last
9
9
  end
10
10
 
11
- def organization_repository?
12
- !!Value.new(proc { |c| c.organization(owner) }).render
13
- end
14
-
15
11
  def git_ref
16
12
  user_page? ? 'master' : 'gh-pages'
17
13
  end
@@ -67,6 +63,28 @@ module Jekyll
67
63
  def show_downloads?
68
64
  !!repo_info["has_downloads"]
69
65
  end
66
+
67
+ def organization_repository?
68
+ memoize_value :@is_organization_repository, Value.new(proc { |c| !!c.organization(owner) })
69
+ end
70
+
71
+ def owner_public_repositories
72
+ memoize_value :@owner_public_repositories, Value.new(proc { |c| c.list_repos(owner, "type" => "public") })
73
+ end
74
+
75
+ def organization_public_members
76
+ memoize_value :@organization_public_members, Value.new(proc { |c|
77
+ c.organization_public_members(owner) if organization_repository?
78
+ })
79
+ end
80
+
81
+ def contributors
82
+ memoize_value :@contributors, Value.new(proc { |c| c.contributors(nwo) })
83
+ end
84
+
85
+ def releases
86
+ memoize_value :@releases, Value.new(proc { |c| c.releases(nwo) })
87
+ end
70
88
 
71
89
  def user_page?
72
90
  primary?
@@ -130,9 +148,11 @@ module Jekyll
130
148
  end
131
149
 
132
150
  def cname
133
- return @cname if defined?(@cname)
134
- return unless Pages.custom_domains_enabled?
135
- @cname ||= (Value.new('cname', proc { |c| c.pages(nwo) }).render || {'cname' => nil})['cname']
151
+ memoize_value :@cname, Value.new(proc { |c|
152
+ if Pages.custom_domains_enabled?
153
+ (c.pages(nwo) || {'cname' => nil})['cname']
154
+ end
155
+ })
136
156
  end
137
157
 
138
158
  def domain
@@ -147,6 +167,13 @@ module Jekyll
147
167
  user_domain
148
168
  end
149
169
  end
170
+
171
+ private
172
+
173
+ def memoize_value(var_name, value)
174
+ return instance_variable_get(var_name) if instance_variable_defined?(var_name)
175
+ instance_variable_set(var_name, value.render)
176
+ end
150
177
  end
151
178
  end
152
179
  end
@@ -1,5 +1,5 @@
1
1
  module Jekyll
2
2
  module GitHubMetadata
3
- VERSION = '1.4.0'
3
+ VERSION = '1.5.0'
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: 1.4.0
4
+ version: 1.5.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: 2016-02-19 00:00:00.000000000 Z
11
+ date: 2016-02-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: octokit