service_client 0.1.3 → 0.1.5
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/Gemfile.lock +1 -1
- data/doc/ServiceClient/Base.html +781 -0
- data/doc/ServiceClient/Errors/BadGatewayError.html +159 -0
- data/doc/ServiceClient/Errors/BadRequestError.html +159 -0
- data/doc/ServiceClient/Errors/BaseError.html +359 -0
- data/doc/ServiceClient/Errors/BlockedByWindowsParentalControlsError.html +159 -0
- data/doc/ServiceClient/Errors/ClientClosedRequestError.html +159 -0
- data/doc/ServiceClient/Errors/ConflictError.html +159 -0
- data/doc/ServiceClient/Errors/EnhanceYourCalmError.html +159 -0
- data/doc/ServiceClient/Errors/ExpectationFailedError.html +159 -0
- data/doc/ServiceClient/Errors/FailedDependencyError.html +159 -0
- data/doc/ServiceClient/Errors/ForbiddenError.html +159 -0
- data/doc/ServiceClient/Errors/GatewayTimeoutError.html +159 -0
- data/doc/ServiceClient/Errors/GoneError.html +159 -0
- data/doc/ServiceClient/Errors/HTTPVersionNotSupportedError.html +159 -0
- data/doc/ServiceClient/Errors/InsufficientStorageError.html +159 -0
- data/doc/ServiceClient/Errors/InternalServerError.html +159 -0
- data/doc/ServiceClient/Errors/LengthRequiredError.html +159 -0
- data/doc/ServiceClient/Errors/LockedError.html +159 -0
- data/doc/ServiceClient/Errors/LoopDetectedError.html +159 -0
- data/doc/ServiceClient/Errors/MethodNotAllowedError.html +159 -0
- data/doc/ServiceClient/Errors/NetworkAuthenticationRequiredError.html +159 -0
- data/doc/ServiceClient/Errors/NetworkConnectTimeoutError.html +159 -0
- data/doc/ServiceClient/Errors/NetworkReadTimeoutError.html +159 -0
- data/doc/ServiceClient/Errors/NoResponseError.html +159 -0
- data/doc/ServiceClient/Errors/NotAcceptableError.html +159 -0
- data/doc/ServiceClient/Errors/NotExtendedError.html +159 -0
- data/doc/ServiceClient/Errors/NotFoundError.html +159 -0
- data/doc/ServiceClient/Errors/NotImplementedError.html +159 -0
- data/doc/ServiceClient/Errors/PaymentRequiredError.html +159 -0
- data/doc/ServiceClient/Errors/PreconditionFailedError.html +159 -0
- data/doc/ServiceClient/Errors/PreconditionRequiredError.html +159 -0
- data/doc/ServiceClient/Errors/ProxyAuthenticationRequiredError.html +159 -0
- data/doc/ServiceClient/Errors/RequestEntityTooLargeError.html +159 -0
- data/doc/ServiceClient/Errors/RequestHeaderFieldsTooLargeError.html +159 -0
- data/doc/ServiceClient/Errors/RequestTimeoutError.html +159 -0
- data/doc/ServiceClient/Errors/RequestURITooLongError.html +159 -0
- data/doc/ServiceClient/Errors/RequestedRangeNotSatisfiableError.html +159 -0
- data/doc/ServiceClient/Errors/RetryWithError.html +159 -0
- data/doc/ServiceClient/Errors/ServiceUnavailableError.html +159 -0
- data/doc/ServiceClient/Errors/TooManyRequestsError.html +159 -0
- data/doc/ServiceClient/Errors/UnauthorizedError.html +159 -0
- data/doc/ServiceClient/Errors/UnavailableForLegalReasonsError.html +159 -0
- data/doc/ServiceClient/Errors/UnprocessableEntityError.html +159 -0
- data/doc/ServiceClient/Errors/UnsupportedMediaTypeError.html +159 -0
- data/doc/ServiceClient/Errors/UpgradeRequiredError.html +159 -0
- data/doc/ServiceClient/Errors/VariantAlsoNegotiatesError.html +159 -0
- data/doc/ServiceClient/Errors.html +325 -0
- data/doc/ServiceClient/ParamsRequired.html +135 -0
- data/doc/ServiceClient/Response.html +793 -0
- data/doc/ServiceClient.html +146 -0
- data/doc/_index.html +569 -0
- data/doc/class_list.html +51 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +58 -0
- data/doc/css/style.css +497 -0
- data/doc/file.README.html +243 -0
- data/doc/file_list.html +56 -0
- data/doc/frames.html +17 -0
- data/doc/index.html +249 -0
- data/doc/js/app.js +314 -0
- data/doc/js/full_list.js +216 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +171 -0
- data/doc/top-level-namespace.html +110 -0
- data/lib/service_client/base.rb +79 -24
- data/lib/service_client/errors.rb +18 -6
- data/lib/service_client/response.rb +24 -7
- data/lib/service_client/version.rb +1 -1
- metadata +69 -4
    
        data/doc/js/app.js
    ADDED
    
    | @@ -0,0 +1,314 @@ | |
| 1 | 
            +
            (function() {
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            var localStorage = {}, sessionStorage = {};
         | 
| 4 | 
            +
            try { localStorage = window.localStorage; } catch (e) { }
         | 
| 5 | 
            +
            try { sessionStorage = window.sessionStorage; } catch (e) { }
         | 
| 6 | 
            +
             | 
| 7 | 
            +
            function createSourceLinks() {
         | 
| 8 | 
            +
                $('.method_details_list .source_code').
         | 
| 9 | 
            +
                    before("<span class='showSource'>[<a href='#' class='toggleSource'>View source</a>]</span>");
         | 
| 10 | 
            +
                $('.toggleSource').toggle(function() {
         | 
| 11 | 
            +
                   $(this).parent().nextAll('.source_code').slideDown(100);
         | 
| 12 | 
            +
                   $(this).text("Hide source");
         | 
| 13 | 
            +
                },
         | 
| 14 | 
            +
                function() {
         | 
| 15 | 
            +
                    $(this).parent().nextAll('.source_code').slideUp(100);
         | 
| 16 | 
            +
                    $(this).text("View source");
         | 
| 17 | 
            +
                });
         | 
| 18 | 
            +
            }
         | 
| 19 | 
            +
             | 
| 20 | 
            +
            function createDefineLinks() {
         | 
| 21 | 
            +
                var tHeight = 0;
         | 
| 22 | 
            +
                $('.defines').after(" <a href='#' class='toggleDefines'>more...</a>");
         | 
| 23 | 
            +
                $('.toggleDefines').toggle(function() {
         | 
| 24 | 
            +
                    tHeight = $(this).parent().prev().height();
         | 
| 25 | 
            +
                    $(this).prev().css('display', 'inline');
         | 
| 26 | 
            +
                    $(this).parent().prev().height($(this).parent().height());
         | 
| 27 | 
            +
                    $(this).text("(less)");
         | 
| 28 | 
            +
                },
         | 
| 29 | 
            +
                function() {
         | 
| 30 | 
            +
                    $(this).prev().hide();
         | 
| 31 | 
            +
                    $(this).parent().prev().height(tHeight);
         | 
| 32 | 
            +
                    $(this).text("more...");
         | 
| 33 | 
            +
                });
         | 
| 34 | 
            +
            }
         | 
| 35 | 
            +
             | 
| 36 | 
            +
            function createFullTreeLinks() {
         | 
| 37 | 
            +
                var tHeight = 0;
         | 
| 38 | 
            +
                $('.inheritanceTree').toggle(function() {
         | 
| 39 | 
            +
                    tHeight = $(this).parent().prev().height();
         | 
| 40 | 
            +
                    $(this).parent().toggleClass('showAll');
         | 
| 41 | 
            +
                    $(this).text("(hide)");
         | 
| 42 | 
            +
                    $(this).parent().prev().height($(this).parent().height());
         | 
| 43 | 
            +
                },
         | 
| 44 | 
            +
                function() {
         | 
| 45 | 
            +
                    $(this).parent().toggleClass('showAll');
         | 
| 46 | 
            +
                    $(this).parent().prev().height(tHeight);
         | 
| 47 | 
            +
                    $(this).text("show all");
         | 
| 48 | 
            +
                });
         | 
| 49 | 
            +
            }
         | 
| 50 | 
            +
             | 
| 51 | 
            +
            function searchFrameButtons() {
         | 
| 52 | 
            +
              $('.full_list_link').click(function() {
         | 
| 53 | 
            +
                toggleSearchFrame(this, $(this).attr('href'));
         | 
| 54 | 
            +
                return false;
         | 
| 55 | 
            +
              });
         | 
| 56 | 
            +
              window.addEventListener('message', function(e) {
         | 
| 57 | 
            +
                if (e.data === 'navEscape') {
         | 
| 58 | 
            +
                  $('#nav').slideUp(100);
         | 
| 59 | 
            +
                  $('#search a').removeClass('active inactive');
         | 
| 60 | 
            +
                  $(window).focus();
         | 
| 61 | 
            +
                }
         | 
| 62 | 
            +
              });
         | 
| 63 | 
            +
             | 
| 64 | 
            +
              $(window).resize(function() {
         | 
| 65 | 
            +
                if ($('#search:visible').length === 0) {
         | 
| 66 | 
            +
                  $('#nav').removeAttr('style');
         | 
| 67 | 
            +
                  $('#search a').removeClass('active inactive');
         | 
| 68 | 
            +
                  $(window).focus();
         | 
| 69 | 
            +
                }
         | 
| 70 | 
            +
              });
         | 
| 71 | 
            +
            }
         | 
| 72 | 
            +
             | 
| 73 | 
            +
            function toggleSearchFrame(id, link) {
         | 
| 74 | 
            +
              var frame = $('#nav');
         | 
| 75 | 
            +
              $('#search a').removeClass('active').addClass('inactive');
         | 
| 76 | 
            +
              if (frame.attr('src') === link && frame.css('display') !== "none") {
         | 
| 77 | 
            +
                frame.slideUp(100);
         | 
| 78 | 
            +
                $('#search a').removeClass('active inactive');
         | 
| 79 | 
            +
              }
         | 
| 80 | 
            +
              else {
         | 
| 81 | 
            +
                $(id).addClass('active').removeClass('inactive');
         | 
| 82 | 
            +
                if (frame.attr('src') !== link) frame.attr('src', link);
         | 
| 83 | 
            +
                frame.slideDown(100);
         | 
| 84 | 
            +
              }
         | 
| 85 | 
            +
            }
         | 
| 86 | 
            +
             | 
| 87 | 
            +
            function linkSummaries() {
         | 
| 88 | 
            +
              $('.summary_signature').click(function() {
         | 
| 89 | 
            +
                document.location = $(this).find('a').attr('href');
         | 
| 90 | 
            +
              });
         | 
| 91 | 
            +
            }
         | 
| 92 | 
            +
             | 
| 93 | 
            +
            function summaryToggle() {
         | 
| 94 | 
            +
              $('.summary_toggle').click(function(e) {
         | 
| 95 | 
            +
                e.preventDefault();
         | 
| 96 | 
            +
                localStorage.summaryCollapsed = $(this).text();
         | 
| 97 | 
            +
                $('.summary_toggle').each(function() {
         | 
| 98 | 
            +
                  $(this).text($(this).text() == "collapse" ? "expand" : "collapse");
         | 
| 99 | 
            +
                  var next = $(this).parent().parent().nextAll('ul.summary').first();
         | 
| 100 | 
            +
                  if (next.hasClass('compact')) {
         | 
| 101 | 
            +
                    next.toggle();
         | 
| 102 | 
            +
                    next.nextAll('ul.summary').first().toggle();
         | 
| 103 | 
            +
                  }
         | 
| 104 | 
            +
                  else if (next.hasClass('summary')) {
         | 
| 105 | 
            +
                    var list = $('<ul class="summary compact" />');
         | 
| 106 | 
            +
                    list.html(next.html());
         | 
| 107 | 
            +
                    list.find('.summary_desc, .note').remove();
         | 
| 108 | 
            +
                    list.find('a').each(function() {
         | 
| 109 | 
            +
                      $(this).html($(this).find('strong').html());
         | 
| 110 | 
            +
                      $(this).parent().html($(this)[0].outerHTML);
         | 
| 111 | 
            +
                    });
         | 
| 112 | 
            +
                    next.before(list);
         | 
| 113 | 
            +
                    next.toggle();
         | 
| 114 | 
            +
                  }
         | 
| 115 | 
            +
                });
         | 
| 116 | 
            +
                return false;
         | 
| 117 | 
            +
              });
         | 
| 118 | 
            +
              if (localStorage.summaryCollapsed == "collapse") {
         | 
| 119 | 
            +
                $('.summary_toggle').first().click();
         | 
| 120 | 
            +
              } else { localStorage.summaryCollapsed = "expand"; }
         | 
| 121 | 
            +
            }
         | 
| 122 | 
            +
             | 
| 123 | 
            +
            function constantSummaryToggle() {
         | 
| 124 | 
            +
              $('.constants_summary_toggle').click(function(e) {
         | 
| 125 | 
            +
                e.preventDefault();
         | 
| 126 | 
            +
                localStorage.summaryCollapsed = $(this).text();
         | 
| 127 | 
            +
                $('.constants_summary_toggle').each(function() {
         | 
| 128 | 
            +
                  $(this).text($(this).text() == "collapse" ? "expand" : "collapse");
         | 
| 129 | 
            +
                  var next = $(this).parent().parent().nextAll('dl.constants').first();
         | 
| 130 | 
            +
                  if (next.hasClass('compact')) {
         | 
| 131 | 
            +
                    next.toggle();
         | 
| 132 | 
            +
                    next.nextAll('dl.constants').first().toggle();
         | 
| 133 | 
            +
                  }
         | 
| 134 | 
            +
                  else if (next.hasClass('constants')) {
         | 
| 135 | 
            +
                    var list = $('<dl class="constants compact" />');
         | 
| 136 | 
            +
                    list.html(next.html());
         | 
| 137 | 
            +
                    list.find('dt').each(function() {
         | 
| 138 | 
            +
                       $(this).addClass('summary_signature');
         | 
| 139 | 
            +
                       $(this).text( $(this).text().split('=')[0]);
         | 
| 140 | 
            +
                      if ($(this).has(".deprecated").length) {
         | 
| 141 | 
            +
                         $(this).addClass('deprecated');
         | 
| 142 | 
            +
                      };
         | 
| 143 | 
            +
                    });
         | 
| 144 | 
            +
                    // Add the value of the constant as "Tooltip" to the summary object
         | 
| 145 | 
            +
                    list.find('pre.code').each(function() {
         | 
| 146 | 
            +
                      console.log($(this).parent());
         | 
| 147 | 
            +
                      var dt_element = $(this).parent().prev();
         | 
| 148 | 
            +
                      var tooltip = $(this).text();
         | 
| 149 | 
            +
                      if (dt_element.hasClass("deprecated")) {
         | 
| 150 | 
            +
                         tooltip = 'Deprecated. ' + tooltip;
         | 
| 151 | 
            +
                      };
         | 
| 152 | 
            +
                      dt_element.attr('title', tooltip);
         | 
| 153 | 
            +
                    });
         | 
| 154 | 
            +
                    list.find('.docstring, .tags, dd').remove();
         | 
| 155 | 
            +
                    next.before(list);
         | 
| 156 | 
            +
                    next.toggle();
         | 
| 157 | 
            +
                  }
         | 
| 158 | 
            +
                });
         | 
| 159 | 
            +
                return false;
         | 
| 160 | 
            +
              });
         | 
| 161 | 
            +
              if (localStorage.summaryCollapsed == "collapse") {
         | 
| 162 | 
            +
                $('.constants_summary_toggle').first().click();
         | 
| 163 | 
            +
              } else { localStorage.summaryCollapsed = "expand"; }
         | 
| 164 | 
            +
            }
         | 
| 165 | 
            +
             | 
| 166 | 
            +
            function generateTOC() {
         | 
| 167 | 
            +
              if ($('#filecontents').length === 0) return;
         | 
| 168 | 
            +
              var _toc = $('<ol class="top"></ol>');
         | 
| 169 | 
            +
              var show = false;
         | 
| 170 | 
            +
              var toc = _toc;
         | 
| 171 | 
            +
              var counter = 0;
         | 
| 172 | 
            +
              var tags = ['h2', 'h3', 'h4', 'h5', 'h6'];
         | 
| 173 | 
            +
              var i;
         | 
| 174 | 
            +
              var curli;
         | 
| 175 | 
            +
              if ($('#filecontents h1').length > 1) tags.unshift('h1');
         | 
| 176 | 
            +
              for (i = 0; i < tags.length; i++) { tags[i] = '#filecontents ' + tags[i]; }
         | 
| 177 | 
            +
              var lastTag = parseInt(tags[0][1], 10);
         | 
| 178 | 
            +
              $(tags.join(', ')).each(function() {
         | 
| 179 | 
            +
                if ($(this).parents('.method_details .docstring').length != 0) return;
         | 
| 180 | 
            +
                if (this.id == "filecontents") return;
         | 
| 181 | 
            +
                show = true;
         | 
| 182 | 
            +
                var thisTag = parseInt(this.tagName[1], 10);
         | 
| 183 | 
            +
                if (this.id.length === 0) {
         | 
| 184 | 
            +
                  var proposedId = $(this).attr('toc-id');
         | 
| 185 | 
            +
                  if (typeof(proposedId) != "undefined") this.id = proposedId;
         | 
| 186 | 
            +
                  else {
         | 
| 187 | 
            +
                    var proposedId = $(this).text().replace(/[^a-z0-9-]/ig, '_');
         | 
| 188 | 
            +
                    if ($('#' + proposedId).length > 0) { proposedId += counter; counter++; }
         | 
| 189 | 
            +
                    this.id = proposedId;
         | 
| 190 | 
            +
                  }
         | 
| 191 | 
            +
                }
         | 
| 192 | 
            +
                if (thisTag > lastTag) {
         | 
| 193 | 
            +
                  for (i = 0; i < thisTag - lastTag; i++) {
         | 
| 194 | 
            +
                    if ( typeof(curli) == "undefined" ) {
         | 
| 195 | 
            +
                      curli = $('<li/>');
         | 
| 196 | 
            +
                      toc.append(curli);
         | 
| 197 | 
            +
                    }
         | 
| 198 | 
            +
                    toc = $('<ol/>');
         | 
| 199 | 
            +
                    curli.append(toc);
         | 
| 200 | 
            +
                    curli = undefined;
         | 
| 201 | 
            +
                  }
         | 
| 202 | 
            +
                }
         | 
| 203 | 
            +
                if (thisTag < lastTag) {
         | 
| 204 | 
            +
                  for (i = 0; i < lastTag - thisTag; i++) {
         | 
| 205 | 
            +
                    toc = toc.parent();
         | 
| 206 | 
            +
                    toc = toc.parent();
         | 
| 207 | 
            +
                  }
         | 
| 208 | 
            +
                }
         | 
| 209 | 
            +
                var title = $(this).attr('toc-title');
         | 
| 210 | 
            +
                if (typeof(title) == "undefined") title = $(this).text();
         | 
| 211 | 
            +
                curli =$('<li><a href="#' + this.id + '">' + title + '</a></li>'); 
         | 
| 212 | 
            +
                toc.append(curli);
         | 
| 213 | 
            +
                lastTag = thisTag;
         | 
| 214 | 
            +
              });
         | 
| 215 | 
            +
              if (!show) return;
         | 
| 216 | 
            +
              html = '<div id="toc"><p class="title hide_toc"><a href="#"><strong>Table of Contents</strong></a></p></div>';
         | 
| 217 | 
            +
              $('#content').prepend(html);
         | 
| 218 | 
            +
              $('#toc').append(_toc);
         | 
| 219 | 
            +
              $('#toc .hide_toc').toggle(function() {
         | 
| 220 | 
            +
                $('#toc .top').slideUp('fast');
         | 
| 221 | 
            +
                $('#toc').toggleClass('hidden');
         | 
| 222 | 
            +
                $('#toc .title small').toggle();
         | 
| 223 | 
            +
              }, function() {
         | 
| 224 | 
            +
                $('#toc .top').slideDown('fast');
         | 
| 225 | 
            +
                $('#toc').toggleClass('hidden');
         | 
| 226 | 
            +
                $('#toc .title small').toggle();
         | 
| 227 | 
            +
              });
         | 
| 228 | 
            +
            }
         | 
| 229 | 
            +
             | 
| 230 | 
            +
            function navResizeFn(e) {
         | 
| 231 | 
            +
              if (e.which !== 1) {
         | 
| 232 | 
            +
                navResizeFnStop();
         | 
| 233 | 
            +
                return;
         | 
| 234 | 
            +
              }
         | 
| 235 | 
            +
             | 
| 236 | 
            +
              sessionStorage.navWidth = e.pageX.toString();
         | 
| 237 | 
            +
              $('.nav_wrap').css('width', e.pageX);
         | 
| 238 | 
            +
              $('.nav_wrap').css('-ms-flex', 'inherit');
         | 
| 239 | 
            +
            }
         | 
| 240 | 
            +
             | 
| 241 | 
            +
            function navResizeFnStop() {
         | 
| 242 | 
            +
              $(window).unbind('mousemove', navResizeFn);
         | 
| 243 | 
            +
              window.removeEventListener('message', navMessageFn, false);
         | 
| 244 | 
            +
            }
         | 
| 245 | 
            +
             | 
| 246 | 
            +
            function navMessageFn(e) {
         | 
| 247 | 
            +
              if (e.data.action === 'mousemove') navResizeFn(e.data.event);
         | 
| 248 | 
            +
              if (e.data.action === 'mouseup') navResizeFnStop();
         | 
| 249 | 
            +
            }
         | 
| 250 | 
            +
             | 
| 251 | 
            +
            function navResizer() {
         | 
| 252 | 
            +
              $('#resizer').mousedown(function(e) {
         | 
| 253 | 
            +
                e.preventDefault();
         | 
| 254 | 
            +
                $(window).mousemove(navResizeFn);
         | 
| 255 | 
            +
                window.addEventListener('message', navMessageFn, false);
         | 
| 256 | 
            +
              });
         | 
| 257 | 
            +
              $(window).mouseup(navResizeFnStop);
         | 
| 258 | 
            +
             | 
| 259 | 
            +
              if (sessionStorage.navWidth) {
         | 
| 260 | 
            +
                navResizeFn({which: 1, pageX: parseInt(sessionStorage.navWidth, 10)});
         | 
| 261 | 
            +
              }
         | 
| 262 | 
            +
            }
         | 
| 263 | 
            +
             | 
| 264 | 
            +
            function navExpander() {
         | 
| 265 | 
            +
              var done = false, timer = setTimeout(postMessage, 500);
         | 
| 266 | 
            +
              function postMessage() {
         | 
| 267 | 
            +
                if (done) return;
         | 
| 268 | 
            +
                clearTimeout(timer);
         | 
| 269 | 
            +
                var opts = { action: 'expand', path: pathId };
         | 
| 270 | 
            +
                document.getElementById('nav').contentWindow.postMessage(opts, '*');
         | 
| 271 | 
            +
                done = true;
         | 
| 272 | 
            +
              }
         | 
| 273 | 
            +
             | 
| 274 | 
            +
              window.addEventListener('message', function(event) {
         | 
| 275 | 
            +
                if (event.data === 'navReady') postMessage();
         | 
| 276 | 
            +
                return false;
         | 
| 277 | 
            +
              }, false);
         | 
| 278 | 
            +
            }
         | 
| 279 | 
            +
             | 
| 280 | 
            +
            function mainFocus() {
         | 
| 281 | 
            +
              var hash = window.location.hash;
         | 
| 282 | 
            +
              if (hash !== '' && $(hash)[0]) {
         | 
| 283 | 
            +
                $(hash)[0].scrollIntoView();
         | 
| 284 | 
            +
              }
         | 
| 285 | 
            +
             | 
| 286 | 
            +
              setTimeout(function() { $('#main').focus(); }, 10);
         | 
| 287 | 
            +
            }
         | 
| 288 | 
            +
             | 
| 289 | 
            +
            function navigationChange() {
         | 
| 290 | 
            +
              // This works around the broken anchor navigation with the YARD template.
         | 
| 291 | 
            +
              window.onpopstate = function() {
         | 
| 292 | 
            +
                var hash = window.location.hash;
         | 
| 293 | 
            +
                if (hash !== '' && $(hash)[0]) {
         | 
| 294 | 
            +
                  $(hash)[0].scrollIntoView();
         | 
| 295 | 
            +
                }
         | 
| 296 | 
            +
              };
         | 
| 297 | 
            +
            }
         | 
| 298 | 
            +
             | 
| 299 | 
            +
            $(document).ready(function() {
         | 
| 300 | 
            +
              navResizer();
         | 
| 301 | 
            +
              navExpander();
         | 
| 302 | 
            +
              createSourceLinks();
         | 
| 303 | 
            +
              createDefineLinks();
         | 
| 304 | 
            +
              createFullTreeLinks();
         | 
| 305 | 
            +
              searchFrameButtons();
         | 
| 306 | 
            +
              linkSummaries();
         | 
| 307 | 
            +
              summaryToggle();
         | 
| 308 | 
            +
              constantSummaryToggle();
         | 
| 309 | 
            +
              generateTOC();
         | 
| 310 | 
            +
              mainFocus();
         | 
| 311 | 
            +
              navigationChange();
         | 
| 312 | 
            +
            });
         | 
| 313 | 
            +
             | 
| 314 | 
            +
            })();
         | 
    
        data/doc/js/full_list.js
    ADDED
    
    | @@ -0,0 +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 | 
            +
            })();
         |