seven_api 0.5.0 → 0.6.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.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/.idea/ruby-client.iml +16 -4
  3. data/README.md +2 -2
  4. data/doc/{Sms77 → SevenApi}/Client.html +222 -222
  5. data/doc/{Sms77 → SevenApi}/Contacts/Action.html +130 -130
  6. data/doc/{Sms77 → SevenApi}/Contacts.html +125 -125
  7. data/doc/{Sms77 → SevenApi}/Endpoint.html +186 -186
  8. data/doc/{Sms77 → SevenApi}/Hooks/Action.html +130 -130
  9. data/doc/{Sms77 → SevenApi}/Hooks/EventType.html +145 -145
  10. data/doc/{Sms77 → SevenApi}/Hooks/RequestMethod.html +130 -130
  11. data/doc/{Sms77 → SevenApi}/Hooks/Validator.html +582 -582
  12. data/doc/{Sms77 → SevenApi}/Hooks.html +125 -125
  13. data/doc/{Sms77 → SevenApi}/Journal/Type.html +135 -135
  14. data/doc/{Sms77 → SevenApi}/Journal/Validator.html +380 -380
  15. data/doc/{Sms77 → SevenApi}/Journal.html +125 -125
  16. data/doc/{Sms77 → SevenApi}/Lookup/Type.html +135 -135
  17. data/doc/{Sms77 → SevenApi}/Lookup.html +125 -125
  18. data/doc/{Sms77 → SevenApi}/Resource.html +857 -857
  19. data/doc/{Sms77 → SevenApi}/Resources/Analytics.html +260 -260
  20. data/doc/{Sms77 → SevenApi}/Resources/Balance.html +243 -243
  21. data/doc/{Sms77 → SevenApi}/Resources/Contacts.html +445 -445
  22. data/doc/{Sms77 → SevenApi}/Resources/Hooks.html +453 -453
  23. data/doc/{Sms77 → SevenApi}/Resources/Journal.html +258 -258
  24. data/doc/{Sms77 → SevenApi}/Resources/Lookup.html +535 -535
  25. data/doc/{Sms77 → SevenApi}/Resources/Pricing.html +260 -260
  26. data/doc/{Sms77 → SevenApi}/Resources/Sms.html +258 -258
  27. data/doc/{Sms77 → SevenApi}/Resources/Status.html +258 -258
  28. data/doc/{Sms77 → SevenApi}/Resources/Subaccounts.html +645 -645
  29. data/doc/{Sms77 → SevenApi}/Resources/ValidateForVoice.html +258 -258
  30. data/doc/{Sms77 → SevenApi}/Resources/Voice.html +258 -258
  31. data/doc/SevenApi/Resources.html +128 -0
  32. data/doc/{Sms77 → SevenApi}/Sms/Type.html +125 -125
  33. data/doc/{Sms77 → SevenApi}/Sms.html +125 -125
  34. data/doc/{Sms77 → SevenApi}/Subaccounts/Action.html +140 -140
  35. data/doc/SevenApi/Subaccounts/Validator.html +490 -0
  36. data/doc/{Sms77 → SevenApi}/Subaccounts.html +125 -125
  37. data/doc/{Sms77 → SevenApi}/Util.html +993 -993
  38. data/doc/{Sms77.html → SevenApi.html} +145 -145
  39. data/doc/_index.html +443 -443
  40. data/doc/class_list.html +51 -51
  41. data/doc/css/full_list.css +58 -58
  42. data/doc/css/style.css +497 -497
  43. data/doc/file.README.html +110 -111
  44. data/doc/file_list.html +56 -56
  45. data/doc/frames.html +17 -17
  46. data/doc/index.html +110 -111
  47. data/doc/js/app.js +314 -314
  48. data/doc/js/full_list.js +216 -216
  49. data/doc/js/jquery.js +3 -3
  50. data/doc/method_list.html +563 -563
  51. data/doc/top-level-namespace.html +109 -109
  52. data/lib/seven_api/client.rb +2 -0
  53. data/lib/seven_api/contacts.rb +0 -5
  54. data/lib/seven_api/endpoint.rb +5 -0
  55. data/lib/seven_api/hooks.rb +1 -0
  56. data/lib/seven_api/lookup.rb +1 -0
  57. data/lib/seven_api/numbers.rb +9 -0
  58. data/lib/seven_api/paginated.rb +10 -0
  59. data/lib/seven_api/rcs.rb +9 -0
  60. data/lib/seven_api/resource.rb +8 -3
  61. data/lib/seven_api/resources/analytics.rb +38 -5
  62. data/lib/seven_api/resources/balance.rb +2 -2
  63. data/lib/seven_api/resources/contacts.rb +36 -18
  64. data/lib/seven_api/resources/groups.rb +57 -0
  65. data/lib/seven_api/resources/hooks.rb +1 -1
  66. data/lib/seven_api/resources/journal.rb +1 -1
  67. data/lib/seven_api/resources/lookup.rb +36 -20
  68. data/lib/seven_api/resources/numbers.rb +70 -0
  69. data/lib/seven_api/resources/pricing.rb +1 -1
  70. data/lib/seven_api/resources/rcs.rb +39 -0
  71. data/lib/seven_api/resources/sms.rb +1 -1
  72. data/lib/seven_api/resources/status.rb +1 -1
  73. data/lib/seven_api/resources/subaccounts.rb +5 -5
  74. data/lib/seven_api/resources/validate_for_voice.rb +1 -1
  75. data/lib/seven_api/resources/voice.rb +1 -1
  76. data/lib/seven_api/version.rb +1 -1
  77. data/seven_api.gemspec +5 -5
  78. data/spec/seven_api/analytics_spec.rb +49 -0
  79. data/spec/seven_api/balance_spec.rb +8 -2
  80. data/spec/seven_api/contacts_spec.rb +52 -81
  81. data/spec/seven_api/groups_spec.rb +74 -0
  82. data/spec/seven_api/lookup_spec.rb +51 -33
  83. data/spec/seven_api/numbers_spec.rb +135 -0
  84. data/spec/seven_api/rcs_spec.rb +99 -0
  85. data/spec/seven_api/sms_spec.rb +2 -2
  86. data/spec/seven_api/voice_spec.rb +2 -2
  87. data/spec/spec_helper.rb +8 -17
  88. metadata +64 -50
  89. data/doc/Sms77/Resources.html +0 -128
  90. data/doc/Sms77/Subaccounts/Validator.html +0 -490
data/doc/js/full_list.js CHANGED
@@ -1,216 +1,216 @@
1
- (function() {
2
-
3
- var $clicked = $(null);
4
- var searchTimeout = null;
5
- var searchCache = [];
6
- var caseSensitiveMatch = false;
7
- var ignoreKeyCodeMin = 8;
8
- var ignoreKeyCodeMax = 46;
9
- var commandKey = 91;
10
-
11
- RegExp.escape = function(text) {
12
- return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
13
- }
14
-
15
- function escapeShortcut() {
16
- $(document).keydown(function(evt) {
17
- if (evt.which == 27) {
18
- window.parent.postMessage('navEscape', '*');
19
- }
20
- });
21
- }
22
-
23
- function navResizer() {
24
- $(window).mousemove(function(e) {
25
- window.parent.postMessage({
26
- action: 'mousemove', event: {pageX: e.pageX, which: e.which}
27
- }, '*');
28
- }).mouseup(function(e) {
29
- window.parent.postMessage({action: 'mouseup'}, '*');
30
- });
31
- window.parent.postMessage("navReady", "*");
32
- }
33
-
34
- function clearSearchTimeout() {
35
- clearTimeout(searchTimeout);
36
- searchTimeout = null;
37
- }
38
-
39
- function enableLinks() {
40
- // load the target page in the parent window
41
- $('#full_list li').on('click', function(evt) {
42
- $('#full_list li').removeClass('clicked');
43
- $clicked = $(this);
44
- $clicked.addClass('clicked');
45
- evt.stopPropagation();
46
-
47
- if (evt.target.tagName === 'A') return true;
48
-
49
- var elem = $clicked.find('> .item .object_link a')[0];
50
- var e = evt.originalEvent;
51
- var newEvent = new MouseEvent(evt.originalEvent.type);
52
- newEvent.initMouseEvent(e.type, e.canBubble, e.cancelable, e.view, e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget);
53
- elem.dispatchEvent(newEvent);
54
- evt.preventDefault();
55
- return false;
56
- });
57
- }
58
-
59
- function enableToggles() {
60
- // show/hide nested classes on toggle click
61
- $('#full_list a.toggle').on('click', function(evt) {
62
- evt.stopPropagation();
63
- evt.preventDefault();
64
- $(this).parent().parent().toggleClass('collapsed');
65
- highlight();
66
- });
67
- }
68
-
69
- function populateSearchCache() {
70
- $('#full_list li .item').each(function() {
71
- var $node = $(this);
72
- var $link = $node.find('.object_link a');
73
- if ($link.length > 0) {
74
- searchCache.push({
75
- node: $node,
76
- link: $link,
77
- name: $link.text(),
78
- fullName: $link.attr('title').split(' ')[0]
79
- });
80
- }
81
- });
82
- }
83
-
84
- function enableSearch() {
85
- $('#search input').keyup(function(event) {
86
- if (ignoredKeyPress(event)) return;
87
- if (this.value === "") {
88
- clearSearch();
89
- } else {
90
- performSearch(this.value);
91
- }
92
- });
93
-
94
- $('#full_list').after("<div id='noresults' style='display:none'></div>");
95
- }
96
-
97
- function ignoredKeyPress(event) {
98
- if (
99
- (event.keyCode > ignoreKeyCodeMin && event.keyCode < ignoreKeyCodeMax) ||
100
- (event.keyCode == commandKey)
101
- ) {
102
- return true;
103
- } else {
104
- return false;
105
- }
106
- }
107
-
108
- function clearSearch() {
109
- clearSearchTimeout();
110
- $('#full_list .found').removeClass('found').each(function() {
111
- var $link = $(this).find('.object_link a');
112
- $link.text($link.text());
113
- });
114
- $('#full_list, #content').removeClass('insearch');
115
- $clicked.parents().removeClass('collapsed');
116
- highlight();
117
- }
118
-
119
- function performSearch(searchString) {
120
- clearSearchTimeout();
121
- $('#full_list, #content').addClass('insearch');
122
- $('#noresults').text('').hide();
123
- partialSearch(searchString, 0);
124
- }
125
-
126
- function partialSearch(searchString, offset) {
127
- var lastRowClass = '';
128
- var i = null;
129
- for (i = offset; i < Math.min(offset + 50, searchCache.length); i++) {
130
- var item = searchCache[i];
131
- var searchName = (searchString.indexOf('::') != -1 ? item.fullName : item.name);
132
- var matchString = buildMatchString(searchString);
133
- var matchRegexp = new RegExp(matchString, caseSensitiveMatch ? "" : "i");
134
- if (searchName.match(matchRegexp) == null) {
135
- item.node.removeClass('found');
136
- item.link.text(item.link.text());
137
- }
138
- else {
139
- item.node.addClass('found');
140
- item.node.removeClass(lastRowClass).addClass(lastRowClass == 'r1' ? 'r2' : 'r1');
141
- lastRowClass = item.node.hasClass('r1') ? 'r1' : 'r2';
142
- item.link.html(item.name.replace(matchRegexp, "<strong>$&</strong>"));
143
- }
144
- }
145
- if(i == searchCache.length) {
146
- searchDone();
147
- } else {
148
- searchTimeout = setTimeout(function() {
149
- partialSearch(searchString, i);
150
- }, 0);
151
- }
152
- }
153
-
154
- function searchDone() {
155
- searchTimeout = null;
156
- highlight();
157
- if ($('#full_list li:visible').size() === 0) {
158
- $('#noresults').text('No results were found.').hide().fadeIn();
159
- } else {
160
- $('#noresults').text('').hide();
161
- }
162
- $('#content').removeClass('insearch');
163
- }
164
-
165
- function buildMatchString(searchString, event) {
166
- caseSensitiveMatch = searchString.match(/[A-Z]/) != null;
167
- var regexSearchString = RegExp.escape(searchString);
168
- if (caseSensitiveMatch) {
169
- regexSearchString += "|" +
170
- $.map(searchString.split(''), function(e) { return RegExp.escape(e); }).
171
- join('.+?');
172
- }
173
- return regexSearchString;
174
- }
175
-
176
- function highlight() {
177
- $('#full_list li:visible').each(function(n) {
178
- $(this).removeClass('even odd').addClass(n % 2 == 0 ? 'odd' : 'even');
179
- });
180
- }
181
-
182
- /**
183
- * Expands the tree to the target element and its immediate
184
- * children.
185
- */
186
- function expandTo(path) {
187
- var $target = $(document.getElementById('object_' + path));
188
- $target.addClass('clicked');
189
- $target.removeClass('collapsed');
190
- $target.parentsUntil('#full_list', 'li').removeClass('collapsed');
191
- if($target[0]) {
192
- window.scrollTo(window.scrollX, $target.offset().top - 250);
193
- highlight();
194
- }
195
- }
196
-
197
- function windowEvents(event) {
198
- var msg = event.data;
199
- if (msg.action === "expand") {
200
- expandTo(msg.path);
201
- }
202
- return false;
203
- }
204
-
205
- window.addEventListener("message", windowEvents, false);
206
-
207
- $(document).ready(function() {
208
- escapeShortcut();
209
- navResizer();
210
- enableLinks();
211
- enableToggles();
212
- populateSearchCache();
213
- enableSearch();
214
- });
215
-
216
- })();
1
+ (function() {
2
+
3
+ var $clicked = $(null);
4
+ var searchTimeout = null;
5
+ var searchCache = [];
6
+ var caseSensitiveMatch = false;
7
+ var ignoreKeyCodeMin = 8;
8
+ var ignoreKeyCodeMax = 46;
9
+ var commandKey = 91;
10
+
11
+ RegExp.escape = function(text) {
12
+ return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
13
+ }
14
+
15
+ function escapeShortcut() {
16
+ $(document).keydown(function(evt) {
17
+ if (evt.which == 27) {
18
+ window.parent.postMessage('navEscape', '*');
19
+ }
20
+ });
21
+ }
22
+
23
+ function navResizer() {
24
+ $(window).mousemove(function(e) {
25
+ window.parent.postMessage({
26
+ action: 'mousemove', event: {pageX: e.pageX, which: e.which}
27
+ }, '*');
28
+ }).mouseup(function(e) {
29
+ window.parent.postMessage({action: 'mouseup'}, '*');
30
+ });
31
+ window.parent.postMessage("navReady", "*");
32
+ }
33
+
34
+ function clearSearchTimeout() {
35
+ clearTimeout(searchTimeout);
36
+ searchTimeout = null;
37
+ }
38
+
39
+ function enableLinks() {
40
+ // load the target page in the parent window
41
+ $('#full_list li').on('click', function(evt) {
42
+ $('#full_list li').removeClass('clicked');
43
+ $clicked = $(this);
44
+ $clicked.addClass('clicked');
45
+ evt.stopPropagation();
46
+
47
+ if (evt.target.tagName === 'A') return true;
48
+
49
+ var elem = $clicked.find('> .item .object_link a')[0];
50
+ var e = evt.originalEvent;
51
+ var newEvent = new MouseEvent(evt.originalEvent.type);
52
+ newEvent.initMouseEvent(e.type, e.canBubble, e.cancelable, e.view, e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget);
53
+ elem.dispatchEvent(newEvent);
54
+ evt.preventDefault();
55
+ return false;
56
+ });
57
+ }
58
+
59
+ function enableToggles() {
60
+ // show/hide nested classes on toggle click
61
+ $('#full_list a.toggle').on('click', function(evt) {
62
+ evt.stopPropagation();
63
+ evt.preventDefault();
64
+ $(this).parent().parent().toggleClass('collapsed');
65
+ highlight();
66
+ });
67
+ }
68
+
69
+ function populateSearchCache() {
70
+ $('#full_list li .item').each(function() {
71
+ var $node = $(this);
72
+ var $link = $node.find('.object_link a');
73
+ if ($link.length > 0) {
74
+ searchCache.push({
75
+ node: $node,
76
+ link: $link,
77
+ name: $link.text(),
78
+ fullName: $link.attr('title').split(' ')[0]
79
+ });
80
+ }
81
+ });
82
+ }
83
+
84
+ function enableSearch() {
85
+ $('#search input').keyup(function(event) {
86
+ if (ignoredKeyPress(event)) return;
87
+ if (this.value === "") {
88
+ clearSearch();
89
+ } else {
90
+ performSearch(this.value);
91
+ }
92
+ });
93
+
94
+ $('#full_list').after("<div id='noresults' style='display:none'></div>");
95
+ }
96
+
97
+ function ignoredKeyPress(event) {
98
+ if (
99
+ (event.keyCode > ignoreKeyCodeMin && event.keyCode < ignoreKeyCodeMax) ||
100
+ (event.keyCode == commandKey)
101
+ ) {
102
+ return true;
103
+ } else {
104
+ return false;
105
+ }
106
+ }
107
+
108
+ function clearSearch() {
109
+ clearSearchTimeout();
110
+ $('#full_list .found').removeClass('found').each(function() {
111
+ var $link = $(this).find('.object_link a');
112
+ $link.text($link.text());
113
+ });
114
+ $('#full_list, #content').removeClass('insearch');
115
+ $clicked.parents().removeClass('collapsed');
116
+ highlight();
117
+ }
118
+
119
+ function performSearch(searchString) {
120
+ clearSearchTimeout();
121
+ $('#full_list, #content').addClass('insearch');
122
+ $('#noresults').text('').hide();
123
+ partialSearch(searchString, 0);
124
+ }
125
+
126
+ function partialSearch(searchString, offset) {
127
+ var lastRowClass = '';
128
+ var i = null;
129
+ for (i = offset; i < Math.min(offset + 50, searchCache.length); i++) {
130
+ var item = searchCache[i];
131
+ var searchName = (searchString.indexOf('::') != -1 ? item.fullName : item.name);
132
+ var matchString = buildMatchString(searchString);
133
+ var matchRegexp = new RegExp(matchString, caseSensitiveMatch ? "" : "i");
134
+ if (searchName.match(matchRegexp) == null) {
135
+ item.node.removeClass('found');
136
+ item.link.text(item.link.text());
137
+ }
138
+ else {
139
+ item.node.addClass('found');
140
+ item.node.removeClass(lastRowClass).addClass(lastRowClass == 'r1' ? 'r2' : 'r1');
141
+ lastRowClass = item.node.hasClass('r1') ? 'r1' : 'r2';
142
+ item.link.html(item.name.replace(matchRegexp, "<strong>$&</strong>"));
143
+ }
144
+ }
145
+ if(i == searchCache.length) {
146
+ searchDone();
147
+ } else {
148
+ searchTimeout = setTimeout(function() {
149
+ partialSearch(searchString, i);
150
+ }, 0);
151
+ }
152
+ }
153
+
154
+ function searchDone() {
155
+ searchTimeout = null;
156
+ highlight();
157
+ if ($('#full_list li:visible').size() === 0) {
158
+ $('#noresults').text('No results were found.').hide().fadeIn();
159
+ } else {
160
+ $('#noresults').text('').hide();
161
+ }
162
+ $('#content').removeClass('insearch');
163
+ }
164
+
165
+ function buildMatchString(searchString, event) {
166
+ caseSensitiveMatch = searchString.match(/[A-Z]/) != null;
167
+ var regexSearchString = RegExp.escape(searchString);
168
+ if (caseSensitiveMatch) {
169
+ regexSearchString += "|" +
170
+ $.map(searchString.split(''), function(e) { return RegExp.escape(e); }).
171
+ join('.+?');
172
+ }
173
+ return regexSearchString;
174
+ }
175
+
176
+ function highlight() {
177
+ $('#full_list li:visible').each(function(n) {
178
+ $(this).removeClass('even odd').addClass(n % 2 == 0 ? 'odd' : 'even');
179
+ });
180
+ }
181
+
182
+ /**
183
+ * Expands the tree to the target element and its immediate
184
+ * children.
185
+ */
186
+ function expandTo(path) {
187
+ var $target = $(document.getElementById('object_' + path));
188
+ $target.addClass('clicked');
189
+ $target.removeClass('collapsed');
190
+ $target.parentsUntil('#full_list', 'li').removeClass('collapsed');
191
+ if($target[0]) {
192
+ window.scrollTo(window.scrollX, $target.offset().top - 250);
193
+ highlight();
194
+ }
195
+ }
196
+
197
+ function windowEvents(event) {
198
+ var msg = event.data;
199
+ if (msg.action === "expand") {
200
+ expandTo(msg.path);
201
+ }
202
+ return false;
203
+ }
204
+
205
+ window.addEventListener("message", windowEvents, false);
206
+
207
+ $(document).ready(function() {
208
+ escapeShortcut();
209
+ navResizer();
210
+ enableLinks();
211
+ enableToggles();
212
+ populateSearchCache();
213
+ enableSearch();
214
+ });
215
+
216
+ })();