lib/rico/array.rb in rico-0.4.0 vs lib/rico/array.rb in rico-0.5.0

- old
+ new

@@ -5,11 +5,13 @@ # Obtains the items in the array # # Returns the data in the object as an array def members - Array((data || {})["_values"]) + assert_type(::Array) do + data["_values"] || [] + end end # Resolve conflict between one or more RObject siblings # # robjects - array of RObjects to merge @@ -33,21 +35,41 @@ obj end protected + # Constructs a document map for the given operation + # + # items - Items to add to members + # + # Returns a Hash representing the document map def build_map_add(items) { "_type" => type_key, "_values" => compute_add(items) } end + # Constructs a document map for the given operation + # + # items - Items to remove to members + # + # Returns a Hash representing the document map def build_map_remove(items) { "_type" => type_key, "_values" => compute_remove(items), "_deletes" => items } end + # Add items to our member array + # + # items - Items to add + # + # Returns an Array of the resulting addition def compute_add(items) members + Array(items) end + # Remove items from our member array + # + # items - Items to remove. Can be an array of values or a single object + # + # Returns an Array of the new object def compute_remove(items) members - Array(items) end end end