Sha256: efc276ec5686318ae2784f034e6b786d9ecc90b84eb861edf0e2b86b6ab8d786

Contents?: true

Size: 1.1 KB

Versions: 11

Compression:

Stored size: 1.1 KB

Contents

module Conekta
  module Operations
    module CreateMember
      def create_member(member, params)
        _url     = [self._url, member].join('/')
        member   = member.to_sym
        response = Requestor.new.request(:post, _url, params)

        if self.send(member) &&
           (self.send(member).class.class_name == "ConektaObject" ||
            self.send(member).class.class_name == "List")
          arr = []

          if self.send(member).class.class_name == "List"
            self.send(member).add_element(response)
          else
            self.method(member).call.values.each do |_,v|
              arr << v.to_hash
            end

            arr << response
            self.send(member).load_from(arr)
            self.load_from
          end

          instances = self.send(member)
          instance = instances.last
        else
          instance = Util.types[member.to_s].new()
          instance.load_from(response)
          self.create_attr(member.to_s, instance)
          self.set_val(member.to_sym, instance)
          self.load_from
        end

        instance
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
conekta-2.6.0 lib/conekta/operations/create_member.rb
conekta-2.5.0 lib/conekta/operations/create_member.rb
conekta-2.4.2 lib/conekta/operations/create_member.rb
conekta-2.4.1 lib/conekta/operations/create_member.rb
conekta-2.4.0 lib/conekta/operations/create_member.rb
conekta-2.3.0 lib/conekta/operations/create_member.rb
conekta-2.0.0 lib/conekta/operations/create_member.rb
conekta-1.1.3 lib/conekta/operations/create_member.rb
conekta-1.1.2 lib/conekta/operations/create_member.rb
conekta-1.1.1 lib/conekta/operations/create_member.rb
conekta-1.1.0 lib/conekta/operations/create_member.rb