module NullableOptic

Public Instance Methods

nullable() click to toggle source
# File lib/ruby-optics/nullable.rb, line 4
def nullable
  self.class.new(
    -> (obj) {
      if obj.nil?
        nil
      else
        getter.(obj)
      end
    },

    -> (new_val, obj) {
      if obj.nil?
        nil
      else
        setter.(new_val, obj)
      end
    }
  )
end