Class: GemXray::StdgemsClient
- Inherits:
-
Object
- Object
- GemXray::StdgemsClient
- Defined in:
- lib/gemxray/stdgems_client.rb
Constant Summary collapse
- CACHE_TTL =
86_400- DEFAULT_GEMS_URI =
URI("https://stdgems.org/default_gems.json")
- BUNDLED_GEMS_URI =
URI("https://stdgems.org/bundled_gems.json")
- FALLBACK_DEFAULT_GEMS =
{ "3.1" => %w[ abbrev base64 benchmark bigdecimal cgi csv date delegate did_you_mean digest drb english erb error_highlight fileutils find io-console irb json logger mutex_m net-http net-imap net-pop net-protocol net-smtp observer open-uri open3 openssl optparse ostruct pp prettyprint prime pstore psych rake rdoc readline resolv rexml rss ruby2_keywords securerandom set shell socket stringio strscan tempfile time timeout tmpdir tsort typeprof un uri weakref yaml zlib ], "3.2" => %w[ abbrev base64 benchmark bigdecimal cgi csv date delegate did_you_mean digest drb english erb error_highlight fileutils find io-console irb json logger mutex_m net-http net-imap net-pop net-protocol net-smtp observer open-uri open3 openssl optparse ostruct pp prettyprint prime pstore psych rake rdoc readline resolv rexml rss securerandom set shell socket stringio strscan syntax_suggest tempfile time timeout tmpdir tsort un uri weakref yaml zlib ], "3.3" => %w[ abbrev base64 benchmark bigdecimal cgi csv date delegate did_you_mean digest drb english erb error_highlight fileutils find io-console irb json logger mutex_m net-http net-imap net-pop net-protocol net-smtp observer open-uri open3 openssl optparse ostruct pp prettyprint prime pstore psych rake rdoc readline resolv rexml rss securerandom set shell socket stringio strscan syntax_suggest tempfile time timeout tmpdir tsort un uri weakref yaml zlib ], "4.0" => Gem::Specification.select { |spec| spec.respond_to?(:default_gem?) && spec.default_gem? }.map(&:name).sort }.freeze
- FALLBACK_BUNDLED_GEMS =
{ "3.1" => %w[debug matrix minitest power_assert racc rake rbs rexml test-unit typeprof], "3.2" => %w[debug matrix minitest power_assert racc rake rbs rexml test-unit typeprof], "3.3" => %w[debug matrix minitest power_assert racc rake rbs rexml test-unit typeprof], "4.0" => %w[debug matrix minitest power_assert racc rake rbs rexml test-unit typeprof] }.freeze
Instance Method Summary collapse
- #bundled_gems_for(version) ⇒ Object
- #default_gems_for(version) ⇒ Object
-
#initialize(cache_dir: File.join(Dir.home, ".gemxray", "cache")) ⇒ StdgemsClient
constructor
A new instance of StdgemsClient.
Constructor Details
#initialize(cache_dir: File.join(Dir.home, ".gemxray", "cache")) ⇒ StdgemsClient
Returns a new instance of StdgemsClient.
50 51 52 |
# File 'lib/gemxray/stdgems_client.rb', line 50 def initialize(cache_dir: File.join(Dir.home, ".gemxray", "cache")) @cache_dir = cache_dir end |
Instance Method Details
#bundled_gems_for(version) ⇒ Object
63 64 65 66 67 68 69 70 |
# File 'lib/gemxray/stdgems_client.rb', line 63 def bundled_gems_for(version) version_key = normalize_version(version) extracted = extract_gems(payload_for(:bundled), version_key, collection_keys: %w[bundled_gems default_gems]) return extracted if extracted && !extracted.empty? fallback_bundled_gems(version_key) end |
#default_gems_for(version) ⇒ Object
54 55 56 57 58 59 60 61 |
# File 'lib/gemxray/stdgems_client.rb', line 54 def default_gems_for(version) version_key = normalize_version(version) extracted = extract_gems(payload_for(:default), version_key, collection_keys: %w[default_gems]) return extracted if extracted && !extracted.empty? fallback_default_gems(version_key) end |