# frozen_string_literal: true require_relative 'base' module RubyVault module Options module Values class Boolean < Base def resolve return nil if @value.nil? return @value if a_boolean?(@value) return true if true_as_string?(@value) false end def render resolve&.to_s end private def a_boolean?(value) value.is_a?(TrueClass) || value.is_a?(FalseClass) end def true_as_string?(value) value.respond_to?(:downcase) && value.downcase == 'true' end end end end end