flickr.rb 1.2.0 → 1.2.1

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 (73) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.txt +7 -4
  3. data/Gemfile.lock +3 -3
  4. data/README.md +5 -1
  5. data/Rakefile +6 -7
  6. data/doc/Flickr.html +1813 -0
  7. data/doc/Flickr/Config.html +468 -0
  8. data/doc/Flickr/Group.html +974 -0
  9. data/doc/Flickr/Photo.html +2467 -0
  10. data/doc/Flickr/PhotoCollection.html +529 -0
  11. data/doc/Flickr/Photoset.html +942 -0
  12. data/doc/Flickr/User.html +1672 -0
  13. data/doc/_index.html +190 -0
  14. data/doc/class_list.html +54 -0
  15. data/doc/css/common.css +1 -0
  16. data/doc/css/full_list.css +57 -0
  17. data/doc/css/style.css +339 -0
  18. data/doc/file.Changelog.html +73 -0
  19. data/doc/file.LICENSE.html +94 -0
  20. data/{rdoc/README_md.html → doc/file.README.html} +85 -121
  21. data/doc/file_list.html +62 -0
  22. data/doc/frames.html +26 -0
  23. data/doc/index.html +216 -0
  24. data/doc/js/app.js +219 -0
  25. data/doc/js/full_list.js +178 -0
  26. data/doc/js/jquery.js +4 -0
  27. data/doc/method_list.html +725 -0
  28. data/doc/top-level-namespace.html +112 -0
  29. data/flickr.gemspec +3 -3
  30. data/lib/flickr.rb +1 -1
  31. metadata +27 -46
  32. data/rdoc/Flickr.html +0 -1044
  33. data/rdoc/Flickr/Config.html +0 -300
  34. data/rdoc/Flickr/Group.html +0 -373
  35. data/rdoc/Flickr/Photo.html +0 -1427
  36. data/rdoc/Flickr/PhotoCollection.html +0 -261
  37. data/rdoc/Flickr/Photoset.html +0 -389
  38. data/rdoc/Flickr/User.html +0 -775
  39. data/rdoc/created.rid +0 -3
  40. data/rdoc/images/add.png +0 -0
  41. data/rdoc/images/arrow_up.png +0 -0
  42. data/rdoc/images/brick.png +0 -0
  43. data/rdoc/images/brick_link.png +0 -0
  44. data/rdoc/images/bug.png +0 -0
  45. data/rdoc/images/bullet_black.png +0 -0
  46. data/rdoc/images/bullet_toggle_minus.png +0 -0
  47. data/rdoc/images/bullet_toggle_plus.png +0 -0
  48. data/rdoc/images/date.png +0 -0
  49. data/rdoc/images/delete.png +0 -0
  50. data/rdoc/images/find.png +0 -0
  51. data/rdoc/images/loadingAnimation.gif +0 -0
  52. data/rdoc/images/macFFBgHack.png +0 -0
  53. data/rdoc/images/package.png +0 -0
  54. data/rdoc/images/page_green.png +0 -0
  55. data/rdoc/images/page_white_text.png +0 -0
  56. data/rdoc/images/page_white_width.png +0 -0
  57. data/rdoc/images/plugin.png +0 -0
  58. data/rdoc/images/ruby.png +0 -0
  59. data/rdoc/images/tag_blue.png +0 -0
  60. data/rdoc/images/tag_green.png +0 -0
  61. data/rdoc/images/transparent.png +0 -0
  62. data/rdoc/images/wrench.png +0 -0
  63. data/rdoc/images/wrench_orange.png +0 -0
  64. data/rdoc/images/zoom.png +0 -0
  65. data/rdoc/index.html +0 -92
  66. data/rdoc/js/darkfish.js +0 -155
  67. data/rdoc/js/jquery.js +0 -18
  68. data/rdoc/js/navigation.js +0 -142
  69. data/rdoc/js/search.js +0 -94
  70. data/rdoc/js/search_index.js +0 -1
  71. data/rdoc/js/searcher.js +0 -228
  72. data/rdoc/rdoc.css +0 -595
  73. data/rdoc/table_of_contents.html +0 -241
@@ -1,94 +0,0 @@
1
- Search = function(data, input, result) {
2
- this.data = data;
3
- this.$input = $(input);
4
- this.$result = $(result);
5
-
6
- this.$current = null;
7
- this.$view = this.$result.parent();
8
- this.searcher = new Searcher(data.index);
9
- this.init();
10
- }
11
-
12
- Search.prototype = $.extend({}, Navigation, new function() {
13
- var suid = 1;
14
-
15
- this.init = function() {
16
- var _this = this;
17
- var observer = function() {
18
- _this.search(_this.$input[0].value);
19
- };
20
- this.$input.keyup(observer);
21
- this.$input.click(observer); // mac's clear field
22
-
23
- this.searcher.ready(function(results, isLast) {
24
- _this.addResults(results, isLast);
25
- })
26
-
27
- this.initNavigation();
28
- this.setNavigationActive(false);
29
- }
30
-
31
- this.search = function(value, selectFirstMatch) {
32
- value = jQuery.trim(value).toLowerCase();
33
- if (value) {
34
- this.setNavigationActive(true);
35
- } else {
36
- this.setNavigationActive(false);
37
- }
38
-
39
- if (value == '') {
40
- this.lastQuery = value;
41
- this.$result.empty();
42
- this.setNavigationActive(false);
43
- } else if (value != this.lastQuery) {
44
- this.lastQuery = value;
45
- this.firstRun = true;
46
- this.searcher.find(value);
47
- }
48
- }
49
-
50
- this.addResults = function(results, isLast) {
51
- var target = this.$result.get(0);
52
- if (this.firstRun && (results.length > 0 || isLast)) {
53
- this.$current = null;
54
- this.$result.empty();
55
- }
56
-
57
- for (var i=0, l = results.length; i < l; i++) {
58
- target.appendChild(this.renderItem.call(this, results[i]));
59
- };
60
-
61
- if (this.firstRun && results.length > 0) {
62
- this.firstRun = false;
63
- this.$current = $(target.firstChild);
64
- this.$current.addClass('current');
65
- }
66
- if (jQuery.browser.msie) this.$element[0].className += '';
67
- }
68
-
69
- this.move = function(isDown) {
70
- if (!this.$current) return;
71
- var $next = this.$current[isDown ? 'next' : 'prev']();
72
- if ($next.length) {
73
- this.$current.removeClass('current');
74
- $next.addClass('current');
75
- this.scrollIntoView($next[0], this.$view[0]);
76
- this.$current = $next;
77
- }
78
- return true;
79
- }
80
-
81
- this.hlt = function(html) {
82
- return this.escapeHTML(html).
83
- replace(/\u0001/g, '<em>').
84
- replace(/\u0002/g, '</em>');
85
- }
86
-
87
- this.escapeHTML = function(html) {
88
- return html.replace(/[&<>]/g, function(c) {
89
- return '&#' + c.charCodeAt(0) + ';';
90
- });
91
- }
92
-
93
- });
94
-
@@ -1 +0,0 @@
1
- var search_data = {"index":{"searchIndex":["flickr","config","group","photo","photocollection","photoset","user","[]()","add_note()","add_tag()","contacts()","contactsphotos()","context()","dates=()","deletenote()","description()","description=()","editnote()","exif()","favorites()","file()","filename()","find_by_url()","get()","getinfo()","getinfo()","getphotos()","get_token_from()","groups()","groups()","http_get()","isfavorite()","license()","licenses()","load_from_file()","login_url()","method_missing()","new()","new()","new()","new()","new()","new()","normalize_size()","notes()","owner()","parse_in_rails_env!()","parsed?()","permissions()","perms=()","photos()","photos()","photos_request()","photos_search()","photoset()","photosets()","popular_tags()","posttoblog()","pretty_url()","pretty_url()","recent()","related_tags()","remove_tag()","request()","request_url()","rotate()","rotation()","search()","server()","set_up_configuration()","signature_from()","size_url()","sizes()","source()","tag()","tag()","tags()","tags()","tags=()","title=()","to_s()","to_s()","url()","username()","users()","readme"],"longSearchIndex":["flickr","flickr::config","flickr::group","flickr::photo","flickr::photocollection","flickr::photoset","flickr::user","flickr::photo#[]()","flickr::photo#add_note()","flickr::photo#add_tag()","flickr::user#contacts()","flickr::user#contactsphotos()","flickr::photo#context()","flickr::photo#dates=()","flickr::photo#deletenote()","flickr::photo#description()","flickr::photo#description=()","flickr::photo#editnote()","flickr::photo#exif()","flickr::user#favorites()","flickr::photo#file()","flickr::photo#filename()","flickr#find_by_url()","flickr::config::get()","flickr::group#getinfo()","flickr::photoset#getinfo()","flickr::photoset#getphotos()","flickr#get_token_from()","flickr#groups()","flickr::user#groups()","flickr#http_get()","flickr::photo#isfavorite()","flickr::photo#license()","flickr#licenses()","flickr::config::load_from_file()","flickr#login_url()","flickr#method_missing()","flickr::new()","flickr::group::new()","flickr::photo::new()","flickr::photocollection::new()","flickr::photoset::new()","flickr::user::new()","flickr::photo#normalize_size()","flickr::photo#notes()","flickr::photo#owner()","flickr::config::parse_in_rails_env!()","flickr::config::parsed?()","flickr::photo#permissions()","flickr::photo#perms=()","flickr#photos()","flickr::user#photos()","flickr#photos_request()","flickr#photos_search()","flickr#photoset()","flickr::user#photosets()","flickr::user#popular_tags()","flickr::photo#posttoblog()","flickr::photo#pretty_url()","flickr::user#pretty_url()","flickr#recent()","flickr#related_tags()","flickr::photo#remove_tag()","flickr#request()","flickr#request_url()","flickr::photo#rotate()","flickr::photo#rotation()","flickr#search()","flickr::photo#server()","flickr#set_up_configuration()","flickr#signature_from()","flickr::photo#size_url()","flickr::photo#sizes()","flickr::photo#source()","flickr#tag()","flickr::user#tag()","flickr::photo#tags()","flickr::user#tags()","flickr::photo#tags=()","flickr::photo#title=()","flickr::photo#to_s()","flickr::user#to_s()","flickr::photo#url()","flickr::user#username()","flickr#users()",""],"info":[["Flickr","","Flickr.html","","<p>Flickr client class. Requires an API key\n"],["Flickr::Config","","Flickr/Config.html","","<p>This class supports external configuration\n"],["Flickr::Group","","Flickr/Group.html","","<p>Todo: flickr.groups.pools.add flickr.groups.pools.getContext\nflickr.groups.pools.getGroups flickr.groups.pools.getPhotos …\n"],["Flickr::Photo","","Flickr/Photo.html","",""],["Flickr::PhotoCollection","","Flickr/PhotoCollection.html","","<p>A collection of photos is returned as a PhotoCollection, a subclass of\nArray. This allows us to retain …\n"],["Flickr::Photoset","","Flickr/Photoset.html","","<p>Todo: flickr.photosets.delete flickr.photosets.editMeta\nflickr.photosets.editPhotos flickr.photosets.getContext …\n"],["Flickr::User","","Flickr/User.html","","<p>Todo: logged_in? if logged in: flickr.blogs.getList flickr.favorites.add\nflickr.favorites.remove flickr.groups.browse …\n"],["[]","Flickr::Photo","Flickr/Photo.html#method-i-5B-5D","(param_name)","<p>Allows access to all photos instance variables through hash like interface,\ne.g. photo returns @datetaken …\n"],["add_note","Flickr::Photo","Flickr/Photo.html#method-i-add_note","(note)","<p>Implements flickr.photos.notes.add\n"],["add_tag","Flickr::Photo","Flickr/Photo.html#method-i-add_tag","(tag)","<p>Implements flickr.photos.addTags\n"],["contacts","Flickr::User","Flickr/User.html#method-i-contacts","()","<p>Implements flickr.contacts.getPublicList and flickr.contacts.getList\n"],["contactsPhotos","Flickr::User","Flickr/User.html#method-i-contactsPhotos","()","<p>Implements flickr.photos.getContactsPublicPhotos and\nflickr.photos.getContactsPhotos\n"],["context","Flickr::Photo","Flickr/Photo.html#method-i-context","()","<p>Implements flickr.photos.getContext\n"],["dates=","Flickr::Photo","Flickr/Photo.html#method-i-dates-3D","(dates)","<p>Implements flickr.photos.setDates\n"],["deleteNote","Flickr::Photo","Flickr/Photo.html#method-i-deleteNote","(note_id)","<p>Implements flickr.photos.notes.delete\n"],["description","Flickr::Photo","Flickr/Photo.html#method-i-description","()",""],["description=","Flickr::Photo","Flickr/Photo.html#method-i-description-3D","(title)",""],["editNote","Flickr::Photo","Flickr/Photo.html#method-i-editNote","(note_id)","<p>Implements flickr.photos.notes.edit\n"],["exif","Flickr::Photo","Flickr/Photo.html#method-i-exif","()","<p>Implements flickr.photos.getExif\n"],["favorites","Flickr::User","Flickr/User.html#method-i-favorites","()","<p>Implements flickr.favorites.getPublicList\n"],["file","Flickr::Photo","Flickr/Photo.html#method-i-file","(size='Medium')","<p>Returns the photo file data itself, in any specified size. Example:\nFile.open(photo.title, &#39;w&#39;) …\n"],["filename","Flickr::Photo","Flickr/Photo.html#method-i-filename","()","<p>Unique filename for the image, based on the Flickr NSID\n"],["find_by_url","Flickr","Flickr.html#method-i-find_by_url","(url)","<p>Implements flickr.urls.lookupGroup and flickr.urls.lookupUser\n"],["get","Flickr::Config","Flickr/Config.html#method-c-get","()","<p>Returns configuration Hash\n"],["getInfo","Flickr::Group","Flickr/Group.html#method-i-getInfo","()","<p>Implements flickr.groups.getInfo and flickr.urls.getGroup private, once we\ncan call it as needed\n"],["getInfo","Flickr::Photoset","Flickr/Photoset.html#method-i-getInfo","()","<p>Implements flickr.photosets.getInfo private, once we can call it as needed\n"],["getPhotos","Flickr::Photoset","Flickr/Photoset.html#method-i-getPhotos","()",""],["get_token_from","Flickr","Flickr.html#method-i-get_token_from","(frob)","<p>Gets authentication token given a Flickr frob, which is returned when user\nallows access to their account …\n"],["groups","Flickr","Flickr.html#method-i-groups","(group_name, options={})","<p>Implements flickr.groups.search\n"],["groups","Flickr::User","Flickr/User.html#method-i-groups","()","<p>Implements flickr.people.getPublicGroups\n"],["http_get","Flickr","Flickr.html#method-i-http_get","(url)","<p>Does an HTTP GET on a given URL and returns the response body\n"],["isfavorite","Flickr::Photo","Flickr/Photo.html#method-i-isfavorite","()",""],["license","Flickr::Photo","Flickr/Photo.html#method-i-license","()",""],["licenses","Flickr","Flickr.html#method-i-licenses","()","<p>Implements flickr.photos.licenses.getInfo\n"],["load_from_file","Flickr::Config","Flickr/Config.html#method-c-load_from_file","(file)","<p>parses file and prepare @@configuration for access from outside to fetch\nconfiguration hash\n"],["login_url","Flickr","Flickr.html#method-i-login_url","(perms)","<p>Returns url for user to login in to Flickr to authenticate app for a user\n"],["method_missing","Flickr","Flickr.html#method-i-method_missing","(method_id, params={})","<p>Implements everything else. Any method not defined explicitly will be\npassed on to the Flickr API, and …\n"],["new","Flickr","Flickr.html#method-c-new","(api_key_or_params={})","<p>To use the Flickr API you need an api key (see\nwww.flickr.com/services/api/misc.api_keys.html), and the …\n"],["new","Flickr::Group","Flickr/Group.html#method-c-new","(id_or_params_hash=nil, api_key={})",""],["new","Flickr::Photo","Flickr/Photo.html#method-c-new","(id=nil, api_key={}, extra_params={})",""],["new","Flickr::PhotoCollection","Flickr/PhotoCollection.html#method-c-new","(photos_api_response={}, api_key={}, list_node=\"photos\")","<p>builds a PhotoCollection from given params, such as those returned from\nphotos.search API call. Note …\n"],["new","Flickr::Photoset","Flickr/Photoset.html#method-c-new","(id=nil, api_key={})",""],["new","Flickr::User","Flickr/User.html#method-c-new","(id_or_params_hash=nil, username=nil, email=nil, password=nil, api_key={})","<p>A Flickr::User can be instantiated in two ways. The old (deprecated) method\nis with an ordered series …\n"],["normalize_size","Flickr::Photo","Flickr/Photo.html#method-i-normalize_size","(size)","<p>converts string or symbol size to a capitalized string\n"],["notes","Flickr::Photo","Flickr/Photo.html#method-i-notes","()",""],["owner","Flickr::Photo","Flickr/Photo.html#method-i-owner","()","<p>Returns the owner of the photo as a Flickr::User. If we have no info about\nthe owner, we make an API …\n"],["parse_in_rails_env!","Flickr::Config","Flickr/Config.html#method-c-parse_in_rails_env-21","()","<p>Excludes specific configuration for choosed environment in Rails\n"],["parsed?","Flickr::Config","Flickr/Config.html#method-c-parsed-3F","()","<p>Returns true if configuration has been parsed\n"],["permissions","Flickr::Photo","Flickr/Photo.html#method-i-permissions","()","<p>Implements flickr.photos.getPerms\n"],["perms=","Flickr::Photo","Flickr/Photo.html#method-i-perms-3D","(perms)","<p>Implements flickr.photos.setPerms\n"],["photos","Flickr","Flickr.html#method-i-photos","(*criteria)","<p>Implements flickr.photos.getRecent and flickr.photos.search\n"],["photos","Flickr::User","Flickr/User.html#method-i-photos","(options={})","<p>Implements flickr.people.getPublicPhotos. Options hash allows you to add\nextra restrictions as per flickr.people.getPublicPhotos …\n"],["photos_request","Flickr","Flickr.html#method-i-photos_request","(method, params={}, list_node=\"photos\")","<p>acts like request but returns a PhotoCollection (a list of Photo objects)\n"],["photos_search","Flickr","Flickr.html#method-i-photos_search","(params={})",""],["photoset","Flickr","Flickr.html#method-i-photoset","(photoset_id)",""],["photosets","Flickr::User","Flickr/User.html#method-i-photosets","()","<p>Implements flickr.photosets.getList\n"],["popular_tags","Flickr::User","Flickr/User.html#method-i-popular_tags","(count = 10)","<p>Implements flickr.tags.getListUserPopular\n"],["postToBlog","Flickr::Photo","Flickr/Photo.html#method-i-postToBlog","(blog_id, title='', description='')","<p>Implements flickr.blogs.postPhoto\n"],["pretty_url","Flickr::Photo","Flickr/Photo.html#method-i-pretty_url","()","<p>the &#39;pretty&#39; url for a photo (if the user has set up a custom name)\neg, flickr.com/photos/granth/2584402507 …\n"],["pretty_url","Flickr::User","Flickr/User.html#method-i-pretty_url","()",""],["recent","Flickr","Flickr.html#method-i-recent","()","<p>flickr.photos.getRecent 100 newest photos from everyone\n"],["related_tags","Flickr","Flickr.html#method-i-related_tags","(tag)","<p>Implements flickr.tags.getRelated\n"],["remove_tag","Flickr::Photo","Flickr/Photo.html#method-i-remove_tag","(tag)","<p>Implements flickr.photos.removeTag\n"],["request","Flickr","Flickr.html#method-i-request","(method, params={})","<p>Takes a Flickr API method name and set of parameters; returns an XmlSimple\nobject with the response\n"],["request_url","Flickr","Flickr.html#method-i-request_url","(method, params={})","<p>Builds url for Flickr API REST request from given the flickr method name\n(exclusing the &#39;flickr.&#39; …\n"],["rotate","Flickr::Photo","Flickr/Photo.html#method-i-rotate","()","<p>Implements flickr.photos.transform.rotate\n"],["rotation","Flickr::Photo","Flickr/Photo.html#method-i-rotation","()",""],["search","Flickr","Flickr.html#method-i-search","(params={})",""],["server","Flickr::Photo","Flickr/Photo.html#method-i-server","()",""],["set_up_configuration","Flickr","Flickr.html#method-i-set_up_configuration","(api_key_or_params = {})",""],["signature_from","Flickr","Flickr.html#method-i-signature_from","(params={})",""],["size_url","Flickr::Photo","Flickr/Photo.html#method-i-size_url","(size='Medium')","<p>Returns the URL for the photo size page defaults to &#39;Medium&#39; other\nvalid sizes are in the VALID_SIZES …\n"],["sizes","Flickr::Photo","Flickr/Photo.html#method-i-sizes","(size=nil)","<p>Implements flickr.photos.getSizes\n"],["source","Flickr::Photo","Flickr/Photo.html#method-i-source","(size='Medium')","<p>Returns the URL for the image (default or any specified size)\n"],["tag","Flickr","Flickr.html#method-i-tag","(tag)","<p>Gets public photos with a given tag\n"],["tag","Flickr::User","Flickr/User.html#method-i-tag","(tag)","<p>Gets photos with a given tag\n"],["tags","Flickr::Photo","Flickr/Photo.html#method-i-tags","()","<p>flickr.tags.getListPhoto\n"],["tags","Flickr::User","Flickr/User.html#method-i-tags","()","<p>Implements flickr.tags.getListUser\n"],["tags=","Flickr::Photo","Flickr/Photo.html#method-i-tags-3D","(tags)","<p>Implements flickr.photos.setTags\n"],["title=","Flickr::Photo","Flickr/Photo.html#method-i-title-3D","(title)","<p>Implements flickr.photos.setMeta\n"],["to_s","Flickr::Photo","Flickr/Photo.html#method-i-to_s","()","<p>Converts the Photo to a string by returning its title\n"],["to_s","Flickr::User","Flickr/User.html#method-i-to_s","()",""],["url","Flickr::Photo","Flickr/Photo.html#method-i-url","(size = nil)","<p>the URL for the main photo page if getInfo has already been called, this\nwill return the pretty url\n<p>for …\n"],["username","Flickr::User","Flickr/User.html#method-i-username","()",""],["users","Flickr","Flickr.html#method-i-users","(lookup=nil)","<p>Implements flickr.people.findByEmail and flickr.people.findByUsername.\n"],["README","","README_md.html","","<p>flickr.rb\n<p>github.com/RaVbaker/flickr\n<p>{Gem Version]\n"]]}}
@@ -1,228 +0,0 @@
1
- Searcher = function(data) {
2
- this.data = data;
3
- this.handlers = [];
4
- }
5
-
6
- Searcher.prototype = new function() {
7
- // search is performed in chunks of 1000 for non-blocking user input
8
- var CHUNK_SIZE = 1000;
9
- // do not try to find more than 100 results
10
- var MAX_RESULTS = 100;
11
- var huid = 1;
12
- var suid = 1;
13
- var runs = 0;
14
-
15
- this.find = function(query) {
16
- var queries = splitQuery(query);
17
- var regexps = buildRegexps(queries);
18
- var highlighters = buildHilighters(queries);
19
- var state = { from: 0, pass: 0, limit: MAX_RESULTS, n: suid++};
20
- var _this = this;
21
-
22
- this.currentSuid = state.n;
23
-
24
- if (!query) return;
25
-
26
- var run = function() {
27
- // stop current search thread if new search started
28
- if (state.n != _this.currentSuid) return;
29
-
30
- var results =
31
- performSearch(_this.data, regexps, queries, highlighters, state);
32
- var hasMore = (state.limit > 0 && state.pass < 4);
33
-
34
- triggerResults.call(_this, results, !hasMore);
35
- if (hasMore) {
36
- setTimeout(run, 2);
37
- }
38
- runs++;
39
- };
40
- runs = 0;
41
-
42
- // start search thread
43
- run();
44
- }
45
-
46
- /* ----- Events ------ */
47
- this.ready = function(fn) {
48
- fn.huid = huid;
49
- this.handlers.push(fn);
50
- }
51
-
52
- /* ----- Utilities ------ */
53
- function splitQuery(query) {
54
- return jQuery.grep(query.split(/(\s+|::?|\(\)?)/), function(string) {
55
- return string.match(/\S/)
56
- });
57
- }
58
-
59
- function buildRegexps(queries) {
60
- return jQuery.map(queries, function(query) {
61
- return new RegExp(query.replace(/(.)/g, '([$1])([^$1]*?)'), 'i')
62
- });
63
- }
64
-
65
- function buildHilighters(queries) {
66
- return jQuery.map(queries, function(query) {
67
- return jQuery.map(query.split(''), function(l, i) {
68
- return '\u0001$' + (i*2+1) + '\u0002$' + (i*2+2);
69
- }).join('');
70
- });
71
- }
72
-
73
- // function longMatchRegexp(index, longIndex, regexps) {
74
- // for (var i = regexps.length - 1; i >= 0; i--){
75
- // if (!index.match(regexps[i]) && !longIndex.match(regexps[i])) return false;
76
- // };
77
- // return true;
78
- // }
79
-
80
-
81
- /* ----- Mathchers ------ */
82
-
83
- /*
84
- * This record matches if the index starts with queries[0] and the record
85
- * matches all of the regexps
86
- */
87
- function matchPassBeginning(index, longIndex, queries, regexps) {
88
- if (index.indexOf(queries[0]) != 0) return false;
89
- for (var i=1, l = regexps.length; i < l; i++) {
90
- if (!index.match(regexps[i]) && !longIndex.match(regexps[i]))
91
- return false;
92
- };
93
- return true;
94
- }
95
-
96
- /*
97
- * This record matches if the longIndex starts with queries[0] and the
98
- * longIndex matches all of the regexps
99
- */
100
- function matchPassLongIndex(index, longIndex, queries, regexps) {
101
- if (longIndex.indexOf(queries[0]) != 0) return false;
102
- for (var i=1, l = regexps.length; i < l; i++) {
103
- if (!longIndex.match(regexps[i]))
104
- return false;
105
- };
106
- return true;
107
- }
108
-
109
- /*
110
- * This record matches if the index contains queries[0] and the record
111
- * matches all of the regexps
112
- */
113
- function matchPassContains(index, longIndex, queries, regexps) {
114
- if (index.indexOf(queries[0]) == -1) return false;
115
- for (var i=1, l = regexps.length; i < l; i++) {
116
- if (!index.match(regexps[i]) && !longIndex.match(regexps[i]))
117
- return false;
118
- };
119
- return true;
120
- }
121
-
122
- /*
123
- * This record matches if regexps[0] matches the index and the record
124
- * matches all of the regexps
125
- */
126
- function matchPassRegexp(index, longIndex, queries, regexps) {
127
- if (!index.match(regexps[0])) return false;
128
- for (var i=1, l = regexps.length; i < l; i++) {
129
- if (!index.match(regexps[i]) && !longIndex.match(regexps[i]))
130
- return false;
131
- };
132
- return true;
133
- }
134
-
135
-
136
- /* ----- Highlighters ------ */
137
- function highlightRegexp(info, queries, regexps, highlighters) {
138
- var result = createResult(info);
139
- for (var i=0, l = regexps.length; i < l; i++) {
140
- result.title = result.title.replace(regexps[i], highlighters[i]);
141
- result.namespace = result.namespace.replace(regexps[i], highlighters[i]);
142
- };
143
- return result;
144
- }
145
-
146
- function hltSubstring(string, pos, length) {
147
- return string.substring(0, pos) + '\u0001' + string.substring(pos, pos + length) + '\u0002' + string.substring(pos + length);
148
- }
149
-
150
- function highlightQuery(info, queries, regexps, highlighters) {
151
- var result = createResult(info);
152
- var pos = 0;
153
- var lcTitle = result.title.toLowerCase();
154
-
155
- pos = lcTitle.indexOf(queries[0]);
156
- if (pos != -1) {
157
- result.title = hltSubstring(result.title, pos, queries[0].length);
158
- }
159
-
160
- result.namespace = result.namespace.replace(regexps[0], highlighters[0]);
161
- for (var i=1, l = regexps.length; i < l; i++) {
162
- result.title = result.title.replace(regexps[i], highlighters[i]);
163
- result.namespace = result.namespace.replace(regexps[i], highlighters[i]);
164
- };
165
- return result;
166
- }
167
-
168
- function createResult(info) {
169
- var result = {};
170
- result.title = info[0];
171
- result.namespace = info[1];
172
- result.path = info[2];
173
- result.params = info[3];
174
- result.snippet = info[4];
175
- return result;
176
- }
177
-
178
- /* ----- Searching ------ */
179
- function performSearch(data, regexps, queries, highlighters, state) {
180
- var searchIndex = data.searchIndex;
181
- var longSearchIndex = data.longSearchIndex;
182
- var info = data.info;
183
- var result = [];
184
- var i = state.from;
185
- var l = searchIndex.length;
186
- var togo = CHUNK_SIZE;
187
- var matchFunc, hltFunc;
188
-
189
- while (state.pass < 4 && state.limit > 0 && togo > 0) {
190
- if (state.pass == 0) {
191
- matchFunc = matchPassBeginning;
192
- hltFunc = highlightQuery;
193
- } else if (state.pass == 1) {
194
- matchFunc = matchPassLongIndex;
195
- hltFunc = highlightQuery;
196
- } else if (state.pass == 2) {
197
- matchFunc = matchPassContains;
198
- hltFunc = highlightQuery;
199
- } else if (state.pass == 3) {
200
- matchFunc = matchPassRegexp;
201
- hltFunc = highlightRegexp;
202
- }
203
-
204
- for (; togo > 0 && i < l && state.limit > 0; i++, togo--) {
205
- if (info[i].n == state.n) continue;
206
- if (matchFunc(searchIndex[i], longSearchIndex[i], queries, regexps)) {
207
- info[i].n = state.n;
208
- result.push(hltFunc(info[i], queries, regexps, highlighters));
209
- state.limit--;
210
- }
211
- };
212
- if (searchIndex.length <= i) {
213
- state.pass++;
214
- i = state.from = 0;
215
- } else {
216
- state.from = i;
217
- }
218
- }
219
- return result;
220
- }
221
-
222
- function triggerResults(results, isLast) {
223
- jQuery.each(this.handlers, function(i, fn) {
224
- fn.call(this, results, isLast)
225
- })
226
- }
227
- }
228
-
@@ -1,595 +0,0 @@
1
- /*
2
- * "Darkfish" Rdoc CSS
3
- * $Id: rdoc.css 54 2009-01-27 01:09:48Z deveiant $
4
- *
5
- * Author: Michael Granger <ged@FaerieMUD.org>
6
- *
7
- */
8
-
9
- /* vim: ft=css et sw=2 ts=2 sts=2 */
10
- /* Base Green is: #6C8C22 */
11
-
12
- * { padding: 0; margin: 0; }
13
-
14
- body {
15
- background: #efefef;
16
- font: 14px "Helvetica Neue", Helvetica, Tahoma, sans-serif;
17
- margin-left: 40px;
18
- }
19
- body.file-popup {
20
- font-size: 90%;
21
- margin-left: 0;
22
- }
23
-
24
- h1 {
25
- font-size: 300%;
26
- text-shadow: rgba(135,145,135,0.65) 2px 2px 3px;
27
- color: #6C8C22;
28
- }
29
- h2,h3,h4 { margin-top: 1.5em; }
30
-
31
- h1 span,
32
- h2 span,
33
- h3 span,
34
- h4 span,
35
- h5 span,
36
- h6 span {
37
- display: none;
38
- padding-left: 1em;
39
- font-size: 50%;
40
- vertical-align: super;
41
- }
42
-
43
- h1:hover span,
44
- h2:hover span,
45
- h3:hover span,
46
- h4:hover span,
47
- h5:hover span,
48
- h6:hover span {
49
- display: inline;
50
- }
51
-
52
- :link,
53
- :visited {
54
- color: #6C8C22;
55
- text-decoration: none;
56
- }
57
- :link:hover,
58
- :visited:hover {
59
- border-bottom: 1px dotted #6C8C22;
60
- }
61
-
62
- pre {
63
- background: #ddd;
64
- padding: 0.5em 0;
65
- }
66
-
67
- blockquote {
68
- background: #ddd;
69
- margin: 1em;
70
- padding: 0.25em;
71
- }
72
-
73
- blockquote > :first-child {
74
- margin-top: 0 !important;
75
- }
76
-
77
- /* @group Generic Classes */
78
-
79
- .initially-hidden {
80
- display: none;
81
- }
82
-
83
- #search-field {
84
- width: 98%;
85
- background: #eee;
86
- border: none;
87
- height: 1.5em;
88
- -webkit-border-radius: 4px;
89
- }
90
- #search-field:focus {
91
- background: #f1edba;
92
- }
93
- #search-field:-moz-placeholder,
94
- #search-field::-webkit-input-placeholder {
95
- font-weight: bold;
96
- color: #666;
97
- }
98
-
99
- .missing-docs {
100
- font-size: 120%;
101
- background: white url(images/wrench_orange.png) no-repeat 4px center;
102
- color: #ccc;
103
- line-height: 2em;
104
- border: 1px solid #d00;
105
- opacity: 1;
106
- padding-left: 20px;
107
- text-indent: 24px;
108
- letter-spacing: 3px;
109
- font-weight: bold;
110
- -webkit-border-radius: 5px;
111
- -moz-border-radius: 5px;
112
- }
113
-
114
- .target-section {
115
- border: 2px solid #dcce90;
116
- border-left-width: 8px;
117
- padding: 0 1em;
118
- background: #fff3c2;
119
- }
120
-
121
- /* @end */
122
-
123
- /* @group Index Page, Standalone file pages */
124
- .indexpage ul {
125
- line-height: 160%;
126
- list-style: none;
127
- }
128
- .indexpage ul :link,
129
- .indexpage ul :visited {
130
- font-size: 16px;
131
- }
132
-
133
- .indexpage li {
134
- padding-left: 20px;
135
- }
136
-
137
- .indexpage ul > li {
138
- background: url(images/bullet_black.png) no-repeat left 4px;
139
- }
140
- .indexpage li.method {
141
- background: url(images/plugin.png) no-repeat left 4px;
142
- }
143
- .indexpage li.module {
144
- background: url(images/package.png) no-repeat left 4px;
145
- }
146
- .indexpage li.class {
147
- background: url(images/ruby.png) no-repeat left 4px;
148
- }
149
- .indexpage li.file {
150
- background: url(images/page_white_text.png) no-repeat left 4px;
151
- }
152
- .indexpage li li {
153
- background: url(images/tag_blue.png) no-repeat left 4px;
154
- }
155
- .indexpage li .toc-toggle {
156
- width: 16px;
157
- height: 16px;
158
- background: url(images/add.png) no-repeat;
159
- }
160
-
161
- .indexpage li .toc-toggle.open {
162
- background: url(images/delete.png) no-repeat;
163
- }
164
-
165
- /* @end */
166
-
167
- /* @group Top-Level Structure */
168
-
169
- #metadata {
170
- float: left;
171
- width: 260px;
172
- }
173
-
174
- #documentation {
175
- margin: 2em 1em 5em 300px;
176
- min-width: 340px;
177
- }
178
-
179
- #validator-badges {
180
- clear: both;
181
- margin: 1em 1em 2em;
182
- font-size: smaller;
183
- }
184
-
185
- /* @end */
186
-
187
- /* @group Metadata Section */
188
- #metadata .section {
189
- background-color: #dedede;
190
- -moz-border-radius: 5px;
191
- -webkit-border-radius: 5px;
192
- border: 1px solid #aaa;
193
- margin: 0 8px 8px;
194
- font-size: 90%;
195
- overflow: hidden;
196
- }
197
- #metadata h3.section-header {
198
- margin: 0;
199
- padding: 2px 8px;
200
- background: #ccc;
201
- color: #666;
202
- -moz-border-radius-topleft: 4px;
203
- -moz-border-radius-topright: 4px;
204
- -webkit-border-top-left-radius: 4px;
205
- -webkit-border-top-right-radius: 4px;
206
- border-bottom: 1px solid #aaa;
207
- }
208
- #metadata #home-section h3.section-header {
209
- border-bottom: 0;
210
- }
211
-
212
- #metadata ul,
213
- #metadata dl,
214
- #metadata p {
215
- padding: 8px;
216
- list-style: none;
217
- }
218
-
219
- #file-metadata {
220
- margin-top: 2em;
221
- }
222
-
223
- #file-metadata ul {
224
- padding-left: 28px;
225
- list-style-image: url(images/page_green.png);
226
- }
227
-
228
- #table-of-contents {
229
- margin-top: 2em;
230
- }
231
-
232
- #table-of-contents ul {
233
- padding-left: 28px;
234
- list-style-image: url(images/tag_blue.png);
235
- }
236
-
237
- dl.svninfo {
238
- color: #666;
239
- margin: 0;
240
- }
241
- dl.svninfo dt {
242
- font-weight: bold;
243
- }
244
-
245
- ul.link-list li {
246
- white-space: nowrap;
247
- line-height: 20px;
248
- }
249
-
250
- ul.link-list .type {
251
- font-size: 8px;
252
- text-transform: uppercase;
253
- color: white;
254
- background: #969696;
255
- padding: 2px 4px;
256
- -webkit-border-radius: 5px;
257
- }
258
-
259
- .calls-super {
260
- background: url(images/arrow_up.png) no-repeat right center;
261
- }
262
-
263
- /* @end */
264
-
265
- /* @group Class Metadata Section */
266
- #class-metadata {
267
- margin-top: 2em;
268
- }
269
- /* @end */
270
-
271
- /* @group Project Metadata Section */
272
- #project-metadata {
273
- margin-top: 2em;
274
- }
275
-
276
- #project-metadata .section {
277
- border: 1px solid #aaa;
278
- }
279
- #project-metadata h3.section-header {
280
- border-bottom: 1px solid #aaa;
281
- position: relative;
282
- }
283
-
284
- #project-metadata form {
285
- color: #777;
286
- background: #ccc;
287
- }
288
-
289
- /* @end */
290
-
291
- /* @group Documentation Section */
292
- .description {
293
- font-size: 100%;
294
- color: #333;
295
- }
296
-
297
- .description p {
298
- margin: 1em 0.4em;
299
- }
300
-
301
- .description li p {
302
- margin: 0;
303
- }
304
-
305
- .description ol,
306
- .description ul {
307
- margin-left: 1.5em;
308
- }
309
- .description ol li,
310
- .description ul li {
311
- line-height: 1.4em;
312
- }
313
-
314
- .note-list {
315
- margin: 8px 0;
316
- }
317
-
318
- .label-list {
319
- margin: 8px 1.5em;
320
- border: 1px solid #ccc;
321
- }
322
- .description .label-list {
323
- font-size: 14px;
324
- }
325
-
326
- .note-list dt {
327
- font-weight: bold;
328
- }
329
- .note-list dd {
330
- padding: 0 12px;
331
- }
332
-
333
- .label-list dt {
334
- padding: 2px 4px;
335
- font-weight: bold;
336
- background: #ddd;
337
- }
338
- .label-list dd {
339
- padding: 2px 12px;
340
- }
341
- .label-list dd + dt,
342
- .note-list dd + dt {
343
- margin-top: 0.7em;
344
- }
345
-
346
- #documentation .section {
347
- font-size: 90%;
348
- }
349
-
350
- #documentation h2.section-header {
351
- margin-top: 1em;
352
- padding: 0.25em 0.5em;
353
- background: #ccc;
354
- color: #333;
355
- font-size: 175%;
356
- border: 1px solid #bbb;
357
- -moz-border-radius: 3px;
358
- -webkit-border-radius: 3px;
359
- }
360
-
361
- .documentation-section-title {
362
- position: relative;
363
- }
364
- .documentation-section-title .section-click-top {
365
- position: absolute;
366
- top: 6px;
367
- right: 12px;
368
- font-size: 10px;
369
- color: #9b9877;
370
- visibility: hidden;
371
- padding-right: 0.5px;
372
- }
373
-
374
- .documentation-section-title:hover .section-click-top {
375
- visibility: visible;
376
- }
377
-
378
- #documentation h3.section-header {
379
- margin-top: 1em;
380
- padding: 0.25em 0.5em;
381
- background-color: #dedede;
382
- color: #333;
383
- font-size: 150%;
384
- border: 1px solid #bbb;
385
- -moz-border-radius: 3px;
386
- -webkit-border-radius: 3px;
387
- }
388
-
389
- #constants-list > dl,
390
- #attributes-list > dl {
391
- margin: 1em 0 2em;
392
- border: 0;
393
- }
394
- #constants-list > dl dt,
395
- #attributes-list > dl dt {
396
- padding-left: 0;
397
- font-weight: bold;
398
- font-family: Monaco, "Andale Mono";
399
- background: inherit;
400
- }
401
- #constants-list > dl dt a,
402
- #attributes-list > dl dt a {
403
- color: inherit;
404
- }
405
- #constants-list > dl dd,
406
- #attributes-list > dl dd {
407
- margin: 0 0 1em 0;
408
- padding: 0;
409
- color: #666;
410
- }
411
-
412
- .documentation-section h2 {
413
- position: relative;
414
- }
415
-
416
- .documentation-section h2 a {
417
- position: absolute;
418
- top: 8px;
419
- right: 10px;
420
- font-size: 12px;
421
- color: #9b9877;
422
- visibility: hidden;
423
- }
424
-
425
- .documentation-section h2:hover a {
426
- visibility: visible;
427
- }
428
-
429
- /* @group Method Details */
430
-
431
- #documentation .method-source-code {
432
- display: none;
433
- }
434
-
435
- #documentation .method-description .method-calls-super {
436
- color: #333;
437
- font-weight: bolder;
438
- }
439
-
440
- #documentation .method-detail {
441
- margin: 0.5em 0;
442
- padding: 0.5em 0;
443
- cursor: pointer;
444
- }
445
- #documentation .method-detail:hover {
446
- background-color: #f1edba;
447
- }
448
- #documentation .method-heading {
449
- position: relative;
450
- padding: 2px 4px 0 20px;
451
- font-size: 125%;
452
- font-weight: bold;
453
- color: #333;
454
- background: url(images/brick.png) no-repeat left bottom;
455
- }
456
- #documentation .method-heading :link,
457
- #documentation .method-heading :visited {
458
- color: inherit;
459
- }
460
- #documentation .method-click-advice {
461
- position: absolute;
462
- top: 2px;
463
- right: 5px;
464
- font-size: 10px;
465
- color: #9b9877;
466
- visibility: hidden;
467
- padding-right: 20px;
468
- line-height: 20px;
469
- background: url(images/zoom.png) no-repeat right top;
470
- }
471
- #documentation .method-heading:hover .method-click-advice {
472
- visibility: visible;
473
- }
474
-
475
- #documentation .method-alias .method-heading {
476
- color: #666;
477
- background: url(images/brick_link.png) no-repeat left bottom;
478
- }
479
-
480
- #documentation .method-description,
481
- #documentation .aliases {
482
- margin: 0 20px;
483
- color: #666;
484
- }
485
-
486
- #documentation .method-description p,
487
- #documentation .aliases p {
488
- line-height: 1.2em;
489
- }
490
-
491
- #documentation .aliases {
492
- padding-top: 4px;
493
- font-style: italic;
494
- cursor: default;
495
- }
496
- #documentation .method-description p {
497
- margin-bottom: 0.5em;
498
- }
499
- #documentation .method-description ul {
500
- margin-left: 1.5em;
501
- }
502
- pre {
503
- margin: 0.5em 0;
504
- }
505
-
506
- #documentation .attribute-method-heading {
507
- background: url(images/tag_green.png) no-repeat left bottom;
508
- }
509
- #documentation #attribute-method-details .method-detail:hover {
510
- background-color: transparent;
511
- cursor: default;
512
- }
513
- #documentation .attribute-access-type {
514
- font-size: 60%;
515
- text-transform: uppercase;
516
- vertical-align: super;
517
- padding: 0 2px;
518
- }
519
- /* @end */
520
-
521
- /* @end */
522
-
523
- /* @group Source Code */
524
-
525
- pre {
526
- overflow: auto;
527
- background: #262626;
528
- color: white;
529
- border: 1px dashed #999;
530
- padding: 0.5em;
531
- }
532
-
533
- .description pre {
534
- margin: 0 0.4em;
535
- }
536
-
537
- .ruby-constant { color: #7fffd4; background: transparent; }
538
- .ruby-keyword { color: #00ffff; background: transparent; }
539
- .ruby-ivar { color: #eedd82; background: transparent; }
540
- .ruby-operator { color: #00ffee; background: transparent; }
541
- .ruby-identifier { color: #ffdead; background: transparent; }
542
- .ruby-node { color: #ffa07a; background: transparent; }
543
- .ruby-comment { color: #dc0000; font-weight: bold; background: transparent; }
544
- .ruby-regexp { color: #ffa07a; background: transparent; }
545
- .ruby-value { color: #7fffd4; background: transparent; }
546
-
547
- /* @end */
548
-
549
-
550
- /* @group search results */
551
- #search-results h1 {
552
- font-size: 1em;
553
- font-weight: normal;
554
- text-shadow: none;
555
- }
556
-
557
- #search-results .current {
558
- background: #ccc;
559
- border-bottom: 1px solid transparent;
560
- }
561
-
562
- #search-results li {
563
- list-style: none;
564
- border-bottom: 1px solid #aaa;
565
- -moz-border-radius: 4px;
566
- -webkit-border-radius: 4px;
567
- border-radius: 4px;
568
- margin-bottom: 0.5em;
569
- }
570
-
571
- #search-results li:last-child {
572
- border-bottom: none;
573
- margin-bottom: 0;
574
- }
575
-
576
- #search-results li p {
577
- padding: 0;
578
- margin: 0.5em;
579
- }
580
-
581
- #search-results .search-namespace {
582
- font-weight: bold;
583
- }
584
-
585
- #search-results li em {
586
- background: yellow;
587
- font-style: normal;
588
- }
589
-
590
- #search-results pre {
591
- margin: 0.5em;
592
- }
593
-
594
- /* @end */
595
-