surveymonkey 0.1.3 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/lib/surveymonkey/api/method.rb +30 -0
- data/lib/surveymonkey/api.rb +96 -0
- data/lib/surveymonkey/client.rb +10 -146
- data/lib/surveymonkey/request.rb +142 -0
- data/lib/surveymonkey/version.rb +1 -1
- data/lib/surveymonkey.rb +7 -15
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c0c1572387413d53da2a0a44985440a8ea47270f
|
4
|
+
data.tar.gz: 692049f25149f4e8794f099be218fa76fc75b130
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd15fc54ca2937595c44f09a12c96f2fbf1ed5c14c3842f1a8bf4563267cb7d502e5cc74172628920fb93e68eb672c08c0bf28f2ac82d8ca324b6e6cff6068b2
|
7
|
+
data.tar.gz: 7f05a0f14e09ff41e7c68b57b038141ffffba22ffe30c7832e1fe327c71ec140623692e50dd85e9351930226bc8fb78865b541c778e53d98dedd3a28402ee13a
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Surveymonkey [![Build Status](https://travis-ci.org/hakamadare/rubygem-surveymonkey.svg?branch=master)](https://travis-ci.org/hakamadare/rubygem-surveymonkey)
|
1
|
+
# Surveymonkey [![Build Status](https://travis-ci.org/hakamadare/rubygem-surveymonkey.svg?branch=master)](https://travis-ci.org/hakamadare/rubygem-surveymonkey) [![Gem Version](https://badge.fury.io/rb/surveymonkey.svg)](http://badge.fury.io/rb/surveymonkey)
|
2
2
|
|
3
3
|
This is a client for the SurveyMonkey [RESTful API](http://developer.surveymonkey.com).
|
4
4
|
|
@@ -50,9 +50,9 @@ The SurveyMonkey API methods are documented [here](https://developer.surveymonke
|
|
50
50
|
{"username"=>"XXXXXX", "is_paid_account"=>true, "is_enterprise_user"=>false}}}
|
51
51
|
```
|
52
52
|
|
53
|
-
To pass parameters to an API method, pass a hash like so:
|
53
|
+
To pass parameters to an API method, pass a hash as the `method_params` parameter like so:
|
54
54
|
```ruby
|
55
|
-
[2] pry(main)> Surveymonkey.get_survey_list({"page_size" => 5, "order_asc" => true})
|
55
|
+
[2] pry(main)> Surveymonkey.get_survey_list('method_params' => {"page_size" => 5, "order_asc" => true})
|
56
56
|
=> {"status"=>0,
|
57
57
|
"data"=>
|
58
58
|
{"surveys"=>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'surveymonkey/logging'
|
2
|
+
|
3
|
+
class Surveymonkey::API::Method
|
4
|
+
attr_reader :path, :http_method
|
5
|
+
|
6
|
+
def initialize(path, http_method = 'post')
|
7
|
+
begin
|
8
|
+
$log.debug(sprintf("%s: enter", __method__))
|
9
|
+
|
10
|
+
# FIXME validate the path
|
11
|
+
@path = path
|
12
|
+
|
13
|
+
# validate the method
|
14
|
+
$log.debug(sprintf("%s:http_method: '%s'\n", __method__, http_method))
|
15
|
+
the_method = http_method.to_s.downcase
|
16
|
+
$log.debug(sprintf("%s:the_method: '%s'\n", __method__, the_method))
|
17
|
+
|
18
|
+
if the_method =~ /^(get|post|patch|put|delete|move|copy|head|options)$/
|
19
|
+
@http_method = the_method
|
20
|
+
$log.debug(sprintf("%s: method: %s", __method__, the_method))
|
21
|
+
else
|
22
|
+
raise StandardError, "'#{the_method}' is not a valid HTTP method", caller
|
23
|
+
end
|
24
|
+
|
25
|
+
rescue StandardError => e
|
26
|
+
$log.error(sprintf("%s: unable to initialize API method: %s\n", __method__, e.message))
|
27
|
+
raise
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,96 @@
|
|
1
|
+
require 'surveymonkey/logging'
|
2
|
+
require 'json'
|
3
|
+
|
4
|
+
class Surveymonkey::API
|
5
|
+
autoload :Method, 'surveymonkey/api/method'
|
6
|
+
|
7
|
+
# constants
|
8
|
+
|
9
|
+
Api_methods = {
|
10
|
+
'create_flow' => {
|
11
|
+
'path' => '/v2/batch/create_flow',
|
12
|
+
},
|
13
|
+
'send_flow' => {
|
14
|
+
'path' => '/v2/batch/send_flow',
|
15
|
+
},
|
16
|
+
'create_collector' => {
|
17
|
+
'path' => '/v2/collectors/create_collector',
|
18
|
+
},
|
19
|
+
'get_survey_list' => {
|
20
|
+
'path' => '/v2/surveys/get_survey_list',
|
21
|
+
},
|
22
|
+
'get_survey_details' => {
|
23
|
+
'path' => '/v2/surveys/get_survey_details',
|
24
|
+
},
|
25
|
+
'get_collector_list' => {
|
26
|
+
'path' => '/v2/surveys/get_collector_list',
|
27
|
+
},
|
28
|
+
'get_respondent_list' => {
|
29
|
+
'path' => '/v2/surveys/get_respondent_list',
|
30
|
+
},
|
31
|
+
'get_responses' => {
|
32
|
+
'path' => '/v2/surveys/get_responses',
|
33
|
+
},
|
34
|
+
'get_response_counts' => {
|
35
|
+
'path' => '/v2/surveys/get_response_counts',
|
36
|
+
},
|
37
|
+
'get_template_list' => {
|
38
|
+
'path' => '/v2/templates/get_template_list',
|
39
|
+
},
|
40
|
+
'get_user_details' => {
|
41
|
+
'path' => '/v2/user/get_user_details',
|
42
|
+
},
|
43
|
+
}
|
44
|
+
|
45
|
+
# public methods
|
46
|
+
attr_reader :api_methods
|
47
|
+
|
48
|
+
def api_method(key, api_methods = self.api_methods)
|
49
|
+
begin
|
50
|
+
$log.debug(sprintf("%s: api methods: %s\n", __method__, api_methods.inspect))
|
51
|
+
$log.debug(sprintf("%s: fetching '%s' from API methods\n", __method__, key))
|
52
|
+
value = api_methods.fetch(key)
|
53
|
+
$log.debug(sprintf("%s: retrieved '%s'\n", __method__, value.inspect))
|
54
|
+
|
55
|
+
path = value['path']
|
56
|
+
$log.debug(sprintf("%s: path '%s'\n", __method__, path))
|
57
|
+
method = (value['method'] || 'post')
|
58
|
+
$log.debug(sprintf("%s: method '%s'\n", __method__, method))
|
59
|
+
|
60
|
+
# return
|
61
|
+
Surveymonkey::API::Method.new(path, method)
|
62
|
+
|
63
|
+
rescue KeyError => e
|
64
|
+
$log.error(sprintf("%s: '%s' not found in api methods\n", __method__, key))
|
65
|
+
raise e
|
66
|
+
rescue StandardError => e
|
67
|
+
$log.error(sprintf("%s: %s\n", __method__, e.message))
|
68
|
+
raise
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
def api_method_params(method_params)
|
73
|
+
begin
|
74
|
+
# TODO validate params against API spec
|
75
|
+
$log.debug(sprintf("%s: parsing api method params from '%s'\n", __method__, method_params))
|
76
|
+
the_params = (method_params.kind_of?(String) ? method_params : JSON.generate(method_params || {}))
|
77
|
+
$log.debug(sprintf("%s: parsed method params '%s'\n", __method__, the_params))
|
78
|
+
|
79
|
+
# return
|
80
|
+
the_params
|
81
|
+
|
82
|
+
rescue StandardError => e
|
83
|
+
$log.error(sprintf("%s: %s\n", __method__, e.message))
|
84
|
+
raise
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
def initialize
|
89
|
+
begin
|
90
|
+
@api_methods = Api_methods
|
91
|
+
rescue StandardError => e
|
92
|
+
$log.error(sprintf("%s: %s\n", __method__, e.message))
|
93
|
+
raise
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
data/lib/surveymonkey/client.rb
CHANGED
@@ -9,91 +9,15 @@ class Surveymonkey::Client
|
|
9
9
|
$log.debug("Defined Surveymonkey::Client.")
|
10
10
|
|
11
11
|
# constants
|
12
|
-
Baseuri = 'https://api.surveymonkey.net'
|
13
|
-
|
14
|
-
Api_methods = {
|
15
|
-
'create_flow' => {
|
16
|
-
'path' => '/v2/batch/create_flow',
|
17
|
-
},
|
18
|
-
'send_flow' => {
|
19
|
-
'path' => '/v2/batch/send_flow',
|
20
|
-
},
|
21
|
-
'create_collector' => {
|
22
|
-
'path' => '/v2/collectors/create_collector',
|
23
|
-
},
|
24
|
-
'get_survey_list' => {
|
25
|
-
'path' => '/v2/surveys/get_survey_list',
|
26
|
-
},
|
27
|
-
'get_survey_details' => {
|
28
|
-
'path' => '/v2/surveys/get_survey_details',
|
29
|
-
},
|
30
|
-
'get_collector_list' => {
|
31
|
-
'path' => '/v2/surveys/get_collector_list',
|
32
|
-
},
|
33
|
-
'get_respondent_list' => {
|
34
|
-
'path' => '/v2/surveys/get_respondent_list',
|
35
|
-
},
|
36
|
-
'get_responses' => {
|
37
|
-
'path' => '/v2/surveys/get_responses',
|
38
|
-
},
|
39
|
-
'get_response_counts' => {
|
40
|
-
'path' => '/v2/surveys/get_response_counts',
|
41
|
-
},
|
42
|
-
'get_template_list' => {
|
43
|
-
'path' => '/v2/templates/get_template_list',
|
44
|
-
},
|
45
|
-
'get_user_details' => {
|
46
|
-
'path' => '/v2/user/get_user_details',
|
47
|
-
},
|
48
|
-
}
|
49
12
|
|
50
13
|
# public methods
|
51
|
-
attr_reader :baseuri, :api_key
|
52
|
-
attr_accessor :access_token
|
53
|
-
|
54
|
-
def api_call(api_method, method_params = {}, api_key = self.api_key, access_token = self.access_token)
|
55
|
-
begin
|
56
|
-
$log.debug(sprintf("%s: calling '%s'\n", __method__, api_method))
|
57
|
-
|
58
|
-
the_api_method = _api_method(api_method)
|
59
|
-
|
60
|
-
body = _api_method_params(method_params)
|
61
|
-
|
62
|
-
path = the_api_method.fetch('path')
|
63
|
-
|
64
|
-
http_method = the_api_method.fetch('method', 'post')
|
65
|
-
|
66
|
-
$log.debug(sprintf("%s: %s '%s' '%s'\n", __method__, http_method, path, body))
|
67
|
-
|
68
|
-
http_headers = _http_headers(access_token)
|
69
|
-
$log.debug(sprintf("%s: http_headers: '%s'\n", __method__, http_headers.inspect))
|
70
|
-
|
71
|
-
request_uri = _request_uri(path, api_key)
|
72
|
-
|
73
|
-
$log.debug(sprintf("%s: ready to make request for '%s'\n", __method__, api_method))
|
74
|
-
response = self.class.send(http_method.to_sym, request_uri, body: body, headers: http_headers)
|
75
|
-
|
76
|
-
$log.debug(sprintf("%s: response class %s\n", __method__, response.class))
|
77
|
-
$log.debug(sprintf("%s: response code %i\n", __method__, response.code))
|
78
|
-
$log.debug(sprintf("%s: response headers '%s'\n", __method__, response.headers.inspect))
|
14
|
+
attr_reader :baseuri, :api_key, :access_token
|
79
15
|
|
80
|
-
|
81
|
-
|
82
|
-
rescue KeyError => e
|
83
|
-
$log.error(sprintf("%s: no such method '%s': %s\n", __method__, http_method, e.message))
|
84
|
-
raise e
|
85
|
-
rescue Exception => e
|
86
|
-
$log.error(sprintf("%s: %s\n", __method__, e.message))
|
87
|
-
raise
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
|
-
def initialize(*args)
|
16
|
+
def initialize(baseuri, access_token, api_key)
|
92
17
|
begin
|
93
|
-
|
94
|
-
@
|
95
|
-
@
|
96
|
-
@api_key = param_hash.fetch('api_key', _from_env('SURVEYMONKEY_APIKEY'))
|
18
|
+
@baseuri = baseuri
|
19
|
+
@access_token = access_token
|
20
|
+
@api_key = api_key
|
97
21
|
|
98
22
|
self.class.logger $log, :debug
|
99
23
|
|
@@ -101,12 +25,10 @@ class Surveymonkey::Client
|
|
101
25
|
self.class.base_uri @baseuri
|
102
26
|
|
103
27
|
$log.debug(sprintf("%s: setting headers'\n", __method__))
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
self.class.headers the_headers
|
109
|
-
rescue Exception => e
|
28
|
+
http_headers = _http_headers(@access_token)
|
29
|
+
self.class.headers http_headers
|
30
|
+
|
31
|
+
rescue StandardError => e
|
110
32
|
$log.error(sprintf("%s: %s\n", __method__, e.message))
|
111
33
|
raise
|
112
34
|
end
|
@@ -115,22 +37,6 @@ class Surveymonkey::Client
|
|
115
37
|
# private methods
|
116
38
|
private
|
117
39
|
|
118
|
-
def _api_method(key, api_methods = Api_methods)
|
119
|
-
begin
|
120
|
-
$log.debug(sprintf("%s: fetching '%s' from api methods\n", __method__, key))
|
121
|
-
value = api_methods.fetch(key)
|
122
|
-
$log.debug(sprintf("%s: retrieved '%s'\n", __method__, value.inspect))
|
123
|
-
value
|
124
|
-
|
125
|
-
rescue KeyError => e
|
126
|
-
$log.error(sprintf("%s: '%s' not found in api methods\n", __method__, key))
|
127
|
-
raise e
|
128
|
-
rescue Exception => e
|
129
|
-
$log.error(sprintf("%s: %s\n", __method__, e.message))
|
130
|
-
raise
|
131
|
-
end
|
132
|
-
end
|
133
|
-
|
134
40
|
def _http_headers(token)
|
135
41
|
begin
|
136
42
|
$log.debug(sprintf("%s: constructing http headers with token '%s'\n", __method__, token))
|
@@ -141,49 +47,7 @@ class Surveymonkey::Client
|
|
141
47
|
$log.debug(sprintf("%s: http headers: '%s'\n", __method__, http_headers))
|
142
48
|
http_headers
|
143
49
|
|
144
|
-
rescue
|
145
|
-
$log.error(sprintf("%s: %s\n", __method__, e.message))
|
146
|
-
raise
|
147
|
-
end
|
148
|
-
end
|
149
|
-
|
150
|
-
def _api_method_params(method_params)
|
151
|
-
begin
|
152
|
-
# TODO validate params against API spec
|
153
|
-
$log.debug(sprintf("%s: parsing api method params from '%s'\n", __method__, method_params))
|
154
|
-
the_params = JSON.generate(method_params || {}).to_s
|
155
|
-
$log.debug(sprintf("%s: parsed method params '%s'\n", __method__, the_params))
|
156
|
-
the_params
|
157
|
-
|
158
|
-
rescue Exception => e
|
159
|
-
$log.error(sprintf("%s: %s\n", __method__, e.message))
|
160
|
-
raise
|
161
|
-
end
|
162
|
-
end
|
163
|
-
|
164
|
-
def _request_uri(path, api_key)
|
165
|
-
begin
|
166
|
-
$log.debug(sprintf("%s: generating request uri fragment from '%s' and '%s'\n", __method__, path, api_key))
|
167
|
-
request_uri = sprintf("%s?api_key=%s", path, api_key)
|
168
|
-
$log.debug(sprintf("%s: generated '%s'\n", __method__, request_uri))
|
169
|
-
request_uri
|
170
|
-
|
171
|
-
rescue Exception => e
|
172
|
-
$log.error(sprintf("%s: %s\n", __method__, e.message))
|
173
|
-
raise
|
174
|
-
end
|
175
|
-
end
|
176
|
-
|
177
|
-
def _from_env(key)
|
178
|
-
begin
|
179
|
-
$log.debug(sprintf("%s: fetching '%s' from environment\n", __method__, key))
|
180
|
-
value = ENV.fetch(key)
|
181
|
-
$log.debug(sprintf("%s: retrieved '%s'\n", __method__, value))
|
182
|
-
value
|
183
|
-
|
184
|
-
rescue KeyError => e
|
185
|
-
$log.info(sprintf("%s: '%s' not found in environment\n", __method__, key))
|
186
|
-
rescue Exception => e
|
50
|
+
rescue StandardError => e
|
187
51
|
$log.error(sprintf("%s: %s\n", __method__, e.message))
|
188
52
|
raise
|
189
53
|
end
|
@@ -0,0 +1,142 @@
|
|
1
|
+
require 'surveymonkey/logging'
|
2
|
+
require 'surveymonkey/api'
|
3
|
+
require 'surveymonkey/client'
|
4
|
+
|
5
|
+
class Surveymonkey::Request
|
6
|
+
|
7
|
+
begin
|
8
|
+
attr_reader :api, :api_method, :client, :path, :api_key, :baseuri
|
9
|
+
attr_accessor :access_token, :method_params
|
10
|
+
|
11
|
+
# constants
|
12
|
+
|
13
|
+
Baseuri = 'https://api.surveymonkey.net'
|
14
|
+
|
15
|
+
# public methods
|
16
|
+
def execute(method_params = self.method_params, api_method = self.api_method, api_key = self.api_key, access_token = self.access_token)
|
17
|
+
begin
|
18
|
+
$log.debug(sprintf("%s: enter\n", __method__))
|
19
|
+
|
20
|
+
self.method_params=(self.api.api_method_params(method_params))
|
21
|
+
method_params = self.method_params
|
22
|
+
$log.debug(sprintf("%s: method_params: %s\n", __method__, method_params))
|
23
|
+
|
24
|
+
path = api_method.path
|
25
|
+
$log.debug(sprintf("%s: path: %s\n", __method__, path))
|
26
|
+
|
27
|
+
http_method = api_method.http_method
|
28
|
+
$log.debug(sprintf("%s: http_method: %s\n", __method__, http_method))
|
29
|
+
|
30
|
+
request_uri = _request_uri(path, api_key)
|
31
|
+
$log.debug(sprintf("%s: ready to make request for '%s'\n", __method__, api_method))
|
32
|
+
|
33
|
+
response = self.client.class.send(http_method.to_sym, request_uri, body: self.method_params)
|
34
|
+
|
35
|
+
$log.debug(sprintf("%s: response class %s\n", __method__, response.class))
|
36
|
+
$log.debug(sprintf("%s: response code %i\n", __method__, response.code))
|
37
|
+
$log.debug(sprintf("%s: response headers '%s'\n", __method__, response.headers.inspect))
|
38
|
+
|
39
|
+
response.parsed_response
|
40
|
+
|
41
|
+
rescue StandardError => e
|
42
|
+
$log.error(sprintf("%s: unable to execute API request: %s\n", __method__, e.message))
|
43
|
+
raise
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def initialize(api_method, *args)
|
48
|
+
begin
|
49
|
+
$log.debug(sprintf("%s: enter\n", __method__))
|
50
|
+
$log.debug(sprintf("%s: api_method: %s\n", __method__, api_method))
|
51
|
+
$log.debug(sprintf("%s: args: %s\n", __method__, args))
|
52
|
+
|
53
|
+
api = Surveymonkey::API.new
|
54
|
+
@api_method = api.api_method(api_method)
|
55
|
+
|
56
|
+
# extract optional params
|
57
|
+
param_hash = Hash.try_convert(args.shift) || {}
|
58
|
+
@baseuri = param_hash.fetch('baseuri', Baseuri)
|
59
|
+
@method_params = api.api_method_params(param_hash.fetch('method_params', {}))
|
60
|
+
@access_token = param_hash.fetch('access_token', _from_env('SURVEYMONKEY_ACCESSTOKEN'))
|
61
|
+
@api_key = param_hash.fetch('api_key', _from_env('SURVEYMONKEY_APIKEY'))
|
62
|
+
|
63
|
+
# configure the client
|
64
|
+
@client = Surveymonkey::Client.new(baseuri = @baseuri, access_token = @access_token, api_key = @api_key)
|
65
|
+
|
66
|
+
# configure the API
|
67
|
+
@api = Surveymonkey::API.new
|
68
|
+
|
69
|
+
rescue StandardError => e
|
70
|
+
$log.error(sprintf("%s: unable to initialize API request: %s\n", __method__, e.message))
|
71
|
+
raise
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
# private methods
|
76
|
+
private
|
77
|
+
|
78
|
+
def _client
|
79
|
+
begin
|
80
|
+
@client = Surveymonkey::Client.new()
|
81
|
+
rescue StandardError => e
|
82
|
+
$log.fatal(sprintf("%s: %s\n", "Unable to initialize REST client", e.message))
|
83
|
+
$log.debug(sprintf("%s: %s\n", __method__, e.message))
|
84
|
+
raise
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
def _api
|
89
|
+
begin
|
90
|
+
@api = Surveymonkey::API.new()
|
91
|
+
rescue StandardError => e
|
92
|
+
$log.fatal(sprintf("%s: %s\n", "Unable to initialize SurveyMonkey API", e.message))
|
93
|
+
$log.debug(sprintf("%s: %s\n", __method__, e.message))
|
94
|
+
raise
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
def _http_headers(token)
|
99
|
+
begin
|
100
|
+
$log.debug(sprintf("%s: constructing http headers with token '%s'\n", __method__, token))
|
101
|
+
http_headers = {
|
102
|
+
"Content-Type" => "application/json",
|
103
|
+
"Authorization" => sprintf("bearer %s", token),
|
104
|
+
}
|
105
|
+
$log.debug(sprintf("%s: http headers: '%s'\n", __method__, http_headers))
|
106
|
+
http_headers
|
107
|
+
|
108
|
+
rescue Exception => e
|
109
|
+
$log.error(sprintf("%s: %s\n", __method__, e.message))
|
110
|
+
raise
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
def _from_env(key)
|
115
|
+
begin
|
116
|
+
$log.debug(sprintf("%s: fetching '%s' from environment\n", __method__, key))
|
117
|
+
value = ENV.fetch(key)
|
118
|
+
$log.debug(sprintf("%s: retrieved '%s'\n", __method__, value))
|
119
|
+
value
|
120
|
+
|
121
|
+
rescue KeyError => e
|
122
|
+
$log.info(sprintf("%s: '%s' not found in environment\n", __method__, key))
|
123
|
+
rescue Exception => e
|
124
|
+
$log.error(sprintf("%s: %s\n", __method__, e.message))
|
125
|
+
raise
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
def _request_uri(path, api_key)
|
130
|
+
begin
|
131
|
+
$log.debug(sprintf("%s: generating request uri fragment from '%s' and '%s'\n", __method__, path, api_key))
|
132
|
+
request_uri = sprintf("%s?api_key=%s", path, api_key)
|
133
|
+
$log.debug(sprintf("%s: generated '%s'\n", __method__, request_uri))
|
134
|
+
request_uri
|
135
|
+
|
136
|
+
rescue StandardError => e
|
137
|
+
$log.error(sprintf("%s: %s\n", __method__, e.message))
|
138
|
+
raise
|
139
|
+
end
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
data/lib/surveymonkey/version.rb
CHANGED
data/lib/surveymonkey.rb
CHANGED
@@ -2,9 +2,9 @@ require "logging"
|
|
2
2
|
|
3
3
|
require "surveymonkey/version"
|
4
4
|
require "surveymonkey/logging"
|
5
|
+
require "surveymonkey/request"
|
5
6
|
|
6
7
|
module Surveymonkey
|
7
|
-
autoload :Client, "surveymonkey/client"
|
8
8
|
|
9
9
|
class << self
|
10
10
|
# Constants
|
@@ -15,17 +15,19 @@ module Surveymonkey
|
|
15
15
|
$log.debug(sprintf("%s: %s\n", __method__, 'enter'))
|
16
16
|
|
17
17
|
method_params = Hash(Array(args).shift) || {}
|
18
|
+
$log.debug(sprintf("%s: method_params: %s\n", __method__, method_params.inspect))
|
18
19
|
|
19
|
-
|
20
|
+
request = Surveymonkey::Request.new(method_name.to_s, method_params)
|
21
|
+
response = request.execute
|
20
22
|
response
|
21
23
|
|
22
24
|
rescue TypeError => e
|
23
|
-
$log.fatal(sprintf("%s: method parameters must be a hash\n"))
|
25
|
+
$log.fatal(sprintf("%s: method parameters must be a hash\n", __method__))
|
24
26
|
exit 1
|
25
27
|
rescue KeyError => e
|
26
|
-
$log.fatal(sprintf("%s: method '%s' not implemented\n"))
|
28
|
+
$log.fatal(sprintf("%s: method '%s' not implemented\n", __method__, method_name.to_s))
|
27
29
|
exit 1
|
28
|
-
rescue
|
30
|
+
rescue StandardError => e
|
29
31
|
$log.error(sprintf("%s: %s\n", __method__, e.message))
|
30
32
|
raise
|
31
33
|
end
|
@@ -34,15 +36,5 @@ module Surveymonkey
|
|
34
36
|
# Private methods
|
35
37
|
private
|
36
38
|
|
37
|
-
def _client
|
38
|
-
begin
|
39
|
-
@client = Surveymonkey::Client.new()
|
40
|
-
rescue Exception => e
|
41
|
-
$log.fatal(sprintf("%s: %s\n", "Unable to initialize REST client", e.message))
|
42
|
-
$log.debug(sprintf("%s: %s\n", __method__, e.message))
|
43
|
-
raise
|
44
|
-
end
|
45
|
-
end
|
46
39
|
end
|
47
|
-
|
48
40
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: surveymonkey
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steve Huff
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -141,9 +141,12 @@ files:
|
|
141
141
|
- bin/console
|
142
142
|
- bin/setup
|
143
143
|
- lib/surveymonkey.rb
|
144
|
+
- lib/surveymonkey/api.rb
|
145
|
+
- lib/surveymonkey/api/method.rb
|
144
146
|
- lib/surveymonkey/client.rb
|
145
147
|
- lib/surveymonkey/config.rb
|
146
148
|
- lib/surveymonkey/logging.rb
|
149
|
+
- lib/surveymonkey/request.rb
|
147
150
|
- lib/surveymonkey/version.rb
|
148
151
|
- surveymonkey.gemspec
|
149
152
|
homepage: http://developer.surveymonkey.com/
|