More Related Content
Similar to Searched gems which supports only ruby 2.6
Similar to Searched gems which supports only ruby 2.6 (20)
More from Maki Toshio (11)
Searched gems which supports only ruby 2.6
- 3. require 'rubygems'
require 'open-uri
specs = Marshal.load(Gem.gunzip(File.read("./latest_specs.4.8.gz")))
total = specs.length
specs.each do |gem_name, gem_version, _|
begin
compressed = open("https://rubygems.org/quick/Marshal.4.8/#{gem_name}-#{gem_version}.gemspec.rz").read
inflated = Gem.inflate(compressed)
spec = Marshal.load(inflated)
ruby1_8 = Gem::Version.new("1.8.7")
ruby1_9 = Gem::Version.new("1.9.3")
ruby2_0 = Gem::Version.new("2.0.0")
ruby2_1 = Gem::Version.new("2.1.0")
ruby2_2 = Gem::Version.new("2.2.0")
ruby2_3 = Gem::Version.new("2.3.0")
ruby2_4 = Gem::Version.new("2.4.0")
ruby2_5 = Gem::Version.new("2.5.0")
ruby2_5_1 = Gem::Version.new("2.5.1")
ruby2_5_2 = Gem::Version.new("2.5.2")
ruby2_5_3 = Gem::Version.new("2.5.3")
ruby2_6 = Gem::Version.new("2.6.0")
old_versions = [ruby1_8, ruby1_9, ruby2_0, ruby2_1,
ruby2_2, ruby2_3, ruby2_4, ruby2_5,
ruby2_5_1, ruby2_5_2, ruby2_5_3]
required = spec.required_ruby_version
if old_versions.all?{|v| !required.satisfied_by?(v) } && required.satisfied_by?(ruby2_6)
puts "#{gem_name}-#{gem_version}"
end
rescue => e
puts "#{gem_name}: #{e.message}"
end
end
- 11. require 'function-composite'
using Function::Composite
p %w{72 101 108 108 111}.map(&:to_i >> :chr) #=> ["H", "e", "l", "l", "o"]
p %w{72 101 108 108 111}.map(&proc { |s| s.to_i } >> :chr) #=> ["H", "e", "l", "l", "o"]
h = { Alice: 30, Bob: 60, Cris: 90 }
p %w{Alice Bob Cris}.map(&(:to_sym >> h)) #=> [30, 60, 90]