Sha256: ac39e57fc30f1db7c6a78dfe625d2f836daffe64d14bcbdadccd5878d38ba5df

Contents?: true

Size: 1.49 KB

Versions: 21

Compression:

Stored size: 1.49 KB

Contents

module Conekta
  module Operations
    module Delete
      def delete
        self.custom_action(:delete, nil, nil)
        self
      end
      def delete_member(parent, member)
        self.custom_action(:delete, nil, nil)
        parent = parent.to_sym
        member = member.to_sym
        obj = self.method(parent).call.method(member).call
        if obj.class.class_name == "ConektaObject"
          self.method(parent).call.method(member).call.each do |(k, v)|
            if v.id == self.id
              self.method(parent).call.method(member).call[k] = nil
              # Shift hash array
              shift = false
              self.method(parent).call.method(member).call.each_with_index do |v,i|
                if shift
                  self.method(parent).call.method(member).call.set_val(i-1,v[1])
                  self.method(parent).call.method(member).call[i-1] = v[1]
                end
                if v[1] == nil
                  shift = true
                end
              end
              n_members = self.method(parent).call.method(member).call.count
              last_index = n_members - 1
              # Remove last member because the hash array was shifted
              self.method(parent).call.method(member).call.unset_key(last_index)
              self.method(parent).call.method(member).call.delete(last_index)
              break
            end
          end
        else
          self.create_attr(member.to_s, nil)
        end
        self
      end
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
conekta-1.0.0 lib/conekta/operations/delete.rb
conekta-0.5.8 lib/conekta/operations/delete.rb
conekta-0.5.7 lib/conekta/operations/delete.rb
conekta-0.5.6 lib/conekta/operations/delete.rb
conekta-0.5.5 lib/conekta/operations/delete.rb
conekta-0.5.4 lib/conekta/operations/delete.rb
conekta-0.5.3 lib/conekta/operations/delete.rb
conekta-0.5.2 lib/conekta/operations/delete.rb
conekta-0.5.1 lib/conekta/operations/delete.rb
conekta-0.4.8 lib/conekta/operations/delete.rb
conekta-0.4.7 lib/conekta/operations/delete.rb
conekta-0.4.6 lib/conekta/operations/delete.rb
conekta-0.4.5 lib/conekta/operations/delete.rb
conekta-0.4.4 lib/conekta/operations/delete.rb
conekta-0.4.3 lib/conekta/operations/delete.rb
conekta-0.4.2 lib/conekta/operations/delete.rb
conekta-0.4.1 lib/conekta/operations/delete.rb
conekta-0.4.0 lib/conekta/operations/delete.rb
conekta-0.3.7 lib/conekta/operations/delete.rb
conekta-0.3.6 lib/conekta/operations/delete.rb