cupid 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -25,6 +25,9 @@ et_translator = Cupid::Session.new
25
25
  # Retrieving folders for not default account (your_account_id can be nil - default account on ET)
26
26
  folders = et_translator.retrieve_email_folders
27
27
 
28
+ # Retrieving email copies for not default account (your_account_id can be nil - default account on ET)
29
+ copies = et_translator.retrieve_email_copies(name)
30
+
28
31
  # Creating new folder
29
32
  # not required fields for folder: description, content_type, is_active, is_editable, allow_children
30
33
  new_folder_id = et_translator.create_folder('title', :parent => parent_directory_id)
@@ -47,13 +50,13 @@ send_tracking_id = et_translator.send_email_to_list(email_id, list_id)
47
50
  Puts this line into `Gemfile` then run `$ bundle`:
48
51
 
49
52
  ``` ruby
50
- gem 'cupid', '0.1.1'
53
+ gem 'cupid', '0.1.2'
51
54
  ```
52
55
 
53
56
  Or if you are old-school Rails 2 developer put this into `config/environment.rb` and run `$ rake gems:install`:
54
57
 
55
58
  ``` ruby
56
- config.gem 'cupid', :version => '0.1.1'
59
+ config.gem 'cupid', :version => '0.1.2'
57
60
  ```
58
61
 
59
62
  Or manually install cupid gem: `$ gem install cupid`
@@ -15,6 +15,21 @@ module Cupid
15
15
  all_folders = response.css('Results').map{|f| {f.css('Name').to_a.map(&:text).join('/') => f.css('ID')[0].text}}
16
16
  end
17
17
 
18
+ def retrieve_email_copies(name, account=nil, properties=nil)
19
+ account ||= @account
20
+ properties ||= ['ID', 'Name']
21
+ filters = '<Filter xsi:type="SimpleFilterPart">' +
22
+ '<Property>Name</Property>' +
23
+ '<SimpleOperator>like</SimpleOperator>' +
24
+ '<Value>' + name + '</Value>' +
25
+ '</Filter>'
26
+
27
+ soap_body = build_retrieve(account.to_s, 'Email', properties, filters)
28
+ response = build_request('Retrieve', 'RetrieveRequestMsg', soap_body)
29
+ response = Nokogiri::XML(response.http.body).remove_namespaces!
30
+ all_copies = response.css('Results').map{|f| {f.css('Name').to_a.map(&:text).join('/') => f.css('ID')[0].text}}
31
+ end
32
+
18
33
  def create_email(subject, body, *args)
19
34
  options = args.extract_options!
20
35
  options[:subject] = CGI.escapeHTML subject.to_s
@@ -1,3 +1,3 @@
1
1
  module Cupid
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.2'
3
3
  end
@@ -8,7 +8,7 @@ client = Savon::Client.new do
8
8
  wsdl.document = "https://webservice.s4.exacttarget.com/etframework.wsdl"
9
9
  end
10
10
 
11
- client.wsse.credentials "username", "password"
11
+ client.wsse.credentials "", ""
12
12
  client.wsse.created_at = Time.now.utc
13
13
  client.wsse.expires_at = (Time.now + 60).utc
14
14
  client.http.headers["SOAPAction"] = '"urn:example#service"'
@@ -138,22 +138,37 @@ body = '<Objects xsi:type="Send">
138
138
  # puts '-============-'
139
139
  #
140
140
  # puts body_noko.text
141
-
142
- # body = '<RetrieveRequest>
143
- # <ClientIDs>
144
- # <ID>1058396</ID>
145
- # </ClientIDs>
146
- # <ObjectType>DataFolder</ObjectType>
147
- # <Properties>ID</Properties>
148
- # <Properties>Name</Properties>
149
- # <Properties>ParentFolder.ID</Properties>
150
- # <Properties>ParentFolder.Name</Properties>
151
- # <Filter xsi:type="SimpleFilterPart">
152
- # <Property>ContentType</Property>
153
- # <SimpleOperator>like</SimpleOperator>
154
- # <Value>email</Value>
155
- # </Filter>
156
- # </RetrieveRequest>'
141
+ body = '<RetrieveRequest>
142
+ <ClientIDs>
143
+ <ID>1058484</ID>
144
+ </ClientIDs>
145
+ <ObjectType>DataFolder</ObjectType>
146
+ <Properties>ID</Properties>
147
+ <Properties>Name</Properties>
148
+ <Properties>ParentFolder.ID</Properties>
149
+ <Properties>ParentFolder.Name</Properties>
150
+ <Filter xsi:type="SimpleFilterPart">
151
+ <Property>ContentType</Property>
152
+ <SimpleOperator>like</SimpleOperator>
153
+ <Value>email</Value>
154
+ </Filter>
155
+ </RetrieveRequest>'
156
+
157
+ body = '<RetrieveRequest>
158
+ <ClientIDs>
159
+ <ID>1058484</ID>
160
+ </ClientIDs>
161
+ <ObjectType>Email</ObjectType>
162
+ <Properties>ID</Properties>
163
+ <Properties>Name</Properties>
164
+ <Properties>Folder</Properties>
165
+ <Properties>CategoryID</Properties>
166
+ <Filter xsi:type="SimpleFilterPart">
167
+ <Property>Name</Property>
168
+ <SimpleOperator>like</SimpleOperator>
169
+ <Value>120911_piter_follow_up_side</Value>
170
+ </Filter>
171
+ </RetrieveRequest>'
157
172
 
158
173
  html = CGI.escapeHTML('<center><h2>Way Cool Email</h2></center>')
159
174
 
@@ -178,7 +193,7 @@ namespaces = {
178
193
  }
179
194
  #
180
195
  response = client.request :retrieve do |soap|
181
- soap.input = ['CreateRequest', { 'xmlns'=>"http://exacttarget.com/wsdl/partnerAPI"}]
196
+ soap.input = ['RetrieveRequestMsg', { 'xmlns'=>"http://exacttarget.com/wsdl/partnerAPI"}]
182
197
  soap.header = header
183
198
  soap.env_namespace = :s
184
199
  soap.namespaces = namespaces
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cupid
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 31
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 1
10
- version: 0.1.1
9
+ - 2
10
+ version: 0.1.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - gazay
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-09-23 00:00:00 Z
18
+ date: 2011-09-28 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: builder