Module: Chef::Node::Mixin::ImmutablizeArray

Included in:
ImmutableArray
Defined in:
lib/chef/node/mixin/immutablize_array.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)

[
  :&,
  :*,
  :+,
  :-,
  :[],
  :abbrev,
  :all?,
  :any?,
  :assoc,
  :at,
  :bsearch,
  :bsearch_index,
  :chunk,
  :chunk_while,
  :collect,
  :collect_concat,
  :combination,
  :compact,
  :count,
  :cycle,
  :detect,
  :dig,
  :drop,
  :drop_while,
  :each,
  :each_cons,
  :each_entry,
  :each_index,
  :each_slice,
  :each_with_index,
  :each_with_object,
  :empty?,
  :entries,
  :fetch,
  :find,
  :find_all,
  :find_index,
  :first,
  :flat_map,
  :flatten,
  :grep,
  :grep_v,
  :group_by,
  :include?,
  :index,
  :inject,
  :join,
  :last,
  :lazy,
  :length,
  :map,
  :max,
  :max_by,
  :member?,
  :min,
  :min_by,
  :minmax,
  :minmax_by,
  :none?,
  :one?,
  :pack,
  :partition,
  :permutation,
  :product,
  :rassoc,
  :reduce,
  :reject,
  :repeated_combination,
  :repeated_permutation,
  :reverse,
  :reverse_each,
  :rindex,
  :rotate,
  :sample,
  :save_plist,
  :select,
  :shelljoin,
  :shuffle,
  :size,
  :slice,
  :slice_after,
  :slice_before,
  :slice_when,
  :sort,
  :sort_by,
  :sum,
  :take,
  :take_while,
  :to_a,
  :to_ary,
  :to_csv,
  :to_h,
  :to_plist,
  :to_set,
  :transpose,
  :uniq,
  :values_at,
  :zip,
  :|,
]
DISALLOWED_MUTATOR_METHODS =

A list of methods that mutate Array. Each of these is overridden to raise an error, making this instances of this class more or less immutable.

[
  :<<,
  :[]=,
  :append,
  :clear,
  :collect!,
  :compact!,
  :concat,
  :default=,
  :default_proc=,
  :delete,
  :delete_at,
  :delete_if,
  :fill,
  :flatten!,
  :insert,
  :keep_if,
  :map!,
  :merge!,
  :pop,
  :prepend,
  :push,
  :reject!,
  :replace,
  :reverse!,
  :rotate!,
  :select!,
  :shift,
  :shuffle!,
  :slice!,
  :sort!,
  :sort_by!,
  :uniq!,
  :unshift,
  :update,
]