Module: Chef::Node::Mixin::ImmutablizeHash

Included in:
Attribute, ImmutableMash
Defined in:
lib/chef/node/mixin/immutablize_hash.rb

Constant Summary collapse

ALLOWED_METHODS =

allowed methods that MUST NOT mutate the object (if any of these methods mutate the underlying object that is a bug that needs to be fixed)

[
  :<,
  :<=,
  :>,
  :>=,
  :[],
  :all?,
  :any?,
  :assoc,
  :chunk,
  :chunk_while,
  :collect,
  :collect_concat,
  :compact,
  :compare_by_identity,
  :compare_by_identity?,
  :count,
  :cycle,
  :default,
  :default_proc,
  :detect,
  :dig,
  :drop,
  :drop_while,
  :each,
  :each_cons,
  :each_entry,
  :each_key,
  :each_pair,
  :each_slice,
  :each_value,
  :each_with_index,
  :each_with_object,
  :empty?,
  :entries,
  :fetch,
  :fetch_values,
  :find,
  :find_all,
  :find_index,
  :first,
  :flat_map,
  :flatten,
  :grep,
  :grep_v,
  :group_by,
  :has_key?,
  :has_value?,
  :include?,
  :index,
  :inject,
  :invert,
  :key,
  :key?,
  :keys,
  :lazy,
  :length,
  :map,
  :max,
  :max_by,
  :member?,
  :merge,
  :min,
  :min_by,
  :minmax,
  :minmax_by,
  :none?,
  :one?,
  :partition,
  :rassoc,
  :reduce,
  :reject,
  :reverse_each,
  :save_plist,
  :select,
  :size,
  :slice,
  :slice_after,
  :slice_before,
  :slice_when,
  :sort,
  :sort_by,
  :sum,
  :take,
  :take_while,
  :to_a,
  :to_h,
  :to_hash,
  :to_plist,
  :to_proc,
  :to_set,
  :transform_keys,
  :transform_values,
  :uniq,
  :value?,
  :values,
  :values_at,
  :zip,
]
DISALLOWED_MUTATOR_METHODS =
[
  :[]=,
  :clear,
  :collect!,
  :compact!,
  :default=,
  :default_proc=,
  :delete,
  :delete_if,
  :keep_if,
  :map!,
  :merge!,
  :rehash,
  :reject!,
  :replace,
  :select!,
  :shift,
  :store,
  :transform_keys!,
  :transform_values!,
  :unlink!,
  :unlink,
  :update,
  :write!,
  :write,
]