-
Extending Immediate Types and Source Locations in Ruby
Overridding singleton classes of instances In Ruby, most types allow you to open up their singleton classes to override instance methods: Immediate values Some objects are implemented as immediate values in Ruby, and cannot be implemented have singleton methods defined on them directly: Fixnum, true, nil, and false are implemented as immediate values. With immediate values, variables hold the…
-
Conditional gems in ruby without breaking Gemfile.lock
Do you want ruby/bundler to skip a gem install on a certain platform, but any other platform needs that gem? The obvious answer would be the following, which would result in also clobbering your Gemfile.lock if bundling on macOS: gem “openssl”, “= 3.2.0” if RUBY_PLATFORM !~ /darwin/ But bundler has its own method, install_if , to accomplish such a…