diff --git a/assets/images/icons.png b/assets/images/icons.png index 65e2a3de..bdb65351 100644 Binary files a/assets/images/icons.png and b/assets/images/icons.png differ diff --git a/assets/images/icons@2x.png b/assets/images/icons@2x.png index cd7f1986..adf79899 100644 Binary files a/assets/images/icons@2x.png and b/assets/images/icons@2x.png differ diff --git a/assets/javascripts/templates/pages/about_tmpl.coffee b/assets/javascripts/templates/pages/about_tmpl.coffee index ccb433d3..e9e8fb36 100644 --- a/assets/javascripts/templates/pages/about_tmpl.coffee +++ b/assets/javascripts/templates/pages/about_tmpl.coffee @@ -143,6 +143,11 @@ credits = [ '1993-2013 Yukihiro Matsumoto', 'Ruby', 'https://www.ruby-lang.org/en/about/license.txt' + ], [ + 'Ruby on Rails', + '2004-2013 David Heinemeier Hansson', + 'MIT', + 'https://raw.github.com/rails/rails/master/activerecord/MIT-LICENSE' ], [ 'Sass', '2006-2013 Hampton Catlin, Nathan Weizenbaum, and Chris Eppstein', diff --git a/assets/javascripts/templates/pages/news_tmpl.coffee b/assets/javascripts/templates/pages/news_tmpl.coffee index 2a7a508b..278065d9 100644 --- a/assets/javascripts/templates/pages/news_tmpl.coffee +++ b/assets/javascripts/templates/pages/news_tmpl.coffee @@ -24,7 +24,10 @@ newsItem = (date, news) -> result app.news = [ - [ 1384560000000, # November 16, 2013 + [ 1384819200000, # November 19, 2013 + """ New Ruby on Rails documentation """ + ], [ + 1384560000000, # November 16, 2013 """ New Ruby documentation """ ], [ 1382572800000, # October 24, 2013 diff --git a/assets/stylesheets/global/_icons.scss b/assets/stylesheets/global/_icons.scss index fb6b50e5..bc2016f4 100644 --- a/assets/stylesheets/global/_icons.scss +++ b/assets/stylesheets/global/_icons.scss @@ -40,3 +40,4 @@ ._icon-lodash:before { background-position: -1rem -5rem; } ._icon-php:before { background-position: -2rem -5rem; } ._icon-ruby:before { background-position: -3rem -5rem; } +._icon-rails:before { background-position: -4rem -5rem; } diff --git a/lib/docs/filters/rails/entries.rb b/lib/docs/filters/rails/entries.rb new file mode 100644 index 00000000..ef6beb0f --- /dev/null +++ b/lib/docs/filters/rails/entries.rb @@ -0,0 +1,73 @@ +module Docs + class Rails + class EntriesFilter < Docs::Rdoc::EntriesFilter + TYPE_BY_NAME_MATCHES = { + /Assertions|::Test|Fixture/ => 'Testing', + /\AActiveRecord.+Assoc/ => 'ActiveRecord/Associations', + /\AActiveRecord.+Attribute/ => 'ActiveRecord/Attributes', + /\AActiveRecord.+(Migration|Schema|Adapters::Table)/ => 'ActiveRecord/Migrations', + /\AActiveSupport.+(Subscriber|Notifications)/ => 'ActiveSupport/Instrumentation', + /\A(False|Nil|True)Class/ => 'Boolean' } + + TYPE_BY_NAME_STARTS_WITH = { + 'ActionDispatch::Integration' => 'Testing', + 'ActionDispatch::Routing' => 'ActionDispatch/Routing', + 'ActionView::Helpers' => 'ActionView/Helpers', + 'ActiveModel::Errors' => 'ActiveModel/Validation', + 'ActiveModel::Valid' => 'ActiveModel/Validation', + 'ActiveRecord::Batches' => 'ActiveModel/Query', + 'ActiveRecord::Calculations' => 'ActiveModel/Query', + 'ActiveRecord::Connection' => 'ActiveModel/Connection', + 'ActiveRecord::FinderMethods' => 'ActiveModel/Query', + 'ActiveRecord::Query' => 'ActiveModel/Query', + 'ActiveRecord::Relation' => 'ActiveModel/Relation', + 'ActiveRecord::Result' => 'ActiveModel/Connection', + 'ActiveRecord::Scoping' => 'ActiveModel/Query', + 'ActiveRecord::SpawnMethods' => 'ActiveModel/Query', + 'ActiveSupport::Cach' => 'ActiveSupport/Caching', + 'ActiveSupport::Hash' => 'ActiveSupport/Hash', + 'ActiveSupport::Inflector' => 'ActiveSupport/Inflector', + 'ActiveSupport::Ordered' => 'ActiveSupport/Hash', + 'ActiveSupport::Time' => 'ActiveSupport/TimeZones', + 'Rails::Application' => 'Rails/Application', + 'Rails::Engine' => 'Rails/Engine', + 'Rails::Railtie' => 'Rails/Railtie' } + + def get_name + name = super + name.sub! 'HashWithIndifferentAccess::HashWithIndifferentAccess', 'HashWithIndifferentAccess' + name + end + + def get_type + parent = at_css('.meta-parent').try(:content).to_s + + if [name, parent].any? { |str| str.end_with?('Error') || str.end_with?('Exception') } + return 'Errors' + end + + TYPE_BY_NAME_MATCHES.each_pair do |key, value| + return value if name =~ key + end + + TYPE_BY_NAME_STARTS_WITH.each_pair do |key, value| + return value if name.start_with?(key) + end + + super + end + + def include_default_entry? + super && !skip? + end + + def additional_entries + skip? ? [] : super + end + + def skip? + @skip ||= !css('p').any? { |node| node.content.present? } + end + end + end +end diff --git a/lib/docs/scrapers/rdoc/rails.rb b/lib/docs/scrapers/rdoc/rails.rb new file mode 100644 index 00000000..8bfa5ab5 --- /dev/null +++ b/lib/docs/scrapers/rdoc/rails.rb @@ -0,0 +1,96 @@ +module Docs + class Rails < Rdoc + # Generated with: + # find \ + # actionmailer \ + # actionpack \ + # activemodel \ + # activerecord \ + # activesupport \ + # railties \ + # -name '*.rb' \ + # -not -name 'version.rb' \ + # -not -wholename '*generators/*' \ + # -not -wholename '*test/*' \ + # -not -wholename '*examples/*' \ + # | xargs \ + # rdoc --format=darkfish --no-line-numbers --op=rdoc --visibility=public + + self.name = 'Ruby on Rails' + self.slug = 'rails' + self.version = '4.0.1' + self.dir = '/Users/Thibaut/DevDocs/Docs/RDoc/Rails' + + html_filters.replace 'rdoc/entries', 'rails/entries' + + options[:root_title] = 'Ruby on Rails' + + options[:skip] += %w( + AbstractController/Callbacks.html + AbstractController/UrlFor.html + ActionController.html + ActionController/Instrumentation.html + ActionController/ModelNaming.html + ActionController/Rendering.html + ActionController/Rescue.html + ActionController/UrlFor.html + ActionDispatch/DebugExceptions.htnl + ActionDispatch/Http/FilterParameters.html + ActionDispatch/Http/URL.html + ActionDispatch/Integration/Runner.html + ActionDispatch/Integration/Session.html + ActionDispatch/Reloader.html + ActionDispatch/RequestId.html + ActionDispatch/Routing/HtmlTableFormatter.html + ActionDispatch/Routing/Mapper.html + ActionDispatch/ShowExceptions.html + ActionView.html + ActionView/Context.html + ActionView/DependencyTracker/ERBTracker.html + ActionView/FileSystemResolver.html + ActionView/FixtureResolver.html + ActionView/LogSubscriber.html + ActionView/ModelNaming.html + ActionView/Template/Handlers/Erubis.html + ActiveModel.html + ActiveModel/Lint/Tests.html + ActiveRecord.html + ActiveRecord/DynamicMatchers/Finder.html + ActiveRecord/Sanitization.html + ActiveRecord/Tasks/DatabaseTasks.html + ActiveSupport.html + ActiveSupport/Configurable/Configuration.html + ActiveSupport/Dependencies/WatchStack.html + ActiveSupport/DescendantsTracker.html + ActiveSupport/FileUpdateChecker.html + ActiveSupport/Notifications/Fanout.html + ActiveSupport/Testing/ConstantLookup.html + ActiveSupport/Testing/Declarative.html + ActiveSupport/Testing/Isolation/Subprocess.html + Rails/API/Task.html + Rails/ConsoleMethods.html) + + options[:skip_patterns] = [ + /\AAbstractController\/ViewPaths/, + /\AActionController\/Caching(?!\/Fragments|\.)/, + /\AActionController\/HideActions/, + /\AActionController\/RequestForgeryProtection\/ProtectionMethods/, + /\AActionController\/Test/, + /\AActionDispatch\/RemoteIp/, + /\AActionDispatch\/Test/, + /\AActionMailer\/DeliveryMethods/, + /\AActionView\/LookupContext/, + /\AActionView\/Resolver/, + /\AActiveRecord\/ConnectionAdapters\/(?!DatabaseStatements|SchemaStatements|Table)/, + /\AActiveSupport\/JSON\//, + /\AActiveSupport\/Multibyte\/Unicode\//, + /\AActiveSupport\/XML/i, + /\ALogger/, + /\ASourceAnnotationExtractor/] + + options[:attribution] = <<-HTML + © 2004–2013 David Heinemeier Hansson
+ Licensed under the MIT License. + HTML + end +end diff --git a/public/icons/docs/rails/16.png b/public/icons/docs/rails/16.png new file mode 100644 index 00000000..4280bc5a Binary files /dev/null and b/public/icons/docs/rails/16.png differ diff --git a/public/icons/docs/rails/16@2x.png b/public/icons/docs/rails/16@2x.png new file mode 100644 index 00000000..12fa5b35 Binary files /dev/null and b/public/icons/docs/rails/16@2x.png differ diff --git a/public/icons/docs/rails/SOURCE b/public/icons/docs/rails/SOURCE new file mode 100644 index 00000000..d1822cdc --- /dev/null +++ b/public/icons/docs/rails/SOURCE @@ -0,0 +1 @@ +http://commons.wikimedia.org/wiki/File:Ruby_logo.svg