Class: ET::DataExtension

Inherits:
CUDSupport show all
Defined in:
lib/exact-target-api/data_extension.rb

Defined Under Namespace

Classes: Column, Row

Instance Attribute Summary collapse

Attributes inherited from GetSupport

#filter

Attributes inherited from BaseObject

#client, #endpoint, #lastRequestID, #obj, #props

Instance Method Summary collapse

Methods inherited from CUDSupport

#delete

Methods inherited from GetSupport

#get, #get_more_results, #info

Methods inherited from BaseObject

#stringify_keys!, #symbolize_keys!

Constructor Details

#initializeDataExtension

Returns a new instance of DataExtension.



5
6
7
8
# File 'lib/exact-target-api/data_extension.rb', line 5

def initialize
  super
  @obj = 'DataExtension'
end

Instance Attribute Details

#columnsObject

Returns the value of attribute columns.



3
4
5
# File 'lib/exact-target-api/data_extension.rb', line 3

def columns
  @columns
end

Instance Method Details

#patchObject



39
40
41
42
43
44
45
46
47
48
# File 'lib/exact-target-api/data_extension.rb', line 39

def patch
  @props['Fields'] = {}
  @props['Fields']['Field'] = []
  @columns.each { |key|
    @props['Fields']['Field'].push(key)
  }
  obj = super
  @props.delete("Fields")
  obj
end

#postObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/exact-target-api/data_extension.rb', line 10

def post
  originalProps = @props

  if @props.is_a? Array
    multiDE = []
    @props.each { |currentDE|
      currentDE['Fields'] = {}
      currentDE['Fields']['Field'] = []
      currentDE['columns'].each { |key|
        currentDE['Fields']['Field'].push(key)
      }
      currentDE.delete('columns')
      multiDE.push(currentDE.dup)
    }

    @props = multiDE
  else
    @props['Fields'] = {'Field' => []}

    @columns.each do |key|
      @props['Fields']['Field'].push(key)
    end
  end

  obj = super
  @props = originalProps
  obj
end