# # Author: Seth Vargo # # Copyright 2014 Chef Software, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # module Falcore class NullObject < BasicObject ARRAY = [] INTEGER = 0 FLOAT = 0.0 STRING = '' INSPECT = 'nil' def nil? true end alias_method :empty?, :nil? def to_a ARRAY.dup end def to_i INTEGER end def to_f FLOAT end def to_s STRING.dup end def inspect INSPECT.dup end def method_missing(m, *args, &block) self end end end