lib/rico/array.rb in rico-0.2.0 vs lib/rico/array.rb in rico-0.3.0

- old
+ new

@@ -1,49 +1,17 @@ module Rico - class Array - include Rico::Object - include Enumerable - extend Forwardable + class Array < Collection - def_delegators :members, :each, :[], :length, :count - public - # Adds the requested items to the array and stores the object - # - # items - items to be added to the array - # - # Returns the result of the store operation - def add(*items) - mutate build_map_add(items) - end - - # Removes the requested items from the array and stores the object - # - # items - items to be removed from the array - # - # Returns the result of the store operation - def remove(*items) - mutate build_map_remove(items) - end - # Obtains the items in the array # # Returns the data in the object as an array def members Array((data || {})["_values"]) end - # Tests whether or not an item exists in the array - # - # item - item to test against - # - # Returns true or false - def member?(item) - members.include? item - end - # Resolve conflict between one or more RObject siblings # # robjects - array of RObjects to merge # # Returns a single RObject result or nil @@ -61,26 +29,8 @@ obj = robject.dup obj.siblings = [obj.siblings.first] obj.data = { "_values" => result, "_deletes" => deletions } obj - end - - protected - - def build_map_add(items) - { "_type" => type_key, "_values" => compute_add(items) } - end - - def build_map_remove(items) - { "_type" => type_key, "_values" => compute_remove(items), "_deletes" => items } - end - - def compute_add(items) - members + items - end - - def compute_remove(items) - members - items end end end