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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user