createsend 3.2.0 → 3.3.0
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/.travis.yml +6 -0
- data/CONTRIBUTING.md +1 -1
- data/Gemfile.lock +3 -3
- data/HISTORY.md +11 -0
- data/README.md +4 -0
- data/RELEASE.md +57 -0
- data/createsend.gemspec +1 -1
- data/lib/createsend/createsend.rb +13 -1
- data/lib/createsend/version.rb +1 -1
- data/test/createsend_test.rb +12 -3
- metadata +5 -3
data/.travis.yml
CHANGED
data/CONTRIBUTING.md
CHANGED
@@ -3,6 +3,6 @@
|
|
3
3
|
1. [Fork the repository](https://help.github.com/articles/fork-a-repo).
|
4
4
|
2. [Create a topic branch](http://learn.github.com/p/branching.html).
|
5
5
|
3. Make your changes, including tests for your changes which maintain [coverage](https://coveralls.io/r/campaignmonitor/createsend-ruby).
|
6
|
-
4. Ensure that all tests pass, by running `bundle exec rake`. The [Travis CI build](https://travis-ci.org/campaignmonitor/createsend-ruby) runs on Ruby `2.0.0`, `1.9.3`, `1.9.2`, `1.8.7`, and `ree`.
|
6
|
+
4. Ensure that all tests pass, by running `bundle exec rake`. The [Travis CI build](https://travis-ci.org/campaignmonitor/createsend-ruby) runs on Ruby `2.0.0`, `1.9.3`, `1.9.2`, `jruby-18mode`, `jruby-19mode`, `rbx-18mode`, `rbx-19mode`, `ruby-head`, `jruby-head`, `1.8.7`, and `ree`.
|
7
7
|
5. It should go without saying, but do not increment the version number in your commits.
|
8
8
|
6. [Submit a pull request](https://help.github.com/articles/using-pull-requests).
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
createsend (3.
|
4
|
+
createsend (3.3.0)
|
5
5
|
hashie (>= 1.2, < 3)
|
6
6
|
httparty (~> 0.10)
|
7
7
|
json
|
@@ -22,8 +22,8 @@ GEM
|
|
22
22
|
simplecov (>= 0.7)
|
23
23
|
thor
|
24
24
|
fakeweb (1.3.0)
|
25
|
-
hashie (2.0.
|
26
|
-
httparty (0.
|
25
|
+
hashie (2.0.4)
|
26
|
+
httparty (0.11.0)
|
27
27
|
multi_json (~> 1.0)
|
28
28
|
multi_xml (>= 0.5.2)
|
29
29
|
i18n (0.6.1)
|
data/HISTORY.md
CHANGED
@@ -1,5 +1,16 @@
|
|
1
1
|
# createsend-ruby history
|
2
2
|
|
3
|
+
## v3.3.0 - 16 May, 2013
|
4
|
+
|
5
|
+
* Added Ruby version and platform details to default user agent string.
|
6
|
+
* Added support for setting a custom user agent string.
|
7
|
+
|
8
|
+
You can set a custom user agent string to be used for API calls by doing the following:
|
9
|
+
|
10
|
+
```ruby
|
11
|
+
CreateSend::CreateSend.user_agent "custom user agent"
|
12
|
+
```
|
13
|
+
|
3
14
|
## v3.2.0 - 15 Apr, 2013
|
4
15
|
|
5
16
|
* Added support for [single sign on](http://www.campaignmonitor.com/api/account/#single_sign_on) which allows initiation of external login sessions to Campaign Monitor.
|
data/README.md
CHANGED
@@ -210,3 +210,7 @@ Full documentation is hosted by [RubyDoc.info](http://rubydoc.info/gems/createse
|
|
210
210
|
## Contributing
|
211
211
|
|
212
212
|
Please check the [guidelines for contributing](https://github.com/campaignmonitor/createsend-ruby/blob/master/CONTRIBUTING.md) to this repository.
|
213
|
+
|
214
|
+
## Releasing
|
215
|
+
|
216
|
+
Please check the [instructions for releasing](https://github.com/campaignmonitor/createsend-ruby/blob/master/RELEASE.md) the `createsend` gem.
|
data/RELEASE.md
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
# Releasing createsend-ruby
|
2
|
+
|
3
|
+
## Requirements
|
4
|
+
|
5
|
+
- You must have a [RubyGems.org](https://rubygems.org/) account and must be an owner of the [createsend](https://rubygems.org/gems/createsend) gem.
|
6
|
+
|
7
|
+
Owners can be added to the `createsend` gem like this:
|
8
|
+
|
9
|
+
```
|
10
|
+
gem owner createsend -a newowner@example.com
|
11
|
+
```
|
12
|
+
|
13
|
+
## Prepare the release
|
14
|
+
|
15
|
+
- Increment the `VERSION` constant in the `lib/createsend/version.rb` file, ensuring that you use [Semantic Versioning](http://semver.org/).
|
16
|
+
- Add an entry to `HISTORY.md` which clearly explains the new release.
|
17
|
+
- Ensure that the `Gemfile.lock` file is updated correctly by running:
|
18
|
+
|
19
|
+
```
|
20
|
+
bundle install
|
21
|
+
```
|
22
|
+
|
23
|
+
- Commit your changes:
|
24
|
+
|
25
|
+
```
|
26
|
+
git commit -am "Version X.Y.Z"
|
27
|
+
```
|
28
|
+
|
29
|
+
- Tag the new version:
|
30
|
+
|
31
|
+
```
|
32
|
+
git tag -a vX.Y.Z -m "Version X.Y.Z"
|
33
|
+
```
|
34
|
+
|
35
|
+
- Push your changes to GitHub, including the tag you just created:
|
36
|
+
|
37
|
+
```
|
38
|
+
git push origin master --tags
|
39
|
+
```
|
40
|
+
|
41
|
+
- Ensure that all [tests](https://travis-ci.org/campaignmonitor/createsend-ruby) pass, and that [coverage](https://coveralls.io/r/campaignmonitor/createsend-ruby) is maintained or improved.
|
42
|
+
|
43
|
+
## Build the gem
|
44
|
+
|
45
|
+
```
|
46
|
+
rake build
|
47
|
+
```
|
48
|
+
|
49
|
+
This builds the gem locally to a file named something like `createsend-X.Y.Z.gem`. You're now ready to release the gem.
|
50
|
+
|
51
|
+
## Release the gem
|
52
|
+
|
53
|
+
```
|
54
|
+
rake release
|
55
|
+
```
|
56
|
+
|
57
|
+
This publishes the gem to [RubyGems.org](https://rubygems.org/gems/createsend). You should see the newly published version of the gem there. All done!
|
data/createsend.gemspec
CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.email = ["jdennes@gmail.com"]
|
20
20
|
s.executables = `git ls-files -- bin/*`.split("\n").map{|f| File.basename(f)}
|
21
21
|
s.files = `git ls-files`.split("\n")
|
22
|
-
s.homepage = "http://campaignmonitor.github.
|
22
|
+
s.homepage = "http://campaignmonitor.github.io/createsend-ruby/"
|
23
23
|
s.require_paths = ["lib"]
|
24
24
|
s.summary = %q{A library which implements the complete functionality of the Campaign Monitor API.}
|
25
25
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
@@ -6,6 +6,8 @@ require 'json'
|
|
6
6
|
|
7
7
|
module CreateSend
|
8
8
|
|
9
|
+
USER_AGENT_STRING = "createsend-ruby-#{VERSION}-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}-#{RUBY_PLATFORM}"
|
10
|
+
|
9
11
|
# Represents a CreateSend API error. Contains specific data about the error.
|
10
12
|
class CreateSendError < StandardError
|
11
13
|
attr_reader :data
|
@@ -44,6 +46,16 @@ module CreateSend
|
|
44
46
|
include HTTParty
|
45
47
|
attr_reader :auth_details
|
46
48
|
|
49
|
+
# Set a custom user agent string to be used when instances of
|
50
|
+
# CreateSend::CreateSend make API calls.
|
51
|
+
#
|
52
|
+
# user_agent - The user agent string to use in the User-Agent header when
|
53
|
+
# instances of this class make API calls. If set to nil, the
|
54
|
+
# default value of CreateSend::USER_AGENT_STRING will be used.
|
55
|
+
def self.user_agent(user_agent)
|
56
|
+
headers({'User-Agent' => user_agent || USER_AGENT_STRING})
|
57
|
+
end
|
58
|
+
|
47
59
|
# Get the authorization URL for your application, given the application's
|
48
60
|
# client_id, redirect_uri, scope, and optional state data.
|
49
61
|
def self.authorize_url(client_id, redirect_uri, scope, state=nil)
|
@@ -98,7 +110,7 @@ module CreateSend
|
|
98
110
|
@@oauth_base_uri = "https://api.createsend.com/oauth"
|
99
111
|
@@oauth_token_uri = "#{@@oauth_base_uri}/token"
|
100
112
|
headers({
|
101
|
-
'User-Agent' =>
|
113
|
+
'User-Agent' => USER_AGENT_STRING,
|
102
114
|
'Content-Type' => 'application/json; charset=utf-8',
|
103
115
|
'Accept-Encoding' => 'gzip, deflate' })
|
104
116
|
base_uri @@base_uri
|
data/lib/createsend/version.rb
CHANGED
data/test/createsend_test.rb
CHANGED
@@ -197,14 +197,23 @@ class CreateSendTest < Test::Unit::TestCase
|
|
197
197
|
@cs = CreateSend::CreateSend.new @auth
|
198
198
|
end
|
199
199
|
|
200
|
-
should "include the
|
201
|
-
|
202
|
-
|
200
|
+
should "include the correct user agent string when making a call" do
|
201
|
+
CreateSend::CreateSend.headers["User-Agent"].should ==
|
202
|
+
"createsend-ruby-#{CreateSend::VERSION}-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}-#{RUBY_PLATFORM}"
|
203
203
|
stub_get(@auth, "clients.json", "clients.json")
|
204
204
|
clients = @cs.clients
|
205
205
|
clients.size.should == 2
|
206
206
|
end
|
207
207
|
|
208
|
+
should "allow a custom user agent string to be set when making a call" do
|
209
|
+
CreateSend::CreateSend.user_agent "custom user agent"
|
210
|
+
CreateSend::CreateSend.headers["User-Agent"].should == "custom user agent"
|
211
|
+
stub_get(@auth, "clients.json", "clients.json")
|
212
|
+
clients = @cs.clients
|
213
|
+
clients.size.should == 2
|
214
|
+
CreateSend::CreateSend.user_agent nil
|
215
|
+
end
|
216
|
+
|
208
217
|
should "get all clients" do
|
209
218
|
stub_get(@auth, "clients.json", "clients.json")
|
210
219
|
clients = @cs.clients
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: createsend
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.3.0
|
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: 2013-
|
12
|
+
date: 2013-05-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -177,6 +177,7 @@ files:
|
|
177
177
|
- HISTORY.md
|
178
178
|
- LICENSE
|
179
179
|
- README.md
|
180
|
+
- RELEASE.md
|
180
181
|
- Rakefile
|
181
182
|
- createsend.gemspec
|
182
183
|
- lib/createsend.rb
|
@@ -269,7 +270,7 @@ files:
|
|
269
270
|
- test/segment_test.rb
|
270
271
|
- test/subscriber_test.rb
|
271
272
|
- test/template_test.rb
|
272
|
-
homepage: http://campaignmonitor.github.
|
273
|
+
homepage: http://campaignmonitor.github.io/createsend-ruby/
|
273
274
|
licenses: []
|
274
275
|
post_install_message:
|
275
276
|
rdoc_options: []
|
@@ -374,3 +375,4 @@ test_files:
|
|
374
375
|
- test/segment_test.rb
|
375
376
|
- test/subscriber_test.rb
|
376
377
|
- test/template_test.rb
|
378
|
+
has_rdoc:
|