surveymonkey 0.1.3 → 0.2.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.
- 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 [](https://travis-ci.org/hakamadare/rubygem-surveymonkey)
|
1
|
+
# Surveymonkey [](https://travis-ci.org/hakamadare/rubygem-surveymonkey) [](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/
|