auth0 3.6.1 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -0
  3. data/.rubocop.yml +7 -0
  4. data/.rubocop_todo.yml +7 -0
  5. data/.travis.yml +12 -7
  6. data/CHANGELOG.md +10 -0
  7. data/Gemfile +4 -2
  8. data/Guardfile +13 -10
  9. data/LICENSE +2 -2
  10. data/README.md +9 -11
  11. data/Rakefile +33 -7
  12. data/auth0.gemspec +12 -12
  13. data/deploy_documentation.sh +29 -0
  14. data/doc_config/templates/default/fulldoc/html/css/full_list.css +79 -0
  15. data/doc_config/templates/default/fulldoc/html/css/style.css +546 -0
  16. data/doc_config/templates/default/layout/html/breadcrumb.erb +11 -0
  17. data/doc_config/templates/default/layout/html/footer.erb +115 -0
  18. data/doc_config/templates/default/layout/html/headers.erb +17 -0
  19. data/doc_config/templates/default/layout/html/layout.erb +27 -0
  20. data/lib/auth0.rb +5 -5
  21. data/lib/auth0/api/authentication_endpoints.rb +264 -46
  22. data/lib/auth0/api/v1.rb +5 -5
  23. data/lib/auth0/api/v1/clients.rb +7 -7
  24. data/lib/auth0/api/v1/connections.rb +9 -10
  25. data/lib/auth0/api/v1/logs.rb +9 -16
  26. data/lib/auth0/api/v1/rules.rb +5 -5
  27. data/lib/auth0/api/v1/users.rb +28 -27
  28. data/lib/auth0/api/v2.rb +17 -9
  29. data/lib/auth0/api/v2/blacklists.rb +30 -9
  30. data/lib/auth0/api/v2/clients.rb +60 -19
  31. data/lib/auth0/api/v2/connections.rb +63 -10
  32. data/lib/auth0/api/v2/emails.rb +58 -0
  33. data/lib/auth0/api/v2/jobs.rb +44 -7
  34. data/lib/auth0/api/v2/rules.rb +104 -0
  35. data/lib/auth0/api/v2/stats.rb +22 -5
  36. data/lib/auth0/api/v2/tenants.rb +39 -0
  37. data/lib/auth0/api/v2/tickets.rb +58 -0
  38. data/lib/auth0/api/v2/users.rb +128 -39
  39. data/lib/auth0/client.rb +8 -6
  40. data/lib/auth0/exception.rb +29 -23
  41. data/lib/auth0/mixins.rb +12 -10
  42. data/lib/auth0/mixins/httparty_proxy.rb +13 -10
  43. data/lib/auth0/mixins/initializer.rb +25 -27
  44. data/lib/auth0/version.rb +2 -2
  45. data/spec/integration/lib/auth0/api/v1/api_clients_spec.rb +2 -4
  46. data/spec/integration/lib/auth0/api/v1/api_users_spec.rb +25 -32
  47. data/spec/integration/lib/auth0/api/v2/api_blacklist_spec.rb +14 -0
  48. data/spec/integration/lib/auth0/api/v2/api_clients_spec.rb +61 -6
  49. data/spec/integration/lib/auth0/api/v2/api_connections_spec.rb +68 -42
  50. data/spec/integration/lib/auth0/api/v2/api_email_spec.rb +71 -0
  51. data/spec/integration/lib/auth0/api/v2/api_jobs_spec.rb +69 -0
  52. data/spec/integration/lib/auth0/api/v2/api_rules_spec.rb +83 -0
  53. data/spec/integration/lib/auth0/api/v2/api_stats_spec.rb +16 -0
  54. data/spec/integration/lib/auth0/api/v2/api_tenants_spec.rb +37 -0
  55. data/spec/integration/lib/auth0/api/v2/api_tickets_spec.rb +33 -0
  56. data/spec/integration/lib/auth0/api/v2/api_users_spec.rb +88 -36
  57. data/spec/integration/lib/auth0/auth0_client_spec.rb +43 -35
  58. data/spec/lib/auth0/api/authentication_endpoints_spec.rb +253 -47
  59. data/spec/lib/auth0/api/v1/clients_spec.rb +37 -38
  60. data/spec/lib/auth0/api/v1/connections_spec.rb +44 -38
  61. data/spec/lib/auth0/api/v1/logs_spec.rb +24 -24
  62. data/spec/lib/auth0/api/v1/rules_spec.rb +23 -22
  63. data/spec/lib/auth0/api/v1/users_spec.rb +153 -130
  64. data/spec/lib/auth0/api/v2/blacklists_spec.rb +12 -11
  65. data/spec/lib/auth0/api/v2/clients_spec.rb +38 -33
  66. data/spec/lib/auth0/api/v2/connections_spec.rb +59 -34
  67. data/spec/lib/auth0/api/v2/emails_spec.rb +47 -0
  68. data/spec/lib/auth0/api/v2/jobs_spec.rb +24 -10
  69. data/spec/lib/auth0/api/v2/rules_spec.rb +69 -0
  70. data/spec/lib/auth0/api/v2/stats_spec.rb +11 -11
  71. data/spec/lib/auth0/api/v2/tenants_spec.rb +25 -0
  72. data/spec/lib/auth0/api/v2/tickets_spec.rb +31 -0
  73. data/spec/lib/auth0/api/v2/users_spec.rb +101 -39
  74. data/spec/lib/auth0/client_spec.rb +46 -58
  75. data/spec/lib/auth0/mixins/httparty_proxy_spec.rb +98 -69
  76. data/spec/lib/auth0/mixins/initializer_spec.rb +2 -2
  77. data/spec/spec_helper.rb +2 -2
  78. data/spec/spec_helper_full.rb +16 -15
  79. data/spec/spec_helper_unit.rb +5 -5
  80. data/spec/support/credentials.rb +9 -3
  81. data/spec/support/dummy_class.rb +7 -1
  82. data/spec/support/dummy_class_for_proxy.rb +2 -2
  83. data/spec/support/import_users.json +13 -0
  84. data/spec/support/stub_response.rb +1 -2
  85. metadata +78 -41
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6df06451c0b07b430049138413ca19281e34ee71
4
- data.tar.gz: 227076c4db9c5db278060bc3b03a122359c4bd56
3
+ metadata.gz: 0f3bb45bf30f872a1dd2eb91a1c61e6a035deb69
4
+ data.tar.gz: dd7232699e2ead49e80f1ed37024a1931df5aeb2
5
5
  SHA512:
6
- metadata.gz: 970f5d35df489357eab0382b97745c326b452ad97abcb8bbe2288d89710f04e9d0780bbc792eed7f153213eb07c487d5d1b4343792051f6ebe7e2a957f579d8e
7
- data.tar.gz: afe8dce3f635069f4316a50bcbcee5a82cc787e55c393c379899706db41e1e36e84e23538b5f77c0b0988a2628fefdaf758871a7ffd1d4b96494a4d31eb2497e
6
+ metadata.gz: e338485145e37a809f8a3742ef6dbee6e198ab0c0fe2f6569d8dac7406d89a3723854e25baa29456a1a44617efdf7b781f078ec0c673e47591fec2d5bee95ef9
7
+ data.tar.gz: 6a7b9ef6a8a52184a12c5926a1954ad568a82420ff9d3aa67a3ae7583cc8d6f47520c15fcded1ac10e80ca7fc0209532d54d7aff1dcfa2f219cc781604ceff4e
data/.gitignore CHANGED
@@ -1,3 +1,7 @@
1
+ bin/
2
+ vendor/
3
+ doc/
4
+ .DS_Store
1
5
  .ruby-version
2
6
  coverage
3
7
  *.gem
@@ -0,0 +1,7 @@
1
+ inherit_from: .rubocop_todo.yml
2
+ AllCops:
3
+ RunRailsCops: true
4
+ Exclude:
5
+ - bin/**/*
6
+ - vendor/**/*
7
+ - auth0.gemspec
@@ -0,0 +1,7 @@
1
+ # Configuration parameters: CountComments.
2
+ Metrics/MethodLength:
3
+ Max: 15
4
+
5
+ # Configuration parameters: AllowURI, URISchemes.
6
+ Metrics/LineLength:
7
+ Max: 121
@@ -1,11 +1,16 @@
1
1
  language: ruby
2
-
3
2
  sudo: false
4
-
5
3
  cache: bundler
6
-
7
4
  rvm:
8
- - 2.1.0
9
- - 2.2.1
10
-
11
- script: ./build_travis.sh
5
+ - 2.1.0
6
+ - 2.2.1
7
+ script: "./build_travis.sh"
8
+ after_success: "./deploy_documentation.sh"
9
+ deploy:
10
+ provider: rubygems
11
+ api_key: ${RUBYGEMS_API_KEY}
12
+ gemspec: auth0.gemspec
13
+ on:
14
+ tags: true
15
+ repo: auth0/ruby-auth0
16
+ branch: master
@@ -1,5 +1,15 @@
1
1
  # Change Log
2
2
 
3
+ ## [v3.6.1](https://github.com/auth0/ruby-auth0/tree/v3.6.1) (2015-07-09)
4
+
5
+ [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v3.6.0...v3.6.1)
6
+
7
+ **Merged pull requests:**
8
+
9
+ - set the search engine if a query is set [\#36](https://github.com/auth0/ruby-auth0/pull/36) ([taylorfinnell](https://github.com/taylorfinnell))
10
+
11
+ - email validation is broken by \_, which breaks the tests [\#35](https://github.com/auth0/ruby-auth0/pull/35) ([taylorfinnell](https://github.com/taylorfinnell))
12
+
3
13
  ## [v3.6.0](https://github.com/auth0/ruby-auth0/tree/v3.6.0) (2015-06-01)
4
14
 
5
15
  [Full Changelog](https://github.com/auth0/ruby-auth0/compare/v3.5.0...v3.6.0)
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source "http://rubygems.org"
1
+ source 'http://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in auth0.gemspec
4
4
  gemspec
@@ -6,4 +6,6 @@ gemspec
6
6
  group :development do
7
7
  gem 'terminal-notifier-guard', require: false
8
8
  gem 'coveralls', require: false
9
- end
9
+ gem 'rubocop', require: false
10
+ gem 'yard', require: false
11
+ end
data/Guardfile CHANGED
@@ -1,34 +1,37 @@
1
1
  scope group: :unit_test
2
2
 
3
3
  group :unit_test do
4
- guard 'rspec', cmd: "bundle exec rspec -P \"spec/lib/auth0/**/*#{ENV['PATTERN']}*_spec.rb\" --drb --format Fuubar --color" do
4
+ guard 'rspec', cmd:
5
+ "bundle exec rspec -P \"spec/lib/auth0/**/*#{ENV['PATTERN']}*_spec.rb\"--drb --format Fuubar --color" do
5
6
  # run every updated spec file
6
7
  watch(%r{^spec/.+_spec\.rb$})
7
8
  # run the lib specs when a file in lib/ changes
8
- watch(%r{^lib/(.+)\.rb$}) { "spec" }
9
+ watch(%r{^lib/(.+)\.rb$}) { 'spec' }
9
10
  # run all test for helper changes
10
- watch('spec/spec_helper.rb') { "spec" }
11
+ watch('spec/spec_helper.rb') { 'spec' }
11
12
  end
12
13
  end
13
14
 
14
15
  group :integration do
15
- guard 'rspec', cmd: "MODE=full bundle exec rspec -P \"spec/integration/**/*#{ENV['PATTERN']}*_spec.rb\" --drb --format Fuubar --color" do
16
+ guard 'rspec', cmd:
17
+ "MODE=full bundle exec rspec -P \"spec/integration/**/*#{ENV['PATTERN']}*_spec.rb\" --drb --format Fuubar --color" do
16
18
  # run every updated spec file
17
19
  watch(%r{^spec/.+_spec\.rb$})
18
20
  # run the lib specs when a file in lib/ changes
19
- watch(%r{^lib/(.+)\.rb$}) { "spec" }
21
+ watch(%r{^lib/(.+)\.rb$}) { 'spec' }
20
22
  # run all test for helper changes
21
- watch('spec/spec_helper.rb') { "spec" }
23
+ watch('spec/spec_helper.rb') { 'spec' }
22
24
  end
23
25
  end
24
26
 
25
27
  group :full do
26
- guard 'rspec', cmd: "MODE=full bundle exec rspec --drb --format Fuubar --color" do
28
+ guard 'rspec', cmd:
29
+ 'MODE=full bundle exec rspec --drb --format Fuubar --color' do
27
30
  # run every updated spec file
28
31
  watch(%r{^spec/.+_spec\.rb$})
29
32
  # run the lib specs when a file in lib/ changes
30
- watch(%r{^lib/(.+)\.rb$}) { "spec" }
33
+ watch(%r{^lib/(.+)\.rb$}) { 'spec' }
31
34
  # run all test for helper changes
32
- watch('spec/spec_helper.rb') { "spec" }
35
+ watch('spec/spec_helper.rb') { 'spec' }
33
36
  end
34
- end
37
+ end
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2014 Auth0 Inc.
3
+ Copyright (c) 2015 Auth0, Inc. <support@auth0.com> (http://auth0.com)
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
21
+ SOFTWARE.
data/README.md CHANGED
@@ -19,35 +19,33 @@ gem 'auth0'
19
19
 
20
20
  ## Basic usage
21
21
 
22
- Using [APIv1](https://auth0.com/docs/api)
22
+ Using [APIv2](https://auth0.com/docs/api/v2)
23
23
 
24
24
  ```ruby
25
25
  require "auth0"
26
26
 
27
27
  auth0 = Auth0Client.new(
28
- :client_id => "YOUR CLIENT ID",
29
- :client_secret => "YOUR CLIENT SECRET",
28
+ :token => "YOUR JWT HERE",
30
29
  :domain => "<YOUR ACCOUNT>.auth0.com"
31
- );
30
+ )
32
31
 
33
- puts auth0.get_users;
32
+ puts auth0.get_users
34
33
  ```
35
34
 
36
- Using [APIv2](https://auth0.com/docs/apiv2)
35
+ Using [APIv1](https://auth0.com/docs/api/v1)
37
36
 
38
37
  ```ruby
39
38
  require "auth0"
40
39
 
41
40
  auth0 = Auth0Client.new(
42
- :api_version => 2,
43
- :token => "YOUR JWT HERE",
41
+ :client_id => "YOUR CLIENT ID",
42
+ :client_secret => "YOUR CLIENT SECRET",
44
43
  :domain => "<YOUR ACCOUNT>.auth0.com"
45
- );
44
+ )
46
45
 
47
- puts auth0.get_users;
46
+ puts auth0.get_users
48
47
  ```
49
48
 
50
-
51
49
  ## What is Auth0?
52
50
 
53
51
  Auth0 helps you to:
data/Rakefile CHANGED
@@ -1,24 +1,50 @@
1
1
  #!/usr/bin/env rake
2
- require "bundler/gem_tasks"
2
+ require 'bundler/gem_tasks'
3
3
 
4
4
  begin
5
+ require 'rubocop/rake_task'
6
+
5
7
  require 'rspec/core/rake_task'
6
8
 
7
- desc "Run Integration Tests"
9
+ desc 'Run Rubocop'
10
+ RuboCop::RakeTask.new(:rubocop)
11
+
12
+ require 'yard'
13
+ DOC_FILES = ['lib/auth0/api/v2/*.rb', 'lib/auth0/api/authentication_endpoints.rb']
14
+
15
+ desc 'Build Documentation'
16
+ YARD::Rake::YardocTask.new(:documentation) do |t|
17
+ t.files = DOC_FILES
18
+ t.options = ['-p', 'doc_config/templates']
19
+ end
20
+
21
+ desc 'Publish SDK documentation'
22
+ task :publish do
23
+ sh 'rake documentation'
24
+ sh 'cp -R doc /tmp/ruby-auth0-doc'
25
+ sh 'git checkout gh-pages'
26
+ sh 'cp -R /tmp/ruby-auth0-doc/* .'
27
+ sh 'rm -rf /tmp/ruby-auth0-doc'
28
+ sh 'git add .'
29
+ sh 'git commit -am "Rebuild documentation"'
30
+ sh 'git push origin gh-pages'
31
+ sh 'git checkout master'
32
+ end
33
+
34
+ desc 'Run Integration Tests'
8
35
  RSpec::Core::RakeTask.new(:integration) do |t|
9
36
  t.pattern = FileList["spec/integration/**/*#{ENV['PATTERN']}*_spec.rb"]
10
37
  end
11
38
 
12
-
13
- desc "Run Unit Tests"
39
+ desc 'Run Unit Tests'
14
40
  RSpec::Core::RakeTask.new(:spec) do |t|
15
41
  t.pattern = FileList["spec/lib/auth0/**/*#{ENV['PATTERN']}*_spec.rb"]
16
42
  end
17
43
 
18
- desc "Run All Suites"
44
+ desc 'Run All Suites'
19
45
  RSpec::Core::RakeTask.new(:all)
20
46
 
21
- task :default => :spec
47
+ task default: [:rubocop, :spec]
22
48
  rescue LoadError
23
- #No RSpec
49
+ puts 'Load Error - No RSpec'
24
50
  end
@@ -1,24 +1,24 @@
1
1
  # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
- require "auth0/version"
2
+ $LOAD_PATH.push File.expand_path('../lib', __FILE__)
3
+ require 'auth0/version'
4
4
 
5
5
  Gem::Specification.new do |s|
6
- s.name = "auth0"
6
+ s.name = 'auth0'
7
7
  s.version = Auth0::VERSION
8
- s.authors = ["Auth0", "Jose Romaniello", "Ivan Petroe", "Patrik Ragnarsson"]
9
- s.email = ["support@auth0.com"]
10
- s.homepage = "https://github.com/auth0/ruby-auth0"
11
- s.summary = %q{Auth0 API Client}
12
- s.description = %q{Ruby client library for the Auth0 API.}
8
+ s.authors = ['Auth0', 'Jose Romaniello', 'Ivan Petroe', 'Patrik Ragnarsson']
9
+ s.email = ['support@auth0.com']
10
+ s.homepage = 'https://github.com/auth0/ruby-auth0'
11
+ s.summary = 'Auth0 API Client'
12
+ s.description = 'Ruby client library for the Auth0 API.'
13
13
 
14
- s.rubyforge_project = "auth0"
14
+ s.rubyforge_project = 'auth0'
15
15
 
16
16
  s.files = `git ls-files`.split("\n")
17
17
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
- s.require_paths = ["lib"]
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
19
+ s.require_paths = ['lib']
20
20
 
21
- s.add_runtime_dependency 'httparty', '~> 0.13'
21
+ s.add_runtime_dependency 'httmultiparty', '~> 0.3.16'
22
22
 
23
23
  s.add_development_dependency 'rake', '~> 10.4'
24
24
  s.add_development_dependency 'fuubar', '~> 2.0'
@@ -0,0 +1,29 @@
1
+ #!/bin/bash
2
+ # exit with nonzero exit code if anything fails
3
+ set -e
4
+
5
+ # clear and re-create the out directory
6
+ rm -rf doc || exit 0;
7
+ mkdir doc;
8
+
9
+ # build documentation
10
+ bundle exec rake documentation
11
+
12
+ # go to the out directory and create a *new* Git repo
13
+ cd doc
14
+ git init
15
+
16
+ # inside this git repo we'll pretend to be a new user
17
+ git config user.name "Travis CI"
18
+ git config user.email "build-documentation@auth0.com"
19
+
20
+ # The first and only commit to this new Git repo contains all the
21
+ # files present with the commit message "Deploy to GitHub Pages".
22
+ git add .
23
+ git commit -m "Deploy to GitHub Pages"
24
+
25
+ # Force push from the current repo's master branch to the remote
26
+ # repo's gh-pages branch. (All previous history on the gh-pages branch
27
+ # will be lost, since we are overwriting it.) We redirect any output to
28
+ # /dev/null to hide any sensitive credential data that might otherwise be exposed.
29
+ git push --force --quiet "https://${GH_TOKEN}@${GH_REF}" master:gh-pages > /dev/null 2>&1
@@ -0,0 +1,79 @@
1
+ body {
2
+ padding: 0 20px;
3
+ font-size: 14px;
4
+ -webkit-font-smoothing: antialiased;
5
+ -moz-font-smoothing: antialiased;
6
+ font-family: "avenir-next-web", Avenir, "Helvetica Neue", Hevetica, sans-serif;
7
+ color: #4d4d4d;
8
+ }
9
+
10
+ h1, h2, h3, h4, h5 {
11
+ line-height: 1.5;
12
+ font-family: "avenir-next-web", Avenir, "Helvetica Neue", Hevetica, sans-serif;
13
+ color: #000;
14
+ font-weight: 400;
15
+ }
16
+ h1 {
17
+ font-size: 3rem;
18
+ }
19
+ h2 {
20
+ font-size: 2rem;
21
+ }
22
+ h3 {
23
+ font-size: 1.5rem;
24
+ }
25
+ h4 {
26
+ font-size: 1.3rem;
27
+ }
28
+ h5 {
29
+ font-size: 16px;
30
+ }
31
+
32
+ .clear { clear: both; }
33
+ #search { position: absolute; right: 5px; top: 9px; padding-left: 24px; }
34
+ #content.insearch #search, #content.insearch #noresults { background: url(data:image/gif;base64,R0lGODlhEAAQAPYAAP///wAAAPr6+pKSkoiIiO7u7sjIyNjY2J6engAAAI6OjsbGxjIyMlJSUuzs7KamppSUlPLy8oKCghwcHLKysqSkpJqamvT09Pj4+KioqM7OzkRERAwMDGBgYN7e3ujo6Ly8vCoqKjY2NkZGRtTU1MTExDw8PE5OTj4+PkhISNDQ0MrKylpaWrS0tOrq6nBwcKysrLi4uLq6ul5eXlxcXGJiYoaGhuDg4H5+fvz8/KKiohgYGCwsLFZWVgQEBFBQUMzMzDg4OFhYWBoaGvDw8NbW1pycnOLi4ubm5kBAQKqqqiQkJCAgIK6urnJyckpKSjQ0NGpqatLS0sDAwCYmJnx8fEJCQlRUVAoKCggICLCwsOTk5ExMTPb29ra2tmZmZmhoaNzc3KCgoBISEiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCAAAACwAAAAAEAAQAAAHaIAAgoMgIiYlg4kACxIaACEJCSiKggYMCRselwkpghGJBJEcFgsjJyoAGBmfggcNEx0flBiKDhQFlIoCCA+5lAORFb4AJIihCRbDxQAFChAXw9HSqb60iREZ1omqrIPdJCTe0SWI09GBACH5BAkIAAAALAAAAAAQABAAAAdrgACCgwc0NTeDiYozCQkvOTo9GTmDKy8aFy+NOBA7CTswgywJDTIuEjYFIY0JNYMtKTEFiRU8Pjwygy4ws4owPyCKwsMAJSTEgiQlgsbIAMrO0dKDGMTViREZ14kYGRGK38nHguHEJcvTyIEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDAggPg4iJAAMJCRUAJRIqiRGCBI0WQEEJJkWDERkYAAUKEBc4Po1GiKKJHkJDNEeKig4URLS0ICImJZAkuQAhjSi/wQyNKcGDCyMnk8u5rYrTgqDVghgZlYjcACTA1sslvtHRgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCQARAtOUoQRGRiFD0kJUYWZhUhKT1OLhR8wBaaFBzQ1NwAlkIszCQkvsbOHL7Y4q4IuEjaqq0ZQD5+GEEsJTDCMmIUhtgk1lo6QFUwJVDKLiYJNUd6/hoEAIfkECQgAAAAsAAAAABAAEAAAB2iAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4uen4ICCA+IkIsDCQkVACWmhwSpFqAABQoQF6ALTkWFnYMrVlhWvIKTlSAiJiVVPqlGhJkhqShHV1lCW4cMqSkAR1ofiwsjJyqGgQAh+QQJCAAAACwAAAAAEAAQAAAHZ4AAgoOEhYaCJSWHgxGDJCSMhREZGIYYGY2ElYebi56fhyWQniSKAKKfpaCLFlAPhl0gXYNGEwkhGYREUywag1wJwSkHNDU3D0kJYIMZQwk8MjPBLx9eXwuETVEyAC/BOKsuEjYFhoEAIfkECQgAAAAsAAAAABAAEAAAB2eAAIKDhIWGgiUlh4MRgyQkjIURGRiGGBmNhJWHm4ueICImip6CIQkJKJ4kigynKaqKCyMnKqSEK05StgAGQRxPYZaENqccFgIID4KXmQBhXFkzDgOnFYLNgltaSAAEpxa7BQoQF4aBACH5BAkIAAAALAAAAAAQABAAAAdogACCg4SFggJiPUqCJSWGgkZjCUwZACQkgxGEXAmdT4UYGZqCGWQ+IjKGGIUwPzGPhAc0NTewhDOdL7Ykji+dOLuOLhI2BbaFETICx4MlQitdqoUsCQ2vhKGjglNfU0SWmILaj43M5oEAOwAAAAAAAAAAAA==) no-repeat center left; }
35
+ #full_list { padding: 0; list-style: none; margin-left: 0; }
36
+ #full_list ul { padding: 0; }
37
+ #full_list li { padding: 5px; padding-left: 12px; margin: 0; font-size: 1.1em; list-style: none; }
38
+ #noresults { padding: 7px 12px; }
39
+ #content.insearch #noresults { margin-left: 7px; }
40
+ ul.collapsed ul, ul.collapsed li { display: none; }
41
+ ul.collapsed.search_uncollapsed { display: block; }
42
+ ul.collapsed.search_uncollapsed li { display: list-item; }
43
+ li a.toggle { cursor: default; position: relative; left: -5px; top: 4px; text-indent: -999px; width: 10px; height: 9px; margin-left: -10px; display: block; float: left; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTM5jWRgMAAAAVdEVYdENyZWF0aW9uIFRpbWUAMy8xNC8wOeNZPpQAAAE2SURBVDiNrZTBccIwEEXfelIAHUA6CZ24BGaWO+FuzZAK4k6gg5QAdGAq+Bxs2Yqx7BzyL7Llp/VfzZeQhCTc/ezuGzKKnKSzpCxXJM8fwNXda3df5RZETlIt6YUzSQDs93sl8w3wBZxCCE10GM1OcWbWjB2mWgEH4Mfdyxm3PSepBHibgQE2wLe7r4HjEidpnXMYdQPKEMJcsZ4zs2POYQOcaPfwMVOo58zsAdMt18BuoVDPxUJRacELbXv3hUIX2vYmOUvi8C8ydz/ThjXrqKqqLbDIAdsCKBd+Wo7GWa7o9qzOQHVVVXeAbs+yHHCH4aTsaCOQqunmUy1yBUAXkdMIfMlgF5EXLo2OpV/c/Up7jG4hhHcYLgWzAZXUc2b2ixsfvc/RmNNfOXD3Q/oeL9axJE1yT9IOoUu6MGUkAAAAAElFTkSuQmCC) no-repeat bottom left; }
44
+ li.collapsed a.toggle { opacity: 0.5; cursor: default; background-position: top left; }
45
+ li { color: #888; cursor: pointer; }
46
+ li.deprecated { text-decoration: line-through; font-style: italic; }
47
+ /*li.r1 { background: #f0f0f0; }
48
+ li.r2 { background: #fafafa; }*/
49
+ li:hover { background: #ddd; }
50
+ li small:before { content: "("; }
51
+ li small:after { content: ")"; }
52
+ li small.search_info { display: none; }
53
+ a:link, a:visited { text-decoration: none; color: #777; }
54
+ li.clicked { background: #777; color: #ccc; }
55
+ li.clicked a:link, li.clicked a:visited { color: #eee; }
56
+ li.clicked a.toggle { opacity: 0.5; background-position: bottom right; }
57
+ li.collapsed.clicked a.toggle { background-position: top right; }
58
+ #search input { border: 1px solid #bbb; -moz-border-radius: 3px; -webkit-border-radius: 3px; }
59
+ #nav { margin-left: 10px; font-size: 0.9em; display: none; color: #aaa; }
60
+ #nav a:link, #nav a:visited { color: #358; }
61
+ #nav a:hover { background: transparent; color: #5af; }
62
+ .frames #nav span:after { content: ' | '; }
63
+ .frames #nav span:last-child:after { content: ''; }
64
+
65
+ .frames #content h1 { margin-top: 0; }
66
+ .frames li { white-space: nowrap; cursor: normal; }
67
+ .frames li small { display: block; font-size: 0.8em; }
68
+ .frames li small:before { content: ""; }
69
+ .frames li small:after { content: ""; }
70
+ .frames li small.search_info { display: none; }
71
+ .frames #search { width: 170px; position: static; margin: 3px; margin-left: 10px; font-size: 0.9em; color: #888; padding-left: 0; padding-right: 24px; }
72
+ .frames #content.insearch #search { background-position: center right; }
73
+ .frames #search input { width: 110px; }
74
+ .frames #nav { display: block; }
75
+
76
+ #full_list.insearch li { display: none; }
77
+ #full_list.insearch li.found { display: list-item; padding-left: 10px; }
78
+ #full_list.insearch li a.toggle { display: none; }
79
+ #full_list.insearch li small.search_info { display: block; }
@@ -0,0 +1,546 @@
1
+ html {
2
+ font-family: sans-serif;
3
+ -webkit-text-size-adjust: 100%;
4
+ -ms-text-size-adjust: 100%;
5
+ }
6
+ body {
7
+ margin: 0;
8
+ }
9
+ article,
10
+ aside,
11
+ details,
12
+ figcaption,
13
+ figure,
14
+ footer,
15
+ header,
16
+ hgroup,
17
+ main,
18
+ menu,
19
+ nav,
20
+ section,
21
+ summary {
22
+ display: block;
23
+ }
24
+ audio,
25
+ canvas,
26
+ progress,
27
+ video {
28
+ display: inline-block;
29
+ vertical-align: baseline;
30
+ }
31
+ audio:not([controls]) {
32
+ display: none;
33
+ height: 0;
34
+ }
35
+ [hidden],
36
+ template {
37
+ display: none;
38
+ }
39
+ a {
40
+ background-color: transparent;
41
+ }
42
+ a:active,
43
+ a:hover {
44
+ outline: 0;
45
+ }
46
+ abbr[title] {
47
+ border-bottom: 1px dotted;
48
+ }
49
+ b,
50
+ strong {
51
+ font-weight: bold;
52
+ }
53
+ dfn {
54
+ font-style: italic;
55
+ }
56
+ h1 {
57
+ margin: .67em 0;
58
+ font-size: 2em;
59
+ }
60
+ mark {
61
+ color: #000;
62
+ background: #ff0;
63
+ }
64
+ small {
65
+ font-size: 80%;
66
+ }
67
+ sub,
68
+ sup {
69
+ position: relative;
70
+ font-size: 75%;
71
+ line-height: 0;
72
+ vertical-align: baseline;
73
+ }
74
+ sup {
75
+ top: -.5em;
76
+ }
77
+ sub {
78
+ bottom: -.25em;
79
+ }
80
+ img {
81
+ border: 0;
82
+ }
83
+ svg:not(:root) {
84
+ overflow: hidden;
85
+ }
86
+ figure {
87
+ margin: 1em 40px;
88
+ }
89
+ hr {
90
+ height: 0;
91
+ -webkit-box-sizing: content-box;
92
+ -moz-box-sizing: content-box;
93
+ box-sizing: content-box;
94
+ }
95
+ pre {
96
+ overflow: auto;
97
+ }
98
+ code,
99
+ kbd,
100
+ pre,
101
+ samp {
102
+ font-family: monospace, monospace;
103
+ font-size: 1em;
104
+ }
105
+ button,
106
+ input,
107
+ optgroup,
108
+ select,
109
+ textarea {
110
+ margin: 0;
111
+ font: inherit;
112
+ color: inherit;
113
+ }
114
+ button {
115
+ overflow: visible;
116
+ }
117
+ button,
118
+ select {
119
+ text-transform: none;
120
+ }
121
+ button,
122
+ html input[type="button"],
123
+ input[type="reset"],
124
+ input[type="submit"] {
125
+ -webkit-appearance: button;
126
+ cursor: pointer;
127
+ }
128
+ button[disabled],
129
+ html input[disabled] {
130
+ cursor: default;
131
+ }
132
+ button::-moz-focus-inner,
133
+ input::-moz-focus-inner {
134
+ padding: 0;
135
+ border: 0;
136
+ }
137
+ input {
138
+ line-height: normal;
139
+ }
140
+ input[type="checkbox"],
141
+ input[type="radio"] {
142
+ -webkit-box-sizing: border-box;
143
+ -moz-box-sizing: border-box;
144
+ box-sizing: border-box;
145
+ padding: 0;
146
+ }
147
+ input[type="number"]::-webkit-inner-spin-button,
148
+ input[type="number"]::-webkit-outer-spin-button {
149
+ height: auto;
150
+ }
151
+ input[type="search"] {
152
+ -webkit-box-sizing: content-box;
153
+ -moz-box-sizing: content-box;
154
+ box-sizing: content-box;
155
+ -webkit-appearance: textfield;
156
+ }
157
+ input[type="search"]::-webkit-search-cancel-button,
158
+ input[type="search"]::-webkit-search-decoration {
159
+ -webkit-appearance: none;
160
+ }
161
+ fieldset {
162
+ padding: .35em .625em .75em;
163
+ margin: 0 2px;
164
+ border: 1px solid #c0c0c0;
165
+ }
166
+ legend {
167
+ padding: 0;
168
+ border: 0;
169
+ }
170
+ textarea {
171
+ overflow: auto;
172
+ }
173
+ optgroup {
174
+ font-weight: bold;
175
+ }
176
+ table {
177
+ border-spacing: 0;
178
+ border-collapse: collapse;
179
+ }
180
+ td,
181
+ th {
182
+ padding: 0;
183
+ }
184
+ body {
185
+ padding: 0 20px;
186
+ font-size: 14px;
187
+ -webkit-font-smoothing: antialiased;
188
+ -moz-font-smoothing: antialiased;
189
+ font-family: "avenir-next-web", Avenir, "Helvetica Neue", Hevetica, sans-serif;
190
+ color: #4d4d4d;
191
+ }
192
+ body.frames { padding: 0 5px; }
193
+ h1, h2, h3, h4, h5 {
194
+ line-height: 1.5;
195
+ font-family: "avenir-next-web", Avenir, "Helvetica Neue", Hevetica, sans-serif;
196
+ color: #000;
197
+ font-weight: 400;
198
+ }
199
+ h1 {
200
+ font-size: 3rem;
201
+ }
202
+ h2 {
203
+ font-size: 2rem;
204
+ }
205
+ h3 {
206
+ font-size: 1.5rem;
207
+ }
208
+ h4 {
209
+ font-size: 1.3rem;
210
+ }
211
+ h5 {
212
+ font-size: 16px;
213
+ }
214
+
215
+ .clear { clear: both; }
216
+ .inline { display: inline; }
217
+ .inline p:first-child { display: inline; }
218
+ .docstring h1, .docstring h2, .docstring h3, .docstring h4 { padding: 0; border: 0; border-bottom: 1px dotted #bbb; }
219
+ .docstring h1 { font-size: 1.2em; }
220
+ .docstring h2 { font-size: 1.1em; }
221
+ .docstring h3, .docstring h4 { font-size: 1em; border-bottom: 0; padding-top: 10px; }
222
+ .summary_desc .object_link, .docstring .object_link { font-family: monospace; }
223
+ .rdoc-term { padding-right: 25px; font-weight: bold; }
224
+ .rdoc-list p { margin: 0; padding: 0; margin-bottom: 4px; }
225
+
226
+ /* style for <table> */
227
+ #filecontents table, .docstring table { border-collapse: collapse; }
228
+ #filecontents table th, #filecontents table td,
229
+ .docstring table th, .docstring table td { border: 1px solid #ccc; padding: 8px; padding-right: 17px; }
230
+ #filecontents table tr:nth-child(odd),
231
+ .docstring table tr:nth-child(odd) { background: #eee; }
232
+ #filecontents table tr:nth-child(even),
233
+ .docstring table tr:nth-child(even) { background: #fff; }
234
+ #filecontents table th, .docstring table th { background: #fff; }
235
+
236
+ /* style for <ul> */
237
+ #filecontents li > p, .docstring li > p { margin: 0px; }
238
+ #filecontents ul, .docstring ul { padding-left: 20px; }
239
+ /* style for <dl> */
240
+ #filecontents dl, .docstring dl { border: 1px solid #ccc; }
241
+ #filecontents dt, .docstring dt { background: #ddd; font-weight: bold; padding: 3px 5px; }
242
+ #filecontents dd, .docstring dd { padding: 5px 0px; margin-left: 18px; }
243
+ #filecontents dd > p, .docstring dd > p { margin: 0px; }
244
+
245
+ .note {
246
+ color: #222;
247
+ -moz-border-radius: 3px; -webkit-border-radius: 3px;
248
+ background: #e3e4e3; border: 1px solid #d5d5d5; padding: 7px 10px;
249
+ display: block;
250
+ }
251
+ .note.todo { background: #ffffc5; border-color: #ececaa; }
252
+ .note.returns_void { background: #efefef; }
253
+ .note.deprecated { background: #ffe5e5; border-color: #e9dada; }
254
+ .note.private { background: #ffffc5; border-color: #ececaa; }
255
+ .note.title { padding: 1px 5px; font-size: 0.9em; font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; display: inline; }
256
+ .summary_signature + .note.title { margin-left: 7px; }
257
+ h1 .note.title { font-size: 0.5em; font-weight: normal; padding: 3px 5px; position: relative; top: -3px; text-transform: capitalize; }
258
+ .note.title.constructor { color: #fff; background: #6a98d6; border-color: #6689d6; }
259
+ .note.title.writeonly { color: #fff; background: #45a638; border-color: #2da31d; }
260
+ .note.title.readonly { color: #fff; background: #6a98d6; border-color: #6689d6; }
261
+ .note.title.private { background: #d5d5d5; border-color: #c5c5c5; }
262
+ .note.title.not_defined_here { background: transparent; border: none; font-style: italic; }
263
+ .discussion .note { margin-top: 6px; }
264
+ .discussion .note:first-child { margin-top: 0; }
265
+
266
+ h3.inherited {
267
+ font-style: italic;
268
+ font-family: "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif;
269
+ font-weight: normal;
270
+ padding: 0;
271
+ margin: 0;
272
+ margin-top: 12px;
273
+ margin-bottom: 3px;
274
+ font-size: 13px;
275
+ }
276
+ p.inherited {
277
+ padding: 0;
278
+ margin: 0;
279
+ margin-left: 25px;
280
+ }
281
+
282
+ #filecontents dl.box, dl.box {
283
+ border: 0;
284
+ width: 520px;
285
+ font-size: 1em;
286
+ }
287
+ #filecontents dl.box dt, dl.box dt {
288
+ float: left;
289
+ display: block;
290
+ width: 100px;
291
+ margin: 0;
292
+ text-align: right;
293
+ font-weight: bold;
294
+ background: transparent;
295
+ border: 1px solid #aaa;
296
+ border-width: 1px 0px 0px 1px;
297
+ padding: 6px 0;
298
+ padding-right: 10px;
299
+ }
300
+ #filecontents dl.box dd, dl.box dd {
301
+ float: left;
302
+ display: block;
303
+ width: 380px;
304
+ margin: 0;
305
+ padding: 6px 0;
306
+ padding-right: 20px;
307
+ border: 1px solid #aaa;
308
+ border-width: 1px 1px 0 0;
309
+ }
310
+ #filecontents dl.box .last, dl.box .last {
311
+ border-bottom: 1px solid #aaa;
312
+ }
313
+ #filecontents dl.box .r1, dl.box .r1 { background: #eee; }
314
+
315
+ dl.box * {
316
+ box-sizing: content-box;
317
+ }
318
+
319
+ ul.toplevel { list-style: none; padding-left: 0; font-size: 1.1em; }
320
+ .index_inline_list { padding-left: 0; font-size: 1.1em; }
321
+ .index_inline_list li { list-style: none; display: inline; padding: 7px 12px; line-height: 35px; }
322
+
323
+ dl.constants { margin-left: 40px; }
324
+ dl.constants dt { font-weight: bold; font-size: 1.1em; margin-bottom: 5px; }
325
+ dl.constants dd { width: 75%; white-space: pre; font-family: monospace; margin-bottom: 18px; }
326
+
327
+ .summary_desc { margin-left: 32px; display: block; font-family: sans-serif; }
328
+ .summary_desc tt { font-size: 0.9em; }
329
+ dl.constants .note { padding: 2px 6px; padding-right: 12px; margin-top: 6px; }
330
+ dl.constants .docstring { margin-left: 32px; font-size: 0.9em; font-weight: normal; }
331
+ dl.constants .tags { padding-left: 32px; font-size: 0.9em; line-height: 0.8em; }
332
+ dl.constants .discussion *:first-child { margin-top: 0; }
333
+ dl.constants .discussion *:last-child { margin-bottom: 0; }
334
+
335
+ .method_details { border-top: 1px dotted #aaa; margin-top: 15px; padding-top: 0; }
336
+ .method_details.first { border: 0; }
337
+ p.signature, h3.signature {
338
+ font-size: 1.1em; font-weight: normal; font-family: Monaco, Consolas, Courier, monospace;
339
+ padding: 6px 10px;
340
+ margin-top: 18px;
341
+ color: #fff;
342
+ background: #2f383d;
343
+ }
344
+ p.signature tt,
345
+ h3.signature tt { font-family: Monaco, Consolas, Courier, monospace; }
346
+ p.signature .overload,
347
+ h3.signature .overload { display: block; }
348
+ p.signature .extras,
349
+ h3.signature .extras { font-weight: normal; font-family: sans-serif; color: #444; font-size: 1em; }
350
+ p.signature .not_defined_here,
351
+ h3.signature .not_defined_here,
352
+ p.signature .aliases,
353
+ h3.signature .aliases { display: block; font-weight: normal; font-size: 0.9em; font-family: sans-serif; margin-top: 0px; color: #555; }
354
+ p.signature .aliases .names,
355
+ h3.signature .aliases .names { font-family: Monaco, Consolas, Courier, monospace; font-weight: bold; color: #000; font-size: 1.2em; }
356
+
357
+ .tags .tag_title { font-size: 1em; margin-bottom: 0; font-weight: bold; }
358
+ .tags ul { margin-top: 5px; padding-left: 30px; list-style: square; }
359
+ .tags ul li { margin-bottom: 3px; }
360
+ .tags ul .name { font-family: monospace; font-weight: bold; }
361
+ .tags ul .note { padding: 3px 6px; }
362
+ .tags { margin-bottom: 12px; }
363
+
364
+ .tags .examples .tag_title { margin-bottom: 10px; font-weight: bold; }
365
+ .tags .examples .inline p { padding: 0; margin: 0; margin-left: 15px; font-weight: bold; font-size: 0.9em; }
366
+
367
+ .tags .overload .overload_item { list-style: none; margin-bottom: 25px; }
368
+ .tags .overload .overload_item .signature {
369
+ padding: 2px 8px;
370
+ background: #e5e8ff; border: 1px solid #d8d8e5; -moz-border-radius: 3px; -webkit-border-radius: 3px;
371
+ }
372
+ .tags .overload .signature { margin-left: -15px; font-family: monospace; display: block; font-size: 1.1em; }
373
+ .tags .overload .docstring { margin-top: 15px; }
374
+
375
+ .defines { display: none; }
376
+
377
+ #method_missing_details .notice.this { position: relative; top: -8px; color: #888; padding: 0; margin: 0; }
378
+
379
+ .showSource { font-size: 0.9em; }
380
+ .showSource a:link, .showSource a:visited { text-decoration: none; color: #666; }
381
+
382
+ #content a:link, #content a:visited { text-decoration: none; color: #000; }
383
+ #content a:hover { color: #5c666f; }
384
+ div.docstring, p.docstring { margin-right: 6em; }
385
+
386
+ ul.summary {
387
+ list-style: none;
388
+ font-family: monospace;
389
+ font-size: 1em;
390
+ line-height: 1.5em;
391
+ }
392
+ ul.summary a:link, ul.summary a:visited {
393
+ text-decoration: none; font-size: 1.1em;
394
+ }
395
+ ul.summary li { margin-bottom: 5px; }
396
+ .summary .summary_signature {
397
+ padding: 1px 10px;
398
+ }
399
+ .summary_signature:hover {cursor: pointer; }
400
+ ul.summary.compact li { display: inline-block; margin: 0px 5px 0px 0px; line-height: 2.6em;}
401
+ ul.summary.compact .summary_signature { padding: 5px 7px; padding-right: 4px; }
402
+ #content .summary_signature:hover a:link,
403
+ #content .summary_signature:hover a:visited {
404
+ color: #5c666f;
405
+ }
406
+
407
+ p.inherited a { font-family: monospace; font-size: 0.9em; }
408
+ p.inherited { word-spacing: 5px; font-size: 1.2em; }
409
+
410
+ p.children { font-size: 1.2em; }
411
+ p.children a { font-size: 0.9em; }
412
+ p.children strong { font-size: 0.8em; }
413
+ p.children strong.modules { padding-left: 5px; }
414
+
415
+ ul.fullTree { display: none; padding-left: 0; list-style: none; margin-left: 0; margin-bottom: 10px; }
416
+ ul.fullTree ul { margin-left: 0; padding-left: 0; list-style: none; }
417
+ ul.fullTree li { text-align: center; padding-top: 18px; padding-bottom: 12px; background: url(data:image/gif;base64,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) no-repeat top center; }
418
+ ul.fullTree li:first-child { padding-top: 0; background: transparent; }
419
+ ul.fullTree li:last-child { padding-bottom: 0; }
420
+ .showAll ul.fullTree { display: block; }
421
+ .showAll .inheritName { display: none; }
422
+
423
+ #search { float: right; top:30px; }
424
+ #search a:link, #search a:visited {
425
+ display: block;
426
+ float: left;
427
+ margin-right: 4px;
428
+ padding: 8px 10px;
429
+ text-decoration: none;
430
+ border-radius: 3px;
431
+ color: #777;
432
+ }
433
+ #search a.active {
434
+ padding-bottom: 20px;
435
+ -moz-border-radius-topleft: 5px; -moz-border-radius-topright: 5px;
436
+ -webkit-border-top-left-radius: 5px; -webkit-border-top-right-radius: 5px;
437
+ }
438
+ #search a.inactive { color: #999; }
439
+ .frames #search { display: none; }
440
+ .inheritanceTree, .toggleDefines { float: right; }
441
+
442
+ #menu { font-size: 1.3em; color: #bbb; top: -5px; position: relative; float: left; clear: none; }
443
+ #menu .title, #menu a { font-size: 0.7em; }
444
+ #menu .title a { font-size: 1em; }
445
+ #menu .title { color: #555; }
446
+ #menu a:link, #menu a:visited { text-decoration: none; border-bottom: 1px dotted #bbd; color: #5c666f; }
447
+ #menu a:hover { color: #05a; }
448
+ #menu .noframes { display: inline; }
449
+ .frames #menu .noframes { display: inline; float: right; }
450
+
451
+ #footer { margin-top: 15px; border-top: 1px solid #ccc; text-align: center; padding: 7px 0; color: #999; }
452
+ #footer a:link, #footer a:visited { color: #444; text-decoration: none; border-bottom: 1px dotted #bbd; }
453
+ #footer a:hover { color: #05a; }
454
+
455
+ #listing ul.alpha { font-size: 1.1em; }
456
+ #listing ul.alpha { margin: 0; padding: 0; padding-bottom: 10px; list-style: none; }
457
+ #listing ul.alpha li.letter { font-size: 1.4em; padding-bottom: 10px; }
458
+ #listing ul.alpha ul { margin: 0; padding-left: 15px; }
459
+ #listing ul small { color: #666; font-size: 0.7em; }
460
+
461
+ li.r1 { background: #f0f0f0; }
462
+ li.r2 { background: #fafafa; }
463
+
464
+ #search_frame {
465
+ z-index: 9999;
466
+ background: #fff;
467
+ display: none;
468
+ position: absolute;
469
+ top: 125px;
470
+ right: 18px;
471
+ width: 500px;
472
+ height: 80%;
473
+ overflow-y: scroll;
474
+ border: 1px solid #999;
475
+ border-collapse: collapse;
476
+ -webkit-box-shadow: -7px 5px 25px #aaa;
477
+ -moz-box-shadow: -7px 5px 25px #aaa;
478
+ -moz-border-radius: 2px;
479
+ -webkit-border-radius: 2px;
480
+ }
481
+
482
+ #content ul.summary li.deprecated .summary_signature a:link,
483
+ #content ul.summary li.deprecated .summary_signature a:visited { text-decoration: line-through; font-style: italic; }
484
+
485
+ #toc {
486
+ padding: 20px;
487
+ padding-right: 30px;
488
+ border: 1px solid #ddd;
489
+ float: right;
490
+ margin-left: 20px;
491
+ margin-bottom: 20px;
492
+ max-width: 300px;
493
+ z-index: 5000;
494
+ position: relative;
495
+ overflow-x: auto;
496
+ background: #f3f3f4;
497
+ color: #5c666f;
498
+ }
499
+ #toc.nofloat { float: none; max-width: none; border: none; padding: 0; margin: 20px 0; -webkit-box-shadow: none; -moz-box-shadow: none; }
500
+ #toc.nofloat.hidden { padding: 0; background: 0; margin-bottom: 5px; }
501
+ #toc .title { margin: 0; }
502
+ #toc ol { padding-left: 1.8em; }
503
+ #toc li { font-size: 1.1em; line-height: 1.7em; }
504
+ #toc > ol > li { font-size: 1.1em; font-weight: bold; }
505
+ #toc ol > ol { font-size: 0.9em; }
506
+ #toc ol ol > ol { padding-left: 2.3em; }
507
+ #toc ol + li { margin-top: 0.3em; }
508
+ #toc.hidden { padding: 10px; background: #f6f6f6; -webkit-box-shadow: none; -moz-box-shadow: none; }
509
+ #filecontents h1 + #toc.nofloat { margin-top: 0; }
510
+
511
+ /* syntax highlighting */
512
+ .source_code {
513
+ display: none;
514
+ padding: 3px 8px;
515
+ margin-top: 5px;
516
+ }
517
+ #filecontents pre.code, .docstring pre.code, .source_code pre { font-family: monospace; }
518
+ #filecontents pre.code, .docstring pre.code { display: block; }
519
+ .source_code .lines { padding-right: 12px; color: #fff; text-align: right; }
520
+ #filecontents pre.code, .docstring pre.code,
521
+ .tags pre.example { padding: 5px 12px; margin-top: 4px; border: 1px solid #eef; background: #2f383d; }
522
+ pre.code { color: #fff; background: #2f383d;}
523
+ pre.code .info.file { color: #555; }
524
+ pre.code .val { color: #036A07; }
525
+ pre.code .tstring_content,
526
+ pre.code .heredoc_beg, pre.code .heredoc_end,
527
+ pre.code .qwords_beg, pre.code .qwords_end,
528
+ pre.code .tstring, pre.code .dstring { color: #00fbca; }
529
+ pre.code .fid, pre.code .rubyid_new, pre.code .rubyid_to_s,
530
+ pre.code .rubyid_to_sym, pre.code .rubyid_to_f,
531
+ pre.code .dot + pre.code .id,
532
+ pre.code .rubyid_to_i pre.code .rubyid_each { color: #ff9a56; }
533
+ pre.code .comment { color: #0066FF; }
534
+ pre.code .const, pre.code .constant { color: #42c7f4; }
535
+ pre.code .label,
536
+ pre.code .symbol { color: #fff; }
537
+ pre.code .kw,
538
+ pre.code .rubyid_require,
539
+ pre.code .rubyid_extend,
540
+ pre.code .rubyid_include { color: #ff9a56; }
541
+ pre.code .ivar { color: #318495; }
542
+ pre.code .gvar,
543
+ pre.code .rubyid_backref,
544
+ pre.code .rubyid_nth_ref { color: #6D79DE; }
545
+ pre.code .regexp, .dregexp { color: #036A07; }
546
+ pre.code a { border-bottom: 1px dotted #bbf; }