lib/fuelsdk.rb in fuelsdk-0.0.4 vs lib/fuelsdk.rb in fuelsdk-0.0.5
- old
+ new
@@ -3,10 +3,11 @@
require 'rubygems'
require 'date'
require 'jwt'
module FuelSDK
+ require 'fuelsdk/utils'
autoload :HTTPRequest, 'fuelsdk/http_request'
autoload :Targeting, 'fuelsdk/targeting'
autoload :Soap, 'fuelsdk/soap'
autoload :Rest, 'fuelsdk/rest'
require 'fuelsdk/client'
@@ -16,239 +17,16 @@
# backwards compatability
ET_Client = FuelSDK::Client
ET_BounceEvent = FuelSDK::BounceEvent
ET_ClickEvent = FuelSDK::ClickEvent
ET_ContentArea = FuelSDK::ContentArea
+ET_DataExtension = FuelSDK::DataExtension
ET_DataFolder = FuelSDK::DataFolder
ET_Folder = FuelSDK::Folder
ET_Email = FuelSDK::Email
ET_List = FuelSDK::List
ET_OpenEvent = FuelSDK::OpenEvent
ET_SentEvent = FuelSDK::SentEvent
ET_Subscriber = FuelSDK::Subscriber
ET_UnsubEvent = FuelSDK::UnsubEvent
ET_TriggeredSend = FuelSDK::TriggeredSend
ET_Campaign = FuelSDK::Campaign
-
-=begin
- class ET_DataExtension < ET_CUDSupport
- attr_accessor :columns
-
- def initialize
- super
- @obj = 'DataExtension'
- end
-
- def post
- originalProps = @props
-
- if @props.is_a? Array then
- 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'] = {}
- @props['Fields']['Field'] = []
-
- @columns.each { |key|
- @props['Fields']['Field'].push(key)
- }
- end
-
- obj = super
- @props = originalProps
- return obj
- end
-
- def patch
- @props['Fields'] = {}
- @props['Fields']['Field'] = []
- @columns.each { |key|
- @props['Fields']['Field'].push(key)
- }
- obj = super
- @props.delete("Fields")
- return obj
- end
-
- class Column < ET_GetSupport
- def initialize
- super
- @obj = 'DataExtensionField'
- end
-
- def get
-
- if props and props.is_a? Array then
- @props = props
- end
-
- if @props and @props.is_a? Hash then
- @props = @props.keys
- end
-
- if filter and filter.is_a? Hash then
- @filter = filter
- end
-
- fixCustomerKey = false
- if filter and filter.is_a? Hash then
- @filter = filter
- if @filter.has_key?("Property") && @filter["Property"] == "CustomerKey" then
- @filter["Property"] = "DataExtension.CustomerKey"
- fixCustomerKey = true
- end
- end
-
- obj = ET_Get.new(@authStub, @obj, @props, @filter)
- @lastRequestID = obj.request_id
-
- if fixCustomerKey then
- @filter["Property"] = "CustomerKey"
- end
-
- return obj
- end
- end
-
- class Row < ET_CUDSupport
- attr_accessor :Name, :CustomerKey
-
- def initialize()
- super
- @obj = "DataExtensionObject"
- end
-
- def get
- getName
- if props and props.is_a? Array then
- @props = props
- end
-
- if @props and @props.is_a? Hash then
- @props = @props.keys
- end
-
- if filter and filter.is_a? Hash then
- @filter = filter
- end
-
- obj = ET_Get.new(@authStub, "DataExtensionObject[#{@Name}]", @props, @filter)
- @lastRequestID = obj.request_id
-
- return obj
- end
-
- def post
- getCustomerKey
- originalProps = @props
- ## FIX THIS
- if @props.is_a? Array then
- # multiRow = []
- # @props.each { |currentDE|
-
- # currentDE['columns'].each { |key|
- # currentDE['Fields'] = {}
- # currentDE['Fields']['Field'] = []
- # currentDE['Fields']['Field'].push(key)
- # }
- # currentDE.delete('columns')
- # multiRow.push(currentDE.dup)
- # }
-
- # @props = multiRow
- else
- currentFields = []
- currentProp = {}
-
- @props.each { |key,value|
- currentFields.push({"Name" => key, "Value" => value})
- }
- currentProp['CustomerKey'] = @CustomerKey
- currentProp['Properties'] = {}
- currentProp['Properties']['Property'] = currentFields
- end
-
- obj = ET_Post.new(@authStub, @obj, currentProp)
- @props = originalProps
- obj
- end
-
- def patch
- getCustomerKey
- currentFields = []
- currentProp = {}
-
- @props.each { |key,value|
- currentFields.push({"Name" => key, "Value" => value})
- }
- currentProp['CustomerKey'] = @CustomerKey
- currentProp['Properties'] = {}
- currentProp['Properties']['Property'] = currentFields
-
- ET_Patch.new(@authStub, @obj, currentProp)
- end
- def delete
- getCustomerKey
- currentFields = []
- currentProp = {}
-
- @props.each { |key,value|
- currentFields.push({"Name" => key, "Value" => value})
- }
- currentProp['CustomerKey'] = @CustomerKey
- currentProp['Keys'] = {}
- currentProp['Keys']['Key'] = currentFields
-
- ET_Delete.new(@authStub, @obj, currentProp)
- end
-
- private
- def getCustomerKey
- if @CustomerKey.nil? then
- if @CustomerKey.nil? && @Name.nil? then
- raise 'Unable to process DataExtension::Row request due to CustomerKey and Name not being defined on ET_DatExtension::row'
- else
- de = ET_DataExtension.new
- de.authStub = @authStub
- de.props = ["Name","CustomerKey"]
- de.filter = {'Property' => 'CustomerKey','SimpleOperator' => 'equals','Value' => @Name}
- getResponse = de.get
- if getResponse.status && (getResponse.results.length == 1) then
- @CustomerKey = getResponse.results[0][:customer_key]
- else
- raise 'Unable to process DataExtension::Row request due to unable to find DataExtension based on Name'
- end
- end
- end
- end
-
- def getName
- if @Name.nil? then
- if @CustomerKey.nil? && @Name.nil? then
- raise 'Unable to process DataExtension::Row request due to CustomerKey and Name not being defined on ET_DatExtension::row'
- else
- de = ET_DataExtension.new
- de.authStub = @authStub
- de.props = ["Name","CustomerKey"]
- de.filter = {'Property' => 'CustomerKey','SimpleOperator' => 'equals','Value' => @CustomerKey}
- getResponse = de.get
- if getResponse.status && (getResponse.results.length == 1) then
- @Name = getResponse.results[0][:name]
- else
- raise 'Unable to process DataExtension::Row request due to unable to find DataExtension based on CustomerKey'
- end
- end
- end
- end
- end
- end
-=end