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)
%i{ & * + - [] abbrev all? any? assoc at bsearch bsearch_index chain chunk chunk_while collect collect_concat combination compact count cycle deconstruct detect difference dig drop drop_while each each_cons each_entry each_index each_slice each_with_index each_with_object empty? entries fetch filter filter_map find find_all find_index first flat_map flatten grep grep_v group_by include? index inject intersect? intersection 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 tally to_a to_ary to_csv to_h to_plist to_set to_yaml transpose union uniq values_at zip blank? presence present? to_yaml compact_blank to_xml to_sentence to_fs to_default_s to_formatted_s pick index_by in_order_of many? sole exclude? excluding minimum maximum pluck including without index_with | }.freeze
- 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.
%i{ << []= append clear collect! compact! concat default= default_proc= delete delete_at delete_if fill filter! flatten! insert keep_if map! merge! pop prepend push reject! replace reverse! rotate! select! shift shuffle! slice! sort! sort_by! uniq! unshift compact_blank! extract_options! }.freeze