jekyll-github-metadata 1.4.0 → 1.5.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: 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