planet_express 0.0.3 → 0.0.7
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/.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
|