first pass at caching. still WIP. Need to parameterize some things
This commit is contained in:
parent
3cf2802d9a
commit
4ecb21c0b0
16
Gemfile.lock
16
Gemfile.lock
|
@ -4,12 +4,21 @@ PATH
|
||||||
github_changelog_generator (1.13.1)
|
github_changelog_generator (1.13.1)
|
||||||
github_api (>= 0.14)
|
github_api (>= 0.14)
|
||||||
rainbow (>= 2.1)
|
rainbow (>= 2.1)
|
||||||
|
activesupport
|
||||||
|
faraday-http-cache
|
||||||
|
github_api (~> 0.12)
|
||||||
octokit (~> 4.0)
|
octokit (~> 4.0)
|
||||||
rake (>= 10.0)
|
rake (>= 10.0)
|
||||||
|
|
||||||
GEM
|
GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
|
activesupport (4.2.6)
|
||||||
|
i18n (~> 0.7)
|
||||||
|
json (~> 1.7, >= 1.7.7)
|
||||||
|
minitest (~> 5.1)
|
||||||
|
thread_safe (~> 0.3, >= 0.3.4)
|
||||||
|
tzinfo (~> 1.1)
|
||||||
addressable (2.4.0)
|
addressable (2.4.0)
|
||||||
ast (2.3.0)
|
ast (2.3.0)
|
||||||
childprocess (0.5.9)
|
childprocess (0.5.9)
|
||||||
|
@ -28,17 +37,22 @@ GEM
|
||||||
docile (1.1.5)
|
docile (1.1.5)
|
||||||
faraday (0.9.2)
|
faraday (0.9.2)
|
||||||
multipart-post (>= 1.2, < 3)
|
multipart-post (>= 1.2, < 3)
|
||||||
|
faraday-http-cache (1.3.0)
|
||||||
ffi (1.9.14)
|
ffi (1.9.14)
|
||||||
github_api (0.14.5)
|
github_api (0.14.5)
|
||||||
|
faraday (~> 0.8)
|
||||||
addressable (~> 2.4.0)
|
addressable (~> 2.4.0)
|
||||||
descendants_tracker (~> 0.0.4)
|
descendants_tracker (~> 0.0.4)
|
||||||
faraday (~> 0.8, < 0.10)
|
faraday (~> 0.8, < 0.10)
|
||||||
hashie (>= 3.4)
|
hashie (>= 3.4)
|
||||||
|
multi_json (>= 1.7.5, < 2.0)
|
||||||
oauth2 (~> 1.0)
|
oauth2 (~> 1.0)
|
||||||
hashie (3.4.6)
|
hashie (3.4.6)
|
||||||
|
i18n (0.7.0)
|
||||||
iniparse (1.4.2)
|
iniparse (1.4.2)
|
||||||
json (1.8.3)
|
json (1.8.3)
|
||||||
jwt (1.5.6)
|
jwt (1.5.6)
|
||||||
|
minitest (5.9.0)
|
||||||
multi_json (1.12.1)
|
multi_json (1.12.1)
|
||||||
multi_xml (0.5.5)
|
multi_xml (0.5.5)
|
||||||
multipart-post (2.0.0)
|
multipart-post (2.0.0)
|
||||||
|
@ -92,6 +106,8 @@ GEM
|
||||||
thor (0.19.1)
|
thor (0.19.1)
|
||||||
thread_safe (0.3.5)
|
thread_safe (0.3.5)
|
||||||
tins (1.6.0)
|
tins (1.6.0)
|
||||||
|
tzinfo (1.2.2)
|
||||||
|
thread_safe (~> 0.1)
|
||||||
unicode-display_width (1.1.1)
|
unicode-display_width (1.1.1)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
|
|
|
@ -28,4 +28,6 @@ Gem::Specification.new do |spec|
|
||||||
spec.add_runtime_dependency "github_api", ">= 0.14"
|
spec.add_runtime_dependency "github_api", ">= 0.14"
|
||||||
spec.add_runtime_dependency "rainbow", ">= 2.1"
|
spec.add_runtime_dependency "rainbow", ">= 2.1"
|
||||||
spec.add_runtime_dependency("octokit", ["~> 4.0"])
|
spec.add_runtime_dependency("octokit", ["~> 4.0"])
|
||||||
|
spec.add_runtime_dependency("faraday-http-cache")
|
||||||
|
spec.add_runtime_dependency("activesupport")
|
||||||
end
|
end
|
||||||
|
|
|
@ -3,6 +3,9 @@
|
||||||
|
|
||||||
require "github_api"
|
require "github_api"
|
||||||
require "octokit"
|
require "octokit"
|
||||||
|
require 'faraday-http-cache'
|
||||||
|
require "logger"
|
||||||
|
require "active_support"
|
||||||
require "json"
|
require "json"
|
||||||
require "benchmark"
|
require "benchmark"
|
||||||
|
|
||||||
|
|
|
@ -27,10 +27,26 @@ module GitHubChangelogGenerator
|
||||||
@github_options[:access_token] = @github_token unless @github_token.nil?
|
@github_options[:access_token] = @github_token unless @github_token.nil?
|
||||||
@github_options[:api_endpoint] = @options[:github_endpoint] unless @options[:github_endpoint].nil?
|
@github_options[:api_endpoint] = @options[:github_endpoint] unless @options[:github_endpoint].nil?
|
||||||
|
|
||||||
|
init_middleware
|
||||||
client_type = @options[:github_endpoint].nil? ? Octokit::Client : Octokit::EnterpriseAdminClient
|
client_type = @options[:github_endpoint].nil? ? Octokit::Client : Octokit::EnterpriseAdminClient
|
||||||
@client = client_type.new(@github_options)
|
@client = client_type.new(@github_options)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def init_middleware
|
||||||
|
middleware_opts = {
|
||||||
|
:serializer => Marshal,
|
||||||
|
:store => ActiveSupport::Cache::FileStore.new('/tmp/cache'),
|
||||||
|
:logger => Logger.new('/tmp/github-changelog-logger.log'),
|
||||||
|
:shared_cache => false
|
||||||
|
}
|
||||||
|
stack = Faraday::RackBuilder.new do |builder|
|
||||||
|
builder.use Faraday::HttpCache, middleware_opts
|
||||||
|
builder.use Octokit::Response::RaiseError
|
||||||
|
builder.adapter Faraday.default_adapter
|
||||||
|
# builder.response :logger
|
||||||
|
end
|
||||||
|
Octokit.middleware = stack
|
||||||
|
end
|
||||||
|
|
||||||
# Fetch all tags from repo
|
# Fetch all tags from repo
|
||||||
#
|
#
|
||||||
|
|
Loading…
Reference in New Issue
Block a user