Class: Gemstash::GemSource::UpstreamSource
- Inherits:
-
RedirectSource
- Object
- Base
- RedirectSource
- Gemstash::GemSource::UpstreamSource
- Includes:
- Env::Helper, DependencyCaching
- Defined in:
- lib/gemstash/gem_source/upstream_source.rb
Overview
GemSource for gems in an upstream server.
Direct Known Subclasses
Constant Summary
Constants included from DependencyCaching
DependencyCaching::API_REQUEST_LIMIT
Constants included from Logging
Class Method Summary collapse
Instance Method Summary collapse
- #serve_gem(id) ⇒ Object
- #serve_latest_specs ⇒ Object
- #serve_marshal(id) ⇒ Object
- #serve_prerelease_specs ⇒ Object
- #serve_specs ⇒ Object
Methods included from DependencyCaching
#serve_dependencies, #serve_dependencies_json
Methods inherited from RedirectSource
capture_user_agent, matches?, #serve_actual_gem, #serve_add_gem, #serve_add_spec_json, #serve_dependencies, #serve_dependencies_json, #serve_info, #serve_names, #serve_remove_spec_json, #serve_root, #serve_versions, #serve_yank
Methods inherited from Base
Methods included from Logging
#log, #log_error, logger, reset, setup_logger
Constructor Details
This class inherits a constructor from Gemstash::GemSource::Base
Class Method Details
.rack_env_rewriter ⇒ Object
119 120 121 |
# File 'lib/gemstash/gem_source/upstream_source.rb', line 119 def self.rack_env_rewriter @rack_env_rewriter ||= Gemstash::RackEnvRewriter.new(%r{\A/upstream/(?<upstream_url>[^/]+)}) end |
Instance Method Details
#serve_gem(id) ⇒ Object
127 128 129 |
# File 'lib/gemstash/gem_source/upstream_source.rb', line 127 def serve_gem(id) serve_cached(id, :gem) end |
#serve_latest_specs ⇒ Object
131 132 133 134 |
# File 'lib/gemstash/gem_source/upstream_source.rb', line 131 def serve_latest_specs http_client = http_client_for(upstream) http_client.get("latest_specs.4.8.gz") end |
#serve_marshal(id) ⇒ Object
123 124 125 |
# File 'lib/gemstash/gem_source/upstream_source.rb', line 123 def serve_marshal(id) serve_cached(id, :spec) end |
#serve_prerelease_specs ⇒ Object
136 137 138 139 |
# File 'lib/gemstash/gem_source/upstream_source.rb', line 136 def serve_prerelease_specs http_client = http_client_for(upstream) http_client.get("prerelease_specs.4.8.gz") end |
#serve_specs ⇒ Object
141 142 143 144 |
# File 'lib/gemstash/gem_source/upstream_source.rb', line 141 def serve_specs http_client = http_client_for(upstream) http_client.get("specs.4.8.gz") end |