planet_express 0.0.3 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +0 -1
- data/CHANGELOG.md +33 -0
- data/Gemfile.lock +14 -2
- data/README.md +24 -85
- data/{DEVELOP.md → doc/contribute.md} +0 -0
- data/doc/silverpop_api.md +79 -0
- data/lib/planet_express/configuration.rb +9 -0
- data/lib/planet_express/delivery.rb +48 -38
- data/lib/planet_express/exceptions.rb +8 -0
- data/lib/planet_express/version.rb +1 -1
- data/lib/planet_express.rb +5 -2
- data/planet_express.gemspec +3 -0
- metadata +55 -9
data/.gitignore
CHANGED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
Changelog
|
2
|
+
=========
|
3
|
+
|
4
|
+
### 0.0.7
|
5
|
+
- If Rails.logger exists use it, if not switch to log4r.
|
6
|
+
|
7
|
+
### 0.0.6
|
8
|
+
- Start using log4r instead of Logger.new (now logs are namespaced)
|
9
|
+
- Minor changes to README and documentation. Added Changelog and silverpop api.
|
10
|
+
- Adding name spaced exceptions to handle custom errors.
|
11
|
+
|
12
|
+
### 0.0.5
|
13
|
+
- Start using job.configure { } to change the Silverpop gateway url.
|
14
|
+
- Start using Pry instead of IRB.
|
15
|
+
- Start using Awesome Print instead of inspect.
|
16
|
+
|
17
|
+
### 0.0.4
|
18
|
+
- Minor changes to README and documentation.
|
19
|
+
|
20
|
+
### 0.0.3
|
21
|
+
- First usable version. Seems to be working.
|
22
|
+
|
23
|
+
### 0.0.2
|
24
|
+
- Adding a few clasess, still a mess.
|
25
|
+
|
26
|
+
### 0.0.1
|
27
|
+
- Empty gem using bundler's boilerplate.
|
28
|
+
|
29
|
+
TODO
|
30
|
+
----
|
31
|
+
|
32
|
+
- Include Yard for documentation http://yardoc.org
|
33
|
+
- Let change the gateway from the Class, instead from the instance
|
data/Gemfile.lock
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
planet_express (0.0.
|
4
|
+
planet_express (0.0.7)
|
5
5
|
activesupport
|
6
6
|
hpricot
|
7
|
+
log4r
|
7
8
|
|
8
9
|
GEM
|
9
10
|
remote: http://rubygems.org/
|
@@ -11,6 +12,8 @@ GEM
|
|
11
12
|
activesupport (3.2.8)
|
12
13
|
i18n (~> 0.6)
|
13
14
|
multi_json (~> 1.0)
|
15
|
+
awesome_print (1.1.0)
|
16
|
+
coderay (1.0.8)
|
14
17
|
diff-lcs (1.1.3)
|
15
18
|
guard (1.4.0)
|
16
19
|
listen (>= 0.4.2)
|
@@ -24,7 +27,13 @@ GEM
|
|
24
27
|
hpricot (0.8.6)
|
25
28
|
i18n (0.6.1)
|
26
29
|
listen (0.5.3)
|
27
|
-
|
30
|
+
log4r (1.1.10)
|
31
|
+
method_source (0.7.1)
|
32
|
+
multi_json (1.3.7)
|
33
|
+
pry (0.9.9.6)
|
34
|
+
coderay (~> 1.0.5)
|
35
|
+
method_source (~> 0.7.1)
|
36
|
+
slop (>= 2.4.4, < 3)
|
28
37
|
rb-fsevent (0.9.2)
|
29
38
|
rspec (2.11.0)
|
30
39
|
rspec-core (~> 2.11.0)
|
@@ -35,16 +44,19 @@ GEM
|
|
35
44
|
diff-lcs (~> 1.1.3)
|
36
45
|
rspec-mocks (2.11.3)
|
37
46
|
ruby_gntp (0.3.4)
|
47
|
+
slop (2.4.4)
|
38
48
|
thor (0.16.0)
|
39
49
|
|
40
50
|
PLATFORMS
|
41
51
|
ruby
|
42
52
|
|
43
53
|
DEPENDENCIES
|
54
|
+
awesome_print
|
44
55
|
guard
|
45
56
|
guard-bundler
|
46
57
|
guard-rspec
|
47
58
|
planet_express!
|
59
|
+
pry
|
48
60
|
rb-fsevent
|
49
61
|
rspec
|
50
62
|
ruby_gntp
|
data/README.md
CHANGED
@@ -1,118 +1,55 @@
|
|
1
1
|
Planet Express.rb
|
2
2
|
=================
|
3
3
|
|
4
|
+
Description
|
5
|
+
-----------
|
6
|
+
|
4
7
|
Planet Express, Inc. is an intergalactic email delivery <strike>company</strike>
|
5
8
|
lib built in Ruby. Is meant to be used with Silverpop mailing system, to provide
|
6
9
|
an easy way to send emails. We're using it with Rails 3 apps.
|
7
10
|
|
8
11
|
> "Our crew is replaceable. Your <strike>package</strike> email isn't."
|
9
12
|
|
10
|
-
|
11
|
-
|
12
|
-
## Installation
|
13
|
-
---------------
|
13
|
+
Features
|
14
|
+
--------
|
14
15
|
|
15
|
-
|
16
|
+
- Send emails using Silverpop.
|
16
17
|
|
17
|
-
|
18
|
-
gem 'planet_express'
|
19
|
-
```
|
20
|
-
|
21
|
-
And then execute:
|
22
|
-
|
23
|
-
```
|
24
|
-
$ bundle
|
25
|
-
```
|
26
|
-
|
27
|
-
Or install it yourself as:
|
28
|
-
|
29
|
-
```
|
30
|
-
$ gem install planet_express
|
31
|
-
```
|
32
|
-
|
33
|
-
Usage
|
34
|
-
-----
|
18
|
+
### Examples
|
35
19
|
|
36
20
|
You only need three things, the package, the destination and the data.
|
21
|
+
Then create a new deliver, prepare the ship and deliver it!
|
37
22
|
|
38
23
|
```
|
24
|
+
require 'planet_express'
|
25
|
+
|
39
26
|
recipient = 'mariozaizar@gmail.com'
|
40
27
|
package_id = 1807752
|
41
|
-
cargo = {
|
42
|
-
fist_name: 'Mario',
|
43
|
-
last_name: 'Zaizar',
|
44
|
-
bill_float_test_body: "<h1>Good news everyone!</h1><img src='http://goo.gl/XazeH'>"
|
45
|
-
}
|
46
|
-
```
|
28
|
+
cargo = { bill_float_test_body: "<h1>Good news everyone!</h1><img src='http://goo.gl/XazeH'>" }
|
47
29
|
|
48
|
-
Then create a new deliver, prepare the ship and deliver it!
|
49
|
-
|
50
|
-
```
|
51
30
|
job = PlanetExpress::Delivery.new
|
52
31
|
request = job.prepare package_id, recipient, cargo
|
53
32
|
response = job.deliver!
|
54
33
|
```
|
55
34
|
|
56
|
-
|
57
|
-
-------------
|
58
|
-
|
59
|
-
We're using this <https://transact5.silverpop.com/XTMail> end point.
|
60
|
-
|
61
|
-
### Request:
|
35
|
+
### Configuration
|
62
36
|
|
63
37
|
```
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
<SHOW_ALL_SEND_DETAIL>true</SHOW_ALL_SEND_DETAIL>
|
68
|
-
<SEND_AS_BATCH>false</SEND_AS_BATCH>
|
69
|
-
<NO_RETRY_ON_FAILURE>false</NO_RETRY_ON_FAILURE>
|
70
|
-
<RECIPIENT>
|
71
|
-
<EMAIL>mariozaizar@gmail.com</EMAIL>
|
72
|
-
<BODY_TYPE>HTML</BODY_TYPE>
|
73
|
-
<PERSONALIZATION>
|
74
|
-
<TAG_NAME>first_name</TAG_NAME>
|
75
|
-
<VALUE><![CDATA[Mario]]></VALUE>
|
76
|
-
</PERSONALIZATION>
|
77
|
-
<PERSONALIZATION>
|
78
|
-
<TAG_NAME>last_name</TAG_NAME>
|
79
|
-
<VALUE><![CDATA[Zaizar]]></VALUE>
|
80
|
-
</PERSONALIZATION>
|
81
|
-
</RECIPIENT>
|
82
|
-
</XTMAILING>
|
38
|
+
job.configure do |config|
|
39
|
+
config.gateway_url = 'https://transact3.silverpop.com/XTMail'
|
40
|
+
end
|
83
41
|
```
|
84
42
|
|
85
|
-
|
43
|
+
Installation
|
44
|
+
------------
|
86
45
|
|
87
|
-
|
46
|
+
Add this line to your application's Gemfile `gem 'planet_express'` and then
|
47
|
+
execute `bundle install`. Or install it yourself as: `gem install planet_express`.
|
88
48
|
|
89
|
-
|
90
|
-
|
91
|
-
<XTMAILING_RESPONSE>
|
92
|
-
<CAMPAIGN_ID>1807752</CAMPAIGN_ID>
|
93
|
-
<RECIPIENTS_RECEIVED>1</RECIPIENTS_RECEIVED>
|
94
|
-
<EMAILS_SENT>1</EMAILS_SENT>
|
95
|
-
<NUMBER_ERRORS>0</NUMBER_ERRORS>
|
96
|
-
<STATUS>0</STATUS>
|
97
|
-
<ERROR_CODE></ERROR_CODE>
|
98
|
-
<ERROR_STRING></ERROR_STRING>
|
99
|
-
</XTMAILING_RESPONSE>
|
100
|
-
```
|
101
|
-
|
102
|
-
When something is wrong:
|
49
|
+
Silverpop API
|
50
|
+
-------------
|
103
51
|
|
104
|
-
|
105
|
-
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
106
|
-
<XTMAILING_RESPONSE>
|
107
|
-
<CAMPAIGN_ID>1807752</CAMPAIGN_ID>
|
108
|
-
<RECIPIENTS_RECEIVED>1</RECIPIENTS_RECEIVED>
|
109
|
-
<EMAILS_SENT>0</EMAILS_SENT>
|
110
|
-
<NUMBER_ERRORS>1</NUMBER_ERRORS>
|
111
|
-
<STATUS>2</STATUS>
|
112
|
-
<ERROR_CODE>2</ERROR_CODE>
|
113
|
-
<ERROR_STRING>something wrong!</ERROR_STRING>
|
114
|
-
</XTMAILING_RESPONSE>
|
115
|
-
```
|
52
|
+
Check this file: [doc/silverpop_api.md](./doc/silverpop_api.md)
|
116
53
|
|
117
54
|
Contributing
|
118
55
|
------------
|
@@ -122,3 +59,5 @@ Contributing
|
|
122
59
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
123
60
|
4. Push to the branch (`git push origin my-new-feature`)
|
124
61
|
5. Create new Pull Request
|
62
|
+
|
63
|
+
**@MarioZaizar**
|
File without changes
|
@@ -0,0 +1,79 @@
|
|
1
|
+
Silverpop API
|
2
|
+
-------------
|
3
|
+
|
4
|
+
We're using this <https://transact5.silverpop.com/XTMail> end point.
|
5
|
+
|
6
|
+
### Request:
|
7
|
+
|
8
|
+
```
|
9
|
+
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
|
10
|
+
<XTMAILING>
|
11
|
+
<CAMPAIGN_ID>1807752</CAMPAIGN_ID>
|
12
|
+
<SHOW_ALL_SEND_DETAIL>true</SHOW_ALL_SEND_DETAIL>
|
13
|
+
<SEND_AS_BATCH>false</SEND_AS_BATCH>
|
14
|
+
<NO_RETRY_ON_FAILURE>false</NO_RETRY_ON_FAILURE>
|
15
|
+
<RECIPIENT>
|
16
|
+
<EMAIL>mariozaizar@gmail.com</EMAIL>
|
17
|
+
<BODY_TYPE>HTML</BODY_TYPE>
|
18
|
+
<PERSONALIZATION>
|
19
|
+
<TAG_NAME>first_name</TAG_NAME>
|
20
|
+
<VALUE><![CDATA[Mario]]></VALUE>
|
21
|
+
</PERSONALIZATION>
|
22
|
+
<PERSONALIZATION>
|
23
|
+
<TAG_NAME>last_name</TAG_NAME>
|
24
|
+
<VALUE><![CDATA[Zaizar]]></VALUE>
|
25
|
+
</PERSONALIZATION>
|
26
|
+
</RECIPIENT>
|
27
|
+
</XTMAILING>
|
28
|
+
```
|
29
|
+
|
30
|
+
### Response:
|
31
|
+
|
32
|
+
Succcess:
|
33
|
+
|
34
|
+
```
|
35
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
36
|
+
<XTMAILING_RESPONSE>
|
37
|
+
<CAMPAIGN_ID>1807752</CAMPAIGN_ID>
|
38
|
+
<RECIPIENTS_RECEIVED>1</RECIPIENTS_RECEIVED>
|
39
|
+
<EMAILS_SENT>1</EMAILS_SENT>
|
40
|
+
<NUMBER_ERRORS>0</NUMBER_ERRORS>
|
41
|
+
<STATUS>0</STATUS>
|
42
|
+
<ERROR_CODE></ERROR_CODE>
|
43
|
+
<ERROR_STRING></ERROR_STRING>
|
44
|
+
</XTMAILING_RESPONSE>
|
45
|
+
```
|
46
|
+
|
47
|
+
When something is wrong:
|
48
|
+
|
49
|
+
```
|
50
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
51
|
+
<XTMAILING_RESPONSE>
|
52
|
+
<CAMPAIGN_ID>1807752</CAMPAIGN_ID>
|
53
|
+
<RECIPIENTS_RECEIVED>1</RECIPIENTS_RECEIVED>
|
54
|
+
<EMAILS_SENT>0</EMAILS_SENT>
|
55
|
+
<NUMBER_ERRORS>1</NUMBER_ERRORS>
|
56
|
+
<STATUS>2</STATUS>
|
57
|
+
<ERROR_CODE>2</ERROR_CODE>
|
58
|
+
<ERROR_STRING>something wrong!</ERROR_STRING>
|
59
|
+
</XTMAILING_RESPONSE>
|
60
|
+
```
|
61
|
+
|
62
|
+
```
|
63
|
+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
64
|
+
<XTMAILING_RESPONSE>
|
65
|
+
<CAMPAIGN_ID>4914098</CAMPAIGN_ID>
|
66
|
+
<RECIPIENTS_RECEIVED>1</RECIPIENTS_RECEIVED>
|
67
|
+
<EMAILS_SENT>0</EMAILS_SENT>
|
68
|
+
<NUMBER_ERRORS>1</NUMBER_ERRORS>
|
69
|
+
<STATUS>2</STATUS>
|
70
|
+
<ERROR_CODE>0</ERROR_CODE>
|
71
|
+
<ERROR_STRING></ERROR_STRING>
|
72
|
+
<RECIPIENT_DETAIL>
|
73
|
+
<EMAIL>user_email</EMAIL>
|
74
|
+
<SEND_STATUS>1</SEND_STATUS>
|
75
|
+
<ERROR_CODE>4</ERROR_CODE>
|
76
|
+
<ERROR_STRING>invalid email address user_email</ERROR_STRING>
|
77
|
+
</RECIPIENT_DETAIL>
|
78
|
+
</XTMAILING_RESPONSE>
|
79
|
+
```
|
@@ -1,27 +1,40 @@
|
|
1
1
|
module PlanetExpress
|
2
2
|
class Delivery
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
3
|
+
include Log4r
|
4
|
+
|
5
|
+
attr_accessor :configuration
|
6
|
+
attr_accessor :logger
|
7
|
+
|
8
|
+
def initialize *args
|
9
|
+
# Settings
|
10
|
+
self.configuration ||= PlanetExpress::Configuration.new
|
11
|
+
|
12
|
+
# By default try to use the same logger than Rails
|
13
|
+
begin
|
14
|
+
self.logger = Rails.logger
|
15
|
+
rescue
|
16
|
+
self.logger = Log4r::Logger.new('PlanetExpress')
|
17
|
+
self.logger.outputters << Log4r::Outputter.stdout
|
18
|
+
end
|
12
19
|
|
13
|
-
logger.info "
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
20
|
+
logger.info "gateway_url => #{configuration.gateway_url}"
|
21
|
+
end
|
22
|
+
|
23
|
+
def configure
|
24
|
+
# Override Settings
|
25
|
+
yield(configuration)
|
26
|
+
end
|
18
27
|
|
28
|
+
def prepare campaign_id, recipient, personalizations={}
|
29
|
+
@campaign_id, @recipient, @personalizations = campaign_id, recipient, personalizations
|
19
30
|
@personalizations.merge!({ :timestamp => Time.now, :email_template => @campaign_id })
|
31
|
+
raise PlanetExpress::ArgumentError if campaign_id.nil? or recipient.nil?
|
32
|
+
|
20
33
|
build_request
|
21
34
|
end
|
22
35
|
|
23
36
|
def deliver!
|
24
|
-
url = URI.parse
|
37
|
+
url = URI.parse configuration.gateway_url
|
25
38
|
http, resp = Net::HTTP.new(url.host, url.port), ''
|
26
39
|
http.use_ssl = true
|
27
40
|
|
@@ -40,40 +53,37 @@ module PlanetExpress
|
|
40
53
|
|
41
54
|
@personalizations.each_pair do |name, value|
|
42
55
|
fields_xml +=
|
43
|
-
"<PERSONALIZATION
|
44
|
-
"
|
45
|
-
"
|
46
|
-
"</PERSONALIZATION
|
56
|
+
" <PERSONALIZATION>\n" +
|
57
|
+
" <TAG_NAME>#{name}</TAG_NAME>\n" +
|
58
|
+
" <VALUE><![CDATA[#{value}]]></VALUE>\n" +
|
59
|
+
" </PERSONALIZATION>\n"
|
47
60
|
end
|
48
61
|
|
49
62
|
recipient_xml =
|
50
|
-
"<RECIPIENT
|
51
|
-
"
|
52
|
-
"
|
53
|
-
"
|
54
|
-
"</RECIPIENT
|
63
|
+
" <RECIPIENT>\n" +
|
64
|
+
" <EMAIL>" + @recipient + "</EMAIL>\n" +
|
65
|
+
" <BODY_TYPE>HTML</BODY_TYPE>\n" +
|
66
|
+
"#{fields_xml}" +
|
67
|
+
" </RECIPIENT>\n"
|
55
68
|
|
56
69
|
@request =
|
57
|
-
"<?xml version='1.0' encoding='UTF-8' standalone='yes'
|
58
|
-
"<XTMAILING
|
59
|
-
" <CAMPAIGN_ID>#{@campaign_id}</CAMPAIGN_ID
|
60
|
-
" <SHOW_ALL_SEND_DETAIL>true</SHOW_ALL_SEND_DETAIL
|
61
|
-
" <SEND_AS_BATCH>false</SEND_AS_BATCH
|
62
|
-
" <NO_RETRY_ON_FAILURE>false</NO_RETRY_ON_FAILURE
|
63
|
-
# " <TRANSACTION_ID>" + @transaction_id + "</TRANSACTION_ID
|
64
|
-
"
|
65
|
-
"</XTMAILING
|
66
|
-
|
67
|
-
logger.info "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
|
68
|
-
logger.info "request => #{@request}"
|
70
|
+
"<?xml version='1.0' encoding='UTF-8' standalone='yes'?>\n" +
|
71
|
+
"<XTMAILING>\n" +
|
72
|
+
" <CAMPAIGN_ID>#{@campaign_id}</CAMPAIGN_ID>\n" +
|
73
|
+
" <SHOW_ALL_SEND_DETAIL>true</SHOW_ALL_SEND_DETAIL>\n" +
|
74
|
+
" <SEND_AS_BATCH>false</SEND_AS_BATCH>\n" +
|
75
|
+
" <NO_RETRY_ON_FAILURE>false</NO_RETRY_ON_FAILURE>\n" +
|
76
|
+
# " <TRANSACTION_ID>" + @transaction_id + "</TRANSACTION_ID>\n" +
|
77
|
+
"#{recipient_xml}" +
|
78
|
+
"</XTMAILING>\n"
|
69
79
|
|
80
|
+
logger.info "original request => \n#{@request}"
|
70
81
|
@request
|
71
82
|
end
|
72
83
|
|
73
84
|
def build_response response
|
85
|
+
logger.info "original response => \n#{response}"
|
74
86
|
@response = Hpricot::XML(response)
|
75
|
-
logger.info "::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::"
|
76
|
-
logger.info "response => #{response.inspect}"
|
77
87
|
|
78
88
|
status = @response.at('STATUS').innerHTML.to_i
|
79
89
|
error_string = @response.at('ERROR_STRING').innerHTML
|
data/lib/planet_express.rb
CHANGED
@@ -1,9 +1,12 @@
|
|
1
|
+
require 'hpricot'
|
2
|
+
require 'log4r'
|
1
3
|
require 'net/http'
|
2
4
|
require 'uri'
|
3
|
-
require 'hpricot'
|
4
5
|
|
5
|
-
require "planet_express/
|
6
|
+
require "planet_express/configuration"
|
6
7
|
require "planet_express/delivery"
|
8
|
+
require "planet_express/exceptions"
|
9
|
+
require "planet_express/version"
|
7
10
|
|
8
11
|
module PlanetExpress
|
9
12
|
end
|
data/planet_express.gemspec
CHANGED
@@ -19,9 +19,12 @@ Gem::Specification.new do |gem|
|
|
19
19
|
|
20
20
|
gem.add_dependency 'activesupport'
|
21
21
|
gem.add_dependency 'hpricot'
|
22
|
+
gem.add_dependency 'log4r'
|
22
23
|
|
24
|
+
gem.add_development_dependency 'awesome_print'
|
23
25
|
gem.add_development_dependency 'guard'
|
24
26
|
gem.add_development_dependency 'guard-bundler'
|
25
27
|
gem.add_development_dependency 'guard-rspec'
|
28
|
+
gem.add_development_dependency 'pry'
|
26
29
|
gem.add_development_dependency 'rspec'
|
27
30
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: planet_express
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-12-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -43,6 +43,38 @@ dependencies:
|
|
43
43
|
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: log4r
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :runtime
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: awesome_print
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
46
78
|
- !ruby/object:Gem::Dependency
|
47
79
|
name: guard
|
48
80
|
requirement: !ruby/object:Gem::Requirement
|
@@ -91,6 +123,22 @@ dependencies:
|
|
91
123
|
- - ! '>='
|
92
124
|
- !ruby/object:Gem::Version
|
93
125
|
version: '0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: pry
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
130
|
+
requirements:
|
131
|
+
- - ! '>='
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0'
|
134
|
+
type: :development
|
135
|
+
prerelease: false
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
94
142
|
- !ruby/object:Gem::Dependency
|
95
143
|
name: rspec
|
96
144
|
requirement: !ruby/object:Gem::Requirement
|
@@ -119,15 +167,19 @@ files:
|
|
119
167
|
- .gitignore
|
120
168
|
- .rbenv-version
|
121
169
|
- .rvmrc
|
122
|
-
-
|
170
|
+
- CHANGELOG.md
|
123
171
|
- Gemfile
|
124
172
|
- Gemfile.lock
|
125
173
|
- Guardfile
|
126
174
|
- LICENSE.txt
|
127
175
|
- README.md
|
128
176
|
- Rakefile
|
177
|
+
- doc/contribute.md
|
178
|
+
- doc/silverpop_api.md
|
129
179
|
- lib/planet_express.rb
|
180
|
+
- lib/planet_express/configuration.rb
|
130
181
|
- lib/planet_express/delivery.rb
|
182
|
+
- lib/planet_express/exceptions.rb
|
131
183
|
- lib/planet_express/version.rb
|
132
184
|
- planet_express.gemspec
|
133
185
|
- spec/planet_express_spec.rb
|
@@ -144,18 +196,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
144
196
|
- - ! '>='
|
145
197
|
- !ruby/object:Gem::Version
|
146
198
|
version: '0'
|
147
|
-
segments:
|
148
|
-
- 0
|
149
|
-
hash: 4224548502706184700
|
150
199
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
151
200
|
none: false
|
152
201
|
requirements:
|
153
202
|
- - ! '>='
|
154
203
|
- !ruby/object:Gem::Version
|
155
204
|
version: '0'
|
156
|
-
segments:
|
157
|
-
- 0
|
158
|
-
hash: 4224548502706184700
|
159
205
|
requirements: []
|
160
206
|
rubyforge_project:
|
161
207
|
rubygems_version: 1.8.23
|