gibbon 0.2.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of gibbon might be problematic. Click here for more details.
- data/Gemfile +1 -0
- data/Gemfile.lock +15 -0
- data/README.markdown +26 -3
- data/VERSION +1 -1
- data/gibbon.gemspec +14 -11
- data/lib/gibbon.rb +30 -3
- data/test/test_gibbon.rb +67 -15
- metadata +43 -32
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -3,6 +3,8 @@ GEM
|
|
3
3
|
specs:
|
4
4
|
activesupport (3.1.0)
|
5
5
|
multi_json (~> 1.0)
|
6
|
+
archive-tar-minitar (0.5.2)
|
7
|
+
columnize (0.3.2)
|
6
8
|
crack (0.1.8)
|
7
9
|
git (1.2.5)
|
8
10
|
httparty (0.7.8)
|
@@ -12,10 +14,22 @@ GEM
|
|
12
14
|
git (>= 1.2.5)
|
13
15
|
rake
|
14
16
|
json (1.5.4)
|
17
|
+
linecache19 (0.5.12)
|
18
|
+
ruby_core_source (>= 0.1.4)
|
15
19
|
mocha (0.9.12)
|
16
20
|
multi_json (1.0.3)
|
17
21
|
rake (0.9.2)
|
18
22
|
rcov (0.9.10)
|
23
|
+
ruby-debug-base19 (0.11.25)
|
24
|
+
columnize (>= 0.3.1)
|
25
|
+
linecache19 (>= 0.5.11)
|
26
|
+
ruby_core_source (>= 0.1.4)
|
27
|
+
ruby-debug19 (0.11.6)
|
28
|
+
columnize (>= 0.3.1)
|
29
|
+
linecache19 (>= 0.5.11)
|
30
|
+
ruby-debug-base19 (>= 0.11.19)
|
31
|
+
ruby_core_source (0.1.5)
|
32
|
+
archive-tar-minitar (>= 0.5.2)
|
19
33
|
shoulda (2.11.3)
|
20
34
|
|
21
35
|
PLATFORMS
|
@@ -29,4 +43,5 @@ DEPENDENCIES
|
|
29
43
|
json (> 1.4.0)
|
30
44
|
mocha (> 0.9.11)
|
31
45
|
rcov
|
46
|
+
ruby-debug19
|
32
47
|
shoulda
|
data/README.markdown
CHANGED
@@ -17,7 +17,7 @@ There are a few ways to use Gibbon:
|
|
17
17
|
You can create an instance of the API wrapper:
|
18
18
|
|
19
19
|
gb = Gibbon.new("your_api_key")
|
20
|
-
|
20
|
+
|
21
21
|
You can set your api_key globally and call class methods:
|
22
22
|
|
23
23
|
Gibbon.api_key = "your_api_key"
|
@@ -27,7 +27,10 @@ You can also set the environment variable 'MC_API_KEY' and Gibbon will use it wh
|
|
27
27
|
|
28
28
|
u = Gibbon.new
|
29
29
|
|
30
|
-
Fetching data is as simple as calling API methods directly on the wrapper
|
30
|
+
Fetching data is as simple as calling API methods directly on the wrapper
|
31
|
+
object. The API calls may be made with either camelcase or underscore
|
32
|
+
separated formatting as you see in the "More Advanced Examples" section below.
|
33
|
+
|
31
34
|
Check the API [documentation](http://apidocs.mailchimp.com/api/1.3/) for details.
|
32
35
|
|
33
36
|
### Fetching Campaigns
|
@@ -66,6 +69,24 @@ Gibbon defaults to a 30 second timeout. You can optionally set your own timeout
|
|
66
69
|
|
67
70
|
gb.timeout = 5
|
68
71
|
|
72
|
+
### Export API usage
|
73
|
+
|
74
|
+
In addition to the standard API you can make calls to the
|
75
|
+
[MailChimp Export API](http://apidocs.mailchimp.com/export/1.0/) using a GibbonExport object. Given an existing
|
76
|
+
Gibbon object you can request a new GibbonExporter object:
|
77
|
+
|
78
|
+
g = Gibbon.new(@api_key)
|
79
|
+
gibbon_export = g.get_exporter
|
80
|
+
|
81
|
+
or you can construct a new object directly:
|
82
|
+
|
83
|
+
gibbon_export = GibbonExport.new(@api_key)
|
84
|
+
|
85
|
+
Calling Export API functions is identical to making standard API calls but the
|
86
|
+
return value is an Enumerator which loops over the lines returned from the
|
87
|
+
Export API. This is because the data returned from the Export API is a stream
|
88
|
+
of JSON objects rather than a single JSON array.
|
89
|
+
|
69
90
|
### Notes
|
70
91
|
|
71
92
|
As of 0.1.6, gibbon uses ActiveSupport::JSON.decode(). This means code that checked for weird API responses (like "true"
|
@@ -79,9 +100,11 @@ as opposed to the string the MailChimp API returns. I understand the extra depen
|
|
79
100
|
* [jlxw](https://github.com/jlxw)
|
80
101
|
* [Jon McCartie](https://github.com/jmccartie)
|
81
102
|
* [Calvin Yu](https://github.com/cyu)
|
103
|
+
* [Dave Worth](https://github.com/daveworth)
|
104
|
+
* [Mike Skalnik](https://github.com/skalnik)
|
82
105
|
* Rails for camelize gsub
|
83
106
|
|
84
107
|
##Copyrights
|
85
108
|
|
86
109
|
* Copyright (c) 2010 Amro Mousa. See LICENSE.txt for details.
|
87
|
-
* MailChimp (c) 2001-2010 The Rocket Science Group.
|
110
|
+
* MailChimp (c) 2001-2010 The Rocket Science Group.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3.0
|
data/gibbon.gemspec
CHANGED
@@ -4,14 +4,14 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.
|
7
|
+
s.name = "gibbon"
|
8
|
+
s.version = "0.3.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = [
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
11
|
+
s.authors = ["Amro Mousa"]
|
12
|
+
s.date = "2011-10-02"
|
13
|
+
s.description = "Gibbon is a simple API wrapper for interacting with MailChimp API version 1.3."
|
14
|
+
s.email = "amromousa@gmail.com"
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE.txt",
|
17
17
|
"README.markdown"
|
@@ -29,11 +29,11 @@ Gem::Specification.new do |s|
|
|
29
29
|
"test/helper.rb",
|
30
30
|
"test/test_gibbon.rb"
|
31
31
|
]
|
32
|
-
s.homepage =
|
33
|
-
s.licenses = [
|
34
|
-
s.require_paths = [
|
35
|
-
s.rubygems_version =
|
36
|
-
s.summary =
|
32
|
+
s.homepage = "http://github.com/amro/gibbon"
|
33
|
+
s.licenses = ["MIT"]
|
34
|
+
s.require_paths = ["lib"]
|
35
|
+
s.rubygems_version = "1.8.10"
|
36
|
+
s.summary = "Gibbon is a simple API wrapper for interacting with MailChimp API 1.3"
|
37
37
|
s.test_files = [
|
38
38
|
"test/helper.rb",
|
39
39
|
"test/test_gibbon.rb"
|
@@ -51,6 +51,7 @@ Gem::Specification.new do |s|
|
|
51
51
|
s.add_development_dependency(%q<httparty>, ["> 0.6.0"])
|
52
52
|
s.add_development_dependency(%q<mocha>, ["> 0.9.11"])
|
53
53
|
s.add_development_dependency(%q<activesupport>, [">= 3.0.0"])
|
54
|
+
s.add_development_dependency(%q<ruby-debug19>, [">= 0"])
|
54
55
|
s.add_runtime_dependency(%q<httparty>, ["> 0.6.0"])
|
55
56
|
s.add_runtime_dependency(%q<activesupport>, ["> 3.0.0"])
|
56
57
|
s.add_runtime_dependency(%q<json>, ["> 1.4.0"])
|
@@ -66,6 +67,7 @@ Gem::Specification.new do |s|
|
|
66
67
|
s.add_dependency(%q<httparty>, ["> 0.6.0"])
|
67
68
|
s.add_dependency(%q<mocha>, ["> 0.9.11"])
|
68
69
|
s.add_dependency(%q<activesupport>, [">= 3.0.0"])
|
70
|
+
s.add_dependency(%q<ruby-debug19>, [">= 0"])
|
69
71
|
s.add_dependency(%q<httparty>, ["> 0.6.0"])
|
70
72
|
s.add_dependency(%q<activesupport>, ["> 3.0.0"])
|
71
73
|
s.add_dependency(%q<json>, ["> 1.4.0"])
|
@@ -82,6 +84,7 @@ Gem::Specification.new do |s|
|
|
82
84
|
s.add_dependency(%q<httparty>, ["> 0.6.0"])
|
83
85
|
s.add_dependency(%q<mocha>, ["> 0.9.11"])
|
84
86
|
s.add_dependency(%q<activesupport>, [">= 3.0.0"])
|
87
|
+
s.add_dependency(%q<ruby-debug19>, [">= 0"])
|
85
88
|
s.add_dependency(%q<httparty>, ["> 0.6.0"])
|
86
89
|
s.add_dependency(%q<activesupport>, ["> 3.0.0"])
|
87
90
|
s.add_dependency(%q<json>, ["> 1.4.0"])
|
data/lib/gibbon.rb
CHANGED
@@ -21,10 +21,10 @@ class Gibbon
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def base_api_url
|
24
|
-
|
25
|
-
"https://#{dc}api.mailchimp.com/1.3/?method="
|
24
|
+
"https://#{dc_from_api_key}api.mailchimp.com/1.3/?method="
|
26
25
|
end
|
27
26
|
|
27
|
+
|
28
28
|
def call(method, params = {})
|
29
29
|
url = base_api_url + method
|
30
30
|
params = @default_params.merge(params)
|
@@ -46,6 +46,10 @@ class Gibbon
|
|
46
46
|
call(method, args)
|
47
47
|
end
|
48
48
|
|
49
|
+
def get_exporter
|
50
|
+
GibbonExport.new(@api_key, @default_params)
|
51
|
+
end
|
52
|
+
|
49
53
|
class << self
|
50
54
|
attr_accessor :api_key
|
51
55
|
|
@@ -53,4 +57,27 @@ class Gibbon
|
|
53
57
|
new(self.api_key).send(sym, *args, &block)
|
54
58
|
end
|
55
59
|
end
|
56
|
-
|
60
|
+
|
61
|
+
protected
|
62
|
+
def dc_from_api_key
|
63
|
+
(@api_key.blank? or @api_key !~ /-/) ? '' : "#{@api_key.split("-").last}."
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
class GibbonExport < Gibbon
|
68
|
+
def initialize(api_key = nil, extra_params = {})
|
69
|
+
super(api_key, extra_params)
|
70
|
+
end
|
71
|
+
|
72
|
+
def export_api_url
|
73
|
+
"http://#{dc_from_api_key}api.mailchimp.com/export/1.0/"
|
74
|
+
end
|
75
|
+
|
76
|
+
def call(method, params = {})
|
77
|
+
url = export_api_url + method + "/"
|
78
|
+
params = @default_params.merge(params)
|
79
|
+
response = self.class.post(url, :body => params, :timeout => @timeout)
|
80
|
+
|
81
|
+
response.body.lines
|
82
|
+
end
|
83
|
+
end
|
data/test/test_gibbon.rb
CHANGED
@@ -1,29 +1,37 @@
|
|
1
1
|
require 'helper'
|
2
|
+
require 'cgi'
|
3
|
+
require 'ruby-debug'
|
2
4
|
|
3
5
|
class TestGibbon < Test::Unit::TestCase
|
4
6
|
|
5
7
|
context "build api url" do
|
6
|
-
|
7
8
|
setup do
|
8
|
-
@gibbon = Gibbon
|
9
|
+
@gibbon = Gibbon.new
|
10
|
+
@url = "https://api.mailchimp.com/1.3/?method=sayHello"
|
9
11
|
end
|
10
12
|
|
11
13
|
should "handle empty api key" do
|
12
|
-
expect_post(
|
14
|
+
expect_post(@url, {"apikey" => nil})
|
15
|
+
@gibbon.say_hello
|
16
|
+
end
|
13
17
|
|
18
|
+
should "handle malformed api key" do
|
19
|
+
@api_key = "123"
|
20
|
+
@gibbon.api_key = @api_key
|
21
|
+
expect_post(@url, {"apikey" => @api_key})
|
14
22
|
@gibbon.say_hello
|
15
23
|
end
|
16
24
|
|
17
25
|
should "handle timeout" do
|
18
|
-
expect_post(
|
26
|
+
expect_post(@url, {"apikey" => nil}, 120)
|
19
27
|
@gibbon.timeout=120
|
20
28
|
@gibbon.say_hello
|
21
29
|
end
|
22
30
|
|
23
31
|
should "handle api key with dc" do
|
24
|
-
@
|
25
|
-
|
26
|
-
|
32
|
+
@api_key = "TESTKEY-us1"
|
33
|
+
@gibbon.api_key = @api_key
|
34
|
+
expect_post("https://us1.api.mailchimp.com/1.3/?method=sayHello", {"apikey" => @api_key})
|
27
35
|
@gibbon.say_hello
|
28
36
|
end
|
29
37
|
end
|
@@ -31,44 +39,88 @@ class TestGibbon < Test::Unit::TestCase
|
|
31
39
|
context "build api body" do
|
32
40
|
setup do
|
33
41
|
@key = "TESTKEY-us1"
|
34
|
-
@gibbon = Gibbon
|
42
|
+
@gibbon = Gibbon.new(@key)
|
35
43
|
@url = "https://us1.api.mailchimp.com/1.3/?method=sayHello"
|
44
|
+
@body = {"apikey" => @key}
|
36
45
|
end
|
37
46
|
|
38
47
|
should "escape string parameters" do
|
39
|
-
|
40
|
-
@
|
48
|
+
@message = "simon says"
|
49
|
+
expect_post(@url, @body.merge("message" => CGI::escape(@message)))
|
50
|
+
@gibbon.say_hello(:message => @message)
|
41
51
|
end
|
42
52
|
|
43
53
|
should "escape string parameters in an array" do
|
44
|
-
expect_post(@url,
|
54
|
+
expect_post(@url, @body.merge("messages" => ["simon+says", "do+this"]))
|
45
55
|
@gibbon.say_hello(:messages => ["simon says", "do this"])
|
46
56
|
end
|
47
57
|
|
48
58
|
should "escape string parameters in a hash" do
|
49
|
-
expect_post(@url,
|
59
|
+
expect_post(@url, @body.merge("messages" => {"simon+says" => "do+this"}))
|
50
60
|
@gibbon.say_hello(:messages => {"simon says" => "do this"})
|
51
61
|
end
|
52
62
|
|
53
63
|
should "escape nested string parameters" do
|
54
|
-
expect_post(@url,
|
64
|
+
expect_post(@url, @body.merge("messages" => {"simon+says" => ["do+this", "and+this"]}))
|
55
65
|
@gibbon.say_hello(:messages => {"simon says" => ["do this", "and this"]})
|
56
66
|
end
|
57
67
|
|
58
68
|
should "pass through non string parameters" do
|
59
|
-
expect_post(@url,
|
69
|
+
expect_post(@url, @body.merge("fee" => 99))
|
60
70
|
@gibbon.say_hello(:fee => 99)
|
61
71
|
end
|
72
|
+
end
|
62
73
|
|
74
|
+
context "Gibbon instances" do
|
75
|
+
setup do
|
76
|
+
@key = "TESTKEY-us1"
|
77
|
+
@gibbon = Gibbon.new(@key)
|
78
|
+
@url = "https://us1.api.mailchimp.com/1.3/?method=sayHello"
|
79
|
+
@body = {"apikey" => @key}
|
80
|
+
end
|
81
|
+
|
82
|
+
should "produce a good exporter" do
|
83
|
+
@exporter = @gibbon.get_exporter
|
84
|
+
assert_equal(@exporter.api_key, @gibbon.api_key)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
context "export API" do
|
89
|
+
setup do
|
90
|
+
@key = "TESTKEY-us1"
|
91
|
+
@gibbon = GibbonExport.new(@key)
|
92
|
+
@url = "http://us1.api.mailchimp.com/export/1.0/"
|
93
|
+
@body = {:apikey => @key}
|
94
|
+
@returns = Struct.new(:body).new("")
|
95
|
+
end
|
96
|
+
|
97
|
+
should "handle api key with dc" do
|
98
|
+
@api_key = "TESTKEY-us2"
|
99
|
+
@gibbon = GibbonExport.new(@api_key)
|
100
|
+
|
101
|
+
params = {:body => {:apikey => @api_key}, :timeout => nil}
|
102
|
+
url = @url.gsub('us1', 'us2') + "sayHello/"
|
103
|
+
GibbonExport.expects(:post).with(url, params).returns(@returns)
|
104
|
+
@gibbon.say_hello
|
105
|
+
end
|
106
|
+
|
107
|
+
should "not escape string parameters" do
|
108
|
+
@param = "list id"
|
109
|
+
|
110
|
+
params = {:body => @body.merge(:id => 'list id'), :timeout => nil}
|
111
|
+
GibbonExport.expects(:post).with(@url + 'sayHello/', params).returns(@returns)
|
112
|
+
@gibbon.say_hello(:id => @param)
|
113
|
+
end
|
63
114
|
end
|
64
115
|
|
65
116
|
private
|
66
117
|
|
67
118
|
def expect_post(expected_url, expected_body, expected_timeout=nil)
|
68
|
-
Gibbon
|
119
|
+
Gibbon.expects(:post).with do |url, opts|
|
69
120
|
url == expected_url &&
|
70
121
|
JSON.parse(URI::decode(opts[:body])) == expected_body &&
|
71
122
|
opts[:timeout] == expected_timeout
|
72
123
|
end.returns(Struct.new(:body).new("") )
|
73
124
|
end
|
125
|
+
|
74
126
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gibbon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-
|
12
|
+
date: 2011-10-02 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: shoulda
|
16
|
-
requirement: &
|
16
|
+
requirement: &70158318240040 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70158318240040
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: bundler
|
27
|
-
requirement: &
|
27
|
+
requirement: &70158318239400 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.0.0
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70158318239400
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: jeweler
|
38
|
-
requirement: &
|
38
|
+
requirement: &70158318238680 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.5.1
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70158318238680
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rcov
|
49
|
-
requirement: &
|
49
|
+
requirement: &70158318237620 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70158318237620
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: json
|
60
|
-
requirement: &
|
60
|
+
requirement: &70158318237040 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>'
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 1.4.0
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70158318237040
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: httparty
|
71
|
-
requirement: &
|
71
|
+
requirement: &70158318236320 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>'
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 0.6.0
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70158318236320
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: mocha
|
82
|
-
requirement: &
|
82
|
+
requirement: &70158318235600 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>'
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: 0.9.11
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70158318235600
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: activesupport
|
93
|
-
requirement: &
|
93
|
+
requirement: &70158318234720 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,21 @@ dependencies:
|
|
98
98
|
version: 3.0.0
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70158318234720
|
102
|
+
- !ruby/object:Gem::Dependency
|
103
|
+
name: ruby-debug19
|
104
|
+
requirement: &70158318233300 !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
type: :development
|
111
|
+
prerelease: false
|
112
|
+
version_requirements: *70158318233300
|
102
113
|
- !ruby/object:Gem::Dependency
|
103
114
|
name: httparty
|
104
|
-
requirement: &
|
115
|
+
requirement: &70158318232500 !ruby/object:Gem::Requirement
|
105
116
|
none: false
|
106
117
|
requirements:
|
107
118
|
- - ! '>'
|
@@ -109,10 +120,10 @@ dependencies:
|
|
109
120
|
version: 0.6.0
|
110
121
|
type: :runtime
|
111
122
|
prerelease: false
|
112
|
-
version_requirements: *
|
123
|
+
version_requirements: *70158318232500
|
113
124
|
- !ruby/object:Gem::Dependency
|
114
125
|
name: activesupport
|
115
|
-
requirement: &
|
126
|
+
requirement: &70158318230780 !ruby/object:Gem::Requirement
|
116
127
|
none: false
|
117
128
|
requirements:
|
118
129
|
- - ! '>'
|
@@ -120,10 +131,10 @@ dependencies:
|
|
120
131
|
version: 3.0.0
|
121
132
|
type: :runtime
|
122
133
|
prerelease: false
|
123
|
-
version_requirements: *
|
134
|
+
version_requirements: *70158318230780
|
124
135
|
- !ruby/object:Gem::Dependency
|
125
136
|
name: json
|
126
|
-
requirement: &
|
137
|
+
requirement: &70158318230220 !ruby/object:Gem::Requirement
|
127
138
|
none: false
|
128
139
|
requirements:
|
129
140
|
- - ! '>'
|
@@ -131,10 +142,10 @@ dependencies:
|
|
131
142
|
version: 1.4.0
|
132
143
|
type: :runtime
|
133
144
|
prerelease: false
|
134
|
-
version_requirements: *
|
145
|
+
version_requirements: *70158318230220
|
135
146
|
- !ruby/object:Gem::Dependency
|
136
147
|
name: httparty
|
137
|
-
requirement: &
|
148
|
+
requirement: &70158318229540 !ruby/object:Gem::Requirement
|
138
149
|
none: false
|
139
150
|
requirements:
|
140
151
|
- - ! '>'
|
@@ -142,10 +153,10 @@ dependencies:
|
|
142
153
|
version: 0.6.0
|
143
154
|
type: :development
|
144
155
|
prerelease: false
|
145
|
-
version_requirements: *
|
156
|
+
version_requirements: *70158318229540
|
146
157
|
- !ruby/object:Gem::Dependency
|
147
158
|
name: json
|
148
|
-
requirement: &
|
159
|
+
requirement: &70158318228620 !ruby/object:Gem::Requirement
|
149
160
|
none: false
|
150
161
|
requirements:
|
151
162
|
- - ! '>'
|
@@ -153,10 +164,10 @@ dependencies:
|
|
153
164
|
version: 1.4.0
|
154
165
|
type: :development
|
155
166
|
prerelease: false
|
156
|
-
version_requirements: *
|
167
|
+
version_requirements: *70158318228620
|
157
168
|
- !ruby/object:Gem::Dependency
|
158
169
|
name: mocha
|
159
|
-
requirement: &
|
170
|
+
requirement: &70158318227760 !ruby/object:Gem::Requirement
|
160
171
|
none: false
|
161
172
|
requirements:
|
162
173
|
- - ! '>'
|
@@ -164,7 +175,7 @@ dependencies:
|
|
164
175
|
version: 0.9.11
|
165
176
|
type: :development
|
166
177
|
prerelease: false
|
167
|
-
version_requirements: *
|
178
|
+
version_requirements: *70158318227760
|
168
179
|
description: Gibbon is a simple API wrapper for interacting with MailChimp API version
|
169
180
|
1.3.
|
170
181
|
email: amromousa@gmail.com
|
@@ -200,7 +211,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
200
211
|
version: '0'
|
201
212
|
segments:
|
202
213
|
- 0
|
203
|
-
hash:
|
214
|
+
hash: 1602919969016914231
|
204
215
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
205
216
|
none: false
|
206
217
|
requirements:
|
@@ -209,7 +220,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
209
220
|
version: '0'
|
210
221
|
requirements: []
|
211
222
|
rubyforge_project:
|
212
|
-
rubygems_version: 1.8.
|
223
|
+
rubygems_version: 1.8.10
|
213
224
|
signing_key:
|
214
225
|
specification_version: 3
|
215
226
|
summary: Gibbon is a simple API wrapper for interacting with MailChimp API 1.3
|