Iterates the given block for each element with an index, which starts from offset
. If no block is given, returns a new Enumerator
that includes the index, starting from offset
offset
the starting index to use
Like Enumerable#select
, but chains operation to be lazy-evaluated.
Returns the Object#object_id
of the internal object.
Loads the given private key identified by id and data.
An EngineError
is raised of the OpenSSL::PKey
is unavailable.
Extracts addr from IPV6_PKTINFO ancillary data.
IPV6_PKTINFO is defined by RFC 3542.
addr = Addrinfo.ip("::1") ifindex = 0 ancdata = Socket::AncillaryData.ipv6_pktinfo(addr, ifindex) p ancdata.ipv6_pktinfo_addr #=> #<Addrinfo: ::1>
Creates a new Socket::Option
object for IP_MULTICAST_TTL.
The size is dependent on the platform.
p Socket::Option.ipv4_multicast_ttl(10) #=> #<Socket::Option: INET IP MULTICAST_TTL 10>
Returns the ipv4_multicast_ttl
data in sockopt as an integer.
sockopt = Socket::Option.ipv4_multicast_ttl(10) p sockopt.ipv4_multicast_ttl => 10
Creates a new Socket::Option
object for IP_MULTICAST_LOOP.
The size is dependent on the platform.
sockopt = Socket::Option.int(:INET, :IPPROTO_IP, :IP_MULTICAST_LOOP, 1) p sockopt.int => 1 p Socket::Option.ipv4_multicast_loop(10) #=> #<Socket::Option: INET IP MULTICAST_LOOP 10>
Returns the ipv4_multicast_loop
data in sockopt as an integer.
sockopt = Socket::Option.ipv4_multicast_loop(10) p sockopt.ipv4_multicast_loop => 10
Load an iseq object from binary format String
object created by RubyVM::InstructionSequence.to_binary
.
This loader does not have a verifier, so that loading broken/modified binary causes critical problem.
You should not load binary data provided by others. You should use binary data translated by yourself.
Takes file
, a String
with the location of a Ruby
source file, reads, parses and compiles the file, and returns iseq
, the compiled InstructionSequence
with source location metadata set. It parses and compiles using prism.
Optionally takes options
, which can be true
, false
or a Hash
, to modify the default behavior of the Ruby
iseq compiler.
For details regarding valid compile options see ::compile_option=
.
# /tmp/hello.rb puts "Hello, world!" # elsewhere RubyVM::InstructionSequence.compile_file_prism("/tmp/hello.rb") #=> <RubyVM::InstructionSequence:<main>@/tmp/hello.rb>
Returns whether the request may have a body:
Net::HTTP::Post.new(uri).request_body_permitted? # => true Net::HTTP::Get.new(uri).request_body_permitted? # => false
Waits up to the continue timeout for a response from the server provided we’re speaking HTTP 1.1 and are expecting a 100-continue response.
The character offset from the beginning of the source where this location starts.
The column number in characters where this location ends from the start of the line.
Compile a name associated with a constant.
Converts this AvailableSet
into a RequestSet that can be used to install gems.
If development
is :none then no development dependencies are installed. Other options are :shallow for only direct development dependencies of the gems in this set or :all for all development dependencies.
Return true if this spec can require file
.
Return an array of extra arguments for the command. The extra arguments come from the gem configuration file read at program startup.
Adds extra args from ~/.gemrc