Skip to content

Ruby 3.5 to drop win32ole #345

Closed

Description

@Earlopain

Ruby is continuing its path of requiring more gems to be specified. win32ole is next on the list (among others) and will start warning in Ruby 3.4: ruby/ruby@f365bef

Usage is here, to get the number of cores on windows:

parallel/lib/parallel.rb

Lines 331 to 336 in f66f105

require 'win32ole'
result_set = WIN32OLE.connect("winmgmts://").ExecQuery(
"select NumberOfCores from Win32_Processor"
)
result_set.to_enum.collect(&:NumberOfCores).reduce(:+)
else

Something like the following may be a suitable replacement:

IO.popen("wmic cpu get NumberOfCores", &:read).scan(/\d+/).map(&:to_i).reduce(:+)

Output of that command:
NumberOfCores \n\n4 \n\n\n\n

I have also openend the same report on concurrent-ruby at ruby-concurrency/concurrent-ruby#1048 if you are interested. Both implementations for this are basically the same.

Activity

  1. grosser commented on Jun 5, 2024

    @grosser
    Owner

    awesome, thx for the heads up!
    I'll wait for concurrent-ruby to address this since they got more manpower :)

  2. Earlopain commented on Jun 6, 2024

    @Earlopain
    ContributorAuthor

    I openend ruby-concurrency/concurrent-ruby#1051 if you have some feedback

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions