jekyll-github-metadata 1.7.0 → 1.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/jekyll-github-metadata/client.rb +12 -3
- data/lib/jekyll-github-metadata/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7fa1821d6ccee003926a0f48c29e55297f6f6b7e
|
4
|
+
data.tar.gz: 365ade522cbadf13eef373e287492f0868acbf06
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3d87d8db81aafbd0c5568ee108b44cf40d2c105a5f2f68322166e5115bd04b2c660b95732dd418a5af0156708a7c82c329aee4e704efd291b692a943f84adf50
|
7
|
+
data.tar.gz: b7cd63c3b740bf203a2ff454ba6f108234646748ea6c317a2091755f7b040f282af02f1c6827dcfb6d122ac5467dbc47195ccf93fc2322df38c64ff913ddd0fe
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'digest'
|
2
|
+
|
1
3
|
module Jekyll
|
2
4
|
module GitHubMetadata
|
3
5
|
class Client
|
@@ -45,10 +47,9 @@ module Jekyll
|
|
45
47
|
def method_missing(method_name, *args, &block)
|
46
48
|
method = method_name.to_s
|
47
49
|
if accepts_client_method?(method_name)
|
48
|
-
|
50
|
+
key = cache_key(method_name, args)
|
49
51
|
Jekyll.logger.debug "GitHub Metadata:", "Calling @client.#{method}(#{args.map(&:inspect).join(", ")})"
|
50
|
-
|
51
|
-
instance_variable_set(:"@#{instance_var_name}", save_from_errors { @client.public_send(method_name, *args, &block) })
|
52
|
+
cache[key] ||= save_from_errors { @client.public_send(method_name, *args, &block) }
|
52
53
|
elsif @client.respond_to?(method_name)
|
53
54
|
raise InvalidMethodError, "#{method_name} is not whitelisted on #{inspect}"
|
54
55
|
else
|
@@ -94,6 +95,14 @@ module Jekyll
|
|
94
95
|
{}.freeze
|
95
96
|
end
|
96
97
|
end
|
98
|
+
|
99
|
+
def cache_key(method, *args)
|
100
|
+
Digest::SHA1.hexdigest(method.to_s + args.join(", "))
|
101
|
+
end
|
102
|
+
|
103
|
+
def cache
|
104
|
+
@cache ||= {}
|
105
|
+
end
|
97
106
|
end
|
98
107
|
end
|
99
108
|
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
|
+
version: 1.8.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-03-
|
11
|
+
date: 2016-03-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: octokit
|