rails_csi 2.3.5.p6
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.
- data/CHANGELOG +2172 -0
- data/MIT-LICENSE +20 -0
- data/README +243 -0
- data/Rakefile +368 -0
- data/bin/about +4 -0
- data/bin/console +3 -0
- data/bin/dbconsole +3 -0
- data/bin/destroy +3 -0
- data/bin/generate +3 -0
- data/bin/performance/benchmarker +3 -0
- data/bin/performance/profiler +3 -0
- data/bin/plugin +3 -0
- data/bin/rails +20 -0
- data/bin/runner +3 -0
- data/bin/server +3 -0
- data/builtin/rails_info/rails/info.rb +131 -0
- data/builtin/rails_info/rails/info_controller.rb +9 -0
- data/builtin/rails_info/rails/info_helper.rb +2 -0
- data/builtin/rails_info/rails_info_controller.rb +2 -0
- data/configs/databases/frontbase.yml +28 -0
- data/configs/databases/ibm_db.yml +62 -0
- data/configs/databases/mysql.yml +60 -0
- data/configs/databases/oracle.yml +39 -0
- data/configs/databases/postgresql.yml +51 -0
- data/configs/databases/sqlite2.yml +19 -0
- data/configs/databases/sqlite3.yml +22 -0
- data/configs/empty.log +0 -0
- data/configs/initializers/backtrace_silencers.rb +7 -0
- data/configs/initializers/inflections.rb +10 -0
- data/configs/initializers/mime_types.rb +5 -0
- data/configs/initializers/new_rails_defaults.rb +21 -0
- data/configs/initializers/session_store.rb +15 -0
- data/configs/locales/en.yml +5 -0
- data/configs/routes.rb +43 -0
- data/configs/seeds.rb +7 -0
- data/dispatches/config.ru +7 -0
- data/dispatches/dispatch.fcgi +24 -0
- data/dispatches/dispatch.rb +10 -0
- data/dispatches/gateway.cgi +97 -0
- data/doc/README_FOR_APP +2 -0
- data/environments/boot.rb +110 -0
- data/environments/development.rb +17 -0
- data/environments/environment.rb +41 -0
- data/environments/production.rb +28 -0
- data/environments/test.rb +28 -0
- data/fresh_rakefile +10 -0
- data/guides/files/javascripts/code_highlighter.js +188 -0
- data/guides/files/javascripts/guides.js +8 -0
- data/guides/files/javascripts/highlighters.js +90 -0
- data/guides/files/stylesheets/main.css +441 -0
- data/guides/files/stylesheets/print.css +52 -0
- data/guides/files/stylesheets/reset.css +43 -0
- data/guides/files/stylesheets/style.css +13 -0
- data/guides/files/stylesheets/syntax.css +31 -0
- data/guides/images/belongs_to.png +0 -0
- data/guides/images/book_icon.gif +0 -0
- data/guides/images/bullet.gif +0 -0
- data/guides/images/chapters_icon.gif +0 -0
- data/guides/images/check_bullet.gif +0 -0
- data/guides/images/credits_pic_blank.gif +0 -0
- data/guides/images/csrf.png +0 -0
- data/guides/images/customized_error_messages.png +0 -0
- data/guides/images/error_messages.png +0 -0
- data/guides/images/feature_tile.gif +0 -0
- data/guides/images/footer_tile.gif +0 -0
- data/guides/images/fxn.jpg +0 -0
- data/guides/images/grey_bullet.gif +0 -0
- data/guides/images/habtm.png +0 -0
- data/guides/images/has_many.png +0 -0
- data/guides/images/has_many_through.png +0 -0
- data/guides/images/has_one.png +0 -0
- data/guides/images/has_one_through.png +0 -0
- data/guides/images/header_backdrop.png +0 -0
- data/guides/images/header_tile.gif +0 -0
- data/guides/images/i18n/demo_localized_pirate.png +0 -0
- data/guides/images/i18n/demo_translated_en.png +0 -0
- data/guides/images/i18n/demo_translated_pirate.png +0 -0
- data/guides/images/i18n/demo_translation_missing.png +0 -0
- data/guides/images/i18n/demo_untranslated.png +0 -0
- data/guides/images/icons/README +5 -0
- data/guides/images/icons/callouts/1.png +0 -0
- data/guides/images/icons/callouts/10.png +0 -0
- data/guides/images/icons/callouts/11.png +0 -0
- data/guides/images/icons/callouts/12.png +0 -0
- data/guides/images/icons/callouts/13.png +0 -0
- data/guides/images/icons/callouts/14.png +0 -0
- data/guides/images/icons/callouts/15.png +0 -0
- data/guides/images/icons/callouts/2.png +0 -0
- data/guides/images/icons/callouts/3.png +0 -0
- data/guides/images/icons/callouts/4.png +0 -0
- data/guides/images/icons/callouts/5.png +0 -0
- data/guides/images/icons/callouts/6.png +0 -0
- data/guides/images/icons/callouts/7.png +0 -0
- data/guides/images/icons/callouts/8.png +0 -0
- data/guides/images/icons/callouts/9.png +0 -0
- data/guides/images/icons/caution.png +0 -0
- data/guides/images/icons/example.png +0 -0
- data/guides/images/icons/home.png +0 -0
- data/guides/images/icons/important.png +0 -0
- data/guides/images/icons/next.png +0 -0
- data/guides/images/icons/note.png +0 -0
- data/guides/images/icons/prev.png +0 -0
- data/guides/images/icons/tip.png +0 -0
- data/guides/images/icons/up.png +0 -0
- data/guides/images/icons/warning.png +0 -0
- data/guides/images/nav_arrow.gif +0 -0
- data/guides/images/polymorphic.png +0 -0
- data/guides/images/posts_index.png +0 -0
- data/guides/images/rails_guides_logo.gif +0 -0
- data/guides/images/rails_logo_remix.gif +0 -0
- data/guides/images/rails_welcome.png +0 -0
- data/guides/images/session_fixation.png +0 -0
- data/guides/images/tab_grey.gif +0 -0
- data/guides/images/tab_info.gif +0 -0
- data/guides/images/tab_note.gif +0 -0
- data/guides/images/tab_red.gif +0 -0
- data/guides/images/tab_yellow.gif +0 -0
- data/guides/images/tab_yellow.png +0 -0
- data/guides/images/validation_error_messages.png +0 -0
- data/guides/rails_guides.rb +42 -0
- data/guides/rails_guides/generator.rb +138 -0
- data/guides/rails_guides/helpers.rb +34 -0
- data/guides/rails_guides/indexer.rb +55 -0
- data/guides/rails_guides/textile_extensions.rb +41 -0
- data/guides/source/2_2_release_notes.textile +422 -0
- data/guides/source/2_3_release_notes.textile +610 -0
- data/guides/source/action_controller_overview.textile +776 -0
- data/guides/source/action_mailer_basics.textile +424 -0
- data/guides/source/active_record_basics.textile +135 -0
- data/guides/source/active_record_querying.textile +969 -0
- data/guides/source/activerecord_validations_callbacks.textile +1086 -0
- data/guides/source/association_basics.textile +1781 -0
- data/guides/source/caching_with_rails.textile +524 -0
- data/guides/source/command_line.textile +589 -0
- data/guides/source/configuring.textile +234 -0
- data/guides/source/contribute.textile +71 -0
- data/guides/source/contributing_to_rails.textile +239 -0
- data/guides/source/credits.erb.textile +52 -0
- data/guides/source/debugging_rails_applications.textile +709 -0
- data/guides/source/form_helpers.textile +766 -0
- data/guides/source/getting_started.textile +1297 -0
- data/guides/source/i18n.textile +912 -0
- data/guides/source/index.erb.textile +124 -0
- data/guides/source/layout.html.erb +103 -0
- data/guides/source/layouts_and_rendering.textile +979 -0
- data/guides/source/migrations.textile +591 -0
- data/guides/source/nested_model_forms.textile +222 -0
- data/guides/source/performance_testing.textile +531 -0
- data/guides/source/plugins.textile +1512 -0
- data/guides/source/rails_on_rack.textile +309 -0
- data/guides/source/routing.textile +903 -0
- data/guides/source/security.textile +986 -0
- data/guides/source/testing.textile +951 -0
- data/helpers/application_controller.rb +10 -0
- data/helpers/application_helper.rb +3 -0
- data/helpers/performance_test.rb +9 -0
- data/helpers/test_helper.rb +38 -0
- data/html/404.html +30 -0
- data/html/422.html +30 -0
- data/html/500.html +30 -0
- data/html/favicon.ico +0 -0
- data/html/images/rails.png +0 -0
- data/html/index.html +275 -0
- data/html/javascripts/application.js +2 -0
- data/html/javascripts/controls.js +963 -0
- data/html/javascripts/dragdrop.js +973 -0
- data/html/javascripts/effects.js +1128 -0
- data/html/javascripts/prototype.js +4320 -0
- data/html/robots.txt +5 -0
- data/lib/code_statistics.rb +107 -0
- data/lib/commands.rb +17 -0
- data/lib/commands/about.rb +3 -0
- data/lib/commands/console.rb +45 -0
- data/lib/commands/dbconsole.rb +87 -0
- data/lib/commands/destroy.rb +6 -0
- data/lib/commands/generate.rb +6 -0
- data/lib/commands/ncgi/listener +86 -0
- data/lib/commands/ncgi/tracker +69 -0
- data/lib/commands/performance/benchmarker.rb +24 -0
- data/lib/commands/performance/profiler.rb +50 -0
- data/lib/commands/plugin.rb +968 -0
- data/lib/commands/runner.rb +54 -0
- data/lib/commands/server.rb +114 -0
- data/lib/commands/update.rb +4 -0
- data/lib/console_app.rb +30 -0
- data/lib/console_sandbox.rb +6 -0
- data/lib/console_with_helpers.rb +5 -0
- data/lib/dispatcher.rb +24 -0
- data/lib/fcgi_handler.rb +239 -0
- data/lib/initializer.rb +1128 -0
- data/lib/performance_test_help.rb +5 -0
- data/lib/rails/backtrace_cleaner.rb +54 -0
- data/lib/rails/gem_builder.rb +21 -0
- data/lib/rails/gem_dependency.rb +311 -0
- data/lib/rails/plugin.rb +179 -0
- data/lib/rails/plugin/loader.rb +198 -0
- data/lib/rails/plugin/locator.rb +100 -0
- data/lib/rails/rack.rb +8 -0
- data/lib/rails/rack/debugger.rb +23 -0
- data/lib/rails/rack/log_tailer.rb +35 -0
- data/lib/rails/rack/metal.rb +51 -0
- data/lib/rails/rack/static.rb +46 -0
- data/lib/rails/vendor_gem_source_index.rb +140 -0
- data/lib/rails/version.rb +9 -0
- data/lib/rails_generator.rb +43 -0
- data/lib/rails_generator/base.rb +266 -0
- data/lib/rails_generator/commands.rb +621 -0
- data/lib/rails_generator/generated_attribute.rb +46 -0
- data/lib/rails_generator/generators/applications/app/USAGE +9 -0
- data/lib/rails_generator/generators/applications/app/app_generator.rb +263 -0
- data/lib/rails_generator/generators/applications/app/scm/git.rb +18 -0
- data/lib/rails_generator/generators/applications/app/scm/scm.rb +8 -0
- data/lib/rails_generator/generators/applications/app/scm/svn.rb +7 -0
- data/lib/rails_generator/generators/applications/app/template_runner.rb +401 -0
- data/lib/rails_generator/generators/components/controller/USAGE +30 -0
- data/lib/rails_generator/generators/components/controller/controller_generator.rb +43 -0
- data/lib/rails_generator/generators/components/controller/templates/controller.rb +7 -0
- data/lib/rails_generator/generators/components/controller/templates/functional_test.rb +8 -0
- data/lib/rails_generator/generators/components/controller/templates/helper.rb +2 -0
- data/lib/rails_generator/generators/components/controller/templates/helper_test.rb +4 -0
- data/lib/rails_generator/generators/components/controller/templates/view.html.erb +2 -0
- data/lib/rails_generator/generators/components/helper/USAGE +24 -0
- data/lib/rails_generator/generators/components/helper/helper_generator.rb +25 -0
- data/lib/rails_generator/generators/components/helper/templates/helper.rb +2 -0
- data/lib/rails_generator/generators/components/helper/templates/helper_test.rb +4 -0
- data/lib/rails_generator/generators/components/integration_test/USAGE +8 -0
- data/lib/rails_generator/generators/components/integration_test/integration_test_generator.rb +16 -0
- data/lib/rails_generator/generators/components/integration_test/templates/integration_test.rb +10 -0
- data/lib/rails_generator/generators/components/mailer/USAGE +16 -0
- data/lib/rails_generator/generators/components/mailer/mailer_generator.rb +30 -0
- data/lib/rails_generator/generators/components/mailer/templates/fixture.erb +3 -0
- data/lib/rails_generator/generators/components/mailer/templates/fixture.rhtml +0 -0
- data/lib/rails_generator/generators/components/mailer/templates/mailer.rb +15 -0
- data/lib/rails_generator/generators/components/mailer/templates/unit_test.rb +20 -0
- data/lib/rails_generator/generators/components/mailer/templates/view.erb +3 -0
- data/lib/rails_generator/generators/components/mailer/templates/view.rhtml +0 -0
- data/lib/rails_generator/generators/components/metal/USAGE +8 -0
- data/lib/rails_generator/generators/components/metal/metal_generator.rb +8 -0
- data/lib/rails_generator/generators/components/metal/templates/metal.rb +12 -0
- data/lib/rails_generator/generators/components/migration/USAGE +29 -0
- data/lib/rails_generator/generators/components/migration/migration_generator.rb +20 -0
- data/lib/rails_generator/generators/components/migration/templates/migration.rb +11 -0
- data/lib/rails_generator/generators/components/model/USAGE +27 -0
- data/lib/rails_generator/generators/components/model/model_generator.rb +52 -0
- data/lib/rails_generator/generators/components/model/templates/fixtures.yml +19 -0
- data/lib/rails_generator/generators/components/model/templates/migration.rb +16 -0
- data/lib/rails_generator/generators/components/model/templates/model.rb +5 -0
- data/lib/rails_generator/generators/components/model/templates/unit_test.rb +8 -0
- data/lib/rails_generator/generators/components/observer/USAGE +13 -0
- data/lib/rails_generator/generators/components/observer/observer_generator.rb +16 -0
- data/lib/rails_generator/generators/components/observer/templates/observer.rb +2 -0
- data/lib/rails_generator/generators/components/observer/templates/unit_test.rb +8 -0
- data/lib/rails_generator/generators/components/performance_test/USAGE +8 -0
- data/lib/rails_generator/generators/components/performance_test/performance_test_generator.rb +16 -0
- data/lib/rails_generator/generators/components/performance_test/templates/performance_test.rb +9 -0
- data/lib/rails_generator/generators/components/plugin/USAGE +25 -0
- data/lib/rails_generator/generators/components/plugin/plugin_generator.rb +39 -0
- data/lib/rails_generator/generators/components/plugin/templates/MIT-LICENSE +20 -0
- data/lib/rails_generator/generators/components/plugin/templates/README +13 -0
- data/lib/rails_generator/generators/components/plugin/templates/Rakefile +23 -0
- data/lib/rails_generator/generators/components/plugin/templates/USAGE +8 -0
- data/lib/rails_generator/generators/components/plugin/templates/generator.rb +8 -0
- data/lib/rails_generator/generators/components/plugin/templates/init.rb +1 -0
- data/lib/rails_generator/generators/components/plugin/templates/install.rb +1 -0
- data/lib/rails_generator/generators/components/plugin/templates/plugin.rb +1 -0
- data/lib/rails_generator/generators/components/plugin/templates/tasks.rake +4 -0
- data/lib/rails_generator/generators/components/plugin/templates/test_helper.rb +3 -0
- data/lib/rails_generator/generators/components/plugin/templates/uninstall.rb +1 -0
- data/lib/rails_generator/generators/components/plugin/templates/unit_test.rb +8 -0
- data/lib/rails_generator/generators/components/resource/USAGE +23 -0
- data/lib/rails_generator/generators/components/resource/resource_generator.rb +76 -0
- data/lib/rails_generator/generators/components/resource/templates/controller.rb +2 -0
- data/lib/rails_generator/generators/components/resource/templates/functional_test.rb +8 -0
- data/lib/rails_generator/generators/components/resource/templates/helper.rb +2 -0
- data/lib/rails_generator/generators/components/resource/templates/helper_test.rb +4 -0
- data/lib/rails_generator/generators/components/scaffold/USAGE +29 -0
- data/lib/rails_generator/generators/components/scaffold/scaffold_generator.rb +103 -0
- data/lib/rails_generator/generators/components/scaffold/templates/controller.rb +85 -0
- data/lib/rails_generator/generators/components/scaffold/templates/functional_test.rb +45 -0
- data/lib/rails_generator/generators/components/scaffold/templates/helper.rb +2 -0
- data/lib/rails_generator/generators/components/scaffold/templates/helper_test.rb +4 -0
- data/lib/rails_generator/generators/components/scaffold/templates/layout.html.erb +17 -0
- data/lib/rails_generator/generators/components/scaffold/templates/style.css +54 -0
- data/lib/rails_generator/generators/components/scaffold/templates/view_edit.html.erb +18 -0
- data/lib/rails_generator/generators/components/scaffold/templates/view_index.html.erb +24 -0
- data/lib/rails_generator/generators/components/scaffold/templates/view_new.html.erb +17 -0
- data/lib/rails_generator/generators/components/scaffold/templates/view_show.html.erb +10 -0
- data/lib/rails_generator/generators/components/session_migration/USAGE +10 -0
- data/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb +18 -0
- data/lib/rails_generator/generators/components/session_migration/templates/migration.rb +16 -0
- data/lib/rails_generator/lookup.rb +249 -0
- data/lib/rails_generator/manifest.rb +53 -0
- data/lib/rails_generator/options.rb +150 -0
- data/lib/rails_generator/scripts.rb +89 -0
- data/lib/rails_generator/scripts/destroy.rb +29 -0
- data/lib/rails_generator/scripts/generate.rb +7 -0
- data/lib/rails_generator/scripts/update.rb +12 -0
- data/lib/rails_generator/secret_key_generator.rb +24 -0
- data/lib/rails_generator/simple_logger.rb +46 -0
- data/lib/rails_generator/spec.rb +44 -0
- data/lib/railties_path.rb +1 -0
- data/lib/ruby_version_check.rb +17 -0
- data/lib/rubyprof_ext.rb +35 -0
- data/lib/source_annotation_extractor.rb +102 -0
- data/lib/tasks/annotations.rake +20 -0
- data/lib/tasks/databases.rake +436 -0
- data/lib/tasks/documentation.rake +88 -0
- data/lib/tasks/framework.rake +143 -0
- data/lib/tasks/gems.rake +78 -0
- data/lib/tasks/log.rake +9 -0
- data/lib/tasks/middleware.rake +7 -0
- data/lib/tasks/misc.rake +63 -0
- data/lib/tasks/rails.rb +9 -0
- data/lib/tasks/routes.rake +18 -0
- data/lib/tasks/statistics.rake +17 -0
- data/lib/tasks/testing.rake +139 -0
- data/lib/tasks/tmp.rake +37 -0
- data/lib/test_help.rb +38 -0
- data/lib/webrick_server.rb +156 -0
- metadata +495 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Be sure to restart your server when you modify this file
|
|
2
|
+
|
|
3
|
+
# Specifies gem version of Rails to use when vendor/rails is not present
|
|
4
|
+
<%= '# ' if freeze %>RAILS_GEM_VERSION = '<%= Rails::VERSION::STRING %>' unless defined? RAILS_GEM_VERSION
|
|
5
|
+
|
|
6
|
+
# Bootstrap the Rails environment, frameworks, and default configuration
|
|
7
|
+
require File.join(File.dirname(__FILE__), 'boot')
|
|
8
|
+
|
|
9
|
+
Rails::Initializer.run do |config|
|
|
10
|
+
# Settings in config/environments/* take precedence over those specified here.
|
|
11
|
+
# Application configuration should go into files in config/initializers
|
|
12
|
+
# -- all .rb files in that directory are automatically loaded.
|
|
13
|
+
|
|
14
|
+
# Add additional load paths for your own custom dirs
|
|
15
|
+
# config.load_paths += %W( #{RAILS_ROOT}/extras )
|
|
16
|
+
|
|
17
|
+
# Specify gems that this application depends on and have them installed with rake gems:install
|
|
18
|
+
# config.gem "bj"
|
|
19
|
+
# config.gem "hpricot", :version => '0.6', :source => "http://code.whytheluckystiff.net"
|
|
20
|
+
# config.gem "sqlite3-ruby", :lib => "sqlite3"
|
|
21
|
+
# config.gem "aws-s3", :lib => "aws/s3"
|
|
22
|
+
|
|
23
|
+
# Only load the plugins named here, in the order given (default is alphabetical).
|
|
24
|
+
# :all can be used as a placeholder for all plugins not explicitly named
|
|
25
|
+
# config.plugins = [ :exception_notification, :ssl_requirement, :all ]
|
|
26
|
+
|
|
27
|
+
# Skip frameworks you're not going to use. To use Rails without a database,
|
|
28
|
+
# you must remove the Active Record framework.
|
|
29
|
+
# config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
|
|
30
|
+
|
|
31
|
+
# Activate observers that should always be running
|
|
32
|
+
# config.active_record.observers = :cacher, :garbage_collector, :forum_observer
|
|
33
|
+
|
|
34
|
+
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
|
|
35
|
+
# Run "rake -D time" for a list of tasks for finding time zone names.
|
|
36
|
+
config.time_zone = 'UTC'
|
|
37
|
+
|
|
38
|
+
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
|
39
|
+
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}')]
|
|
40
|
+
# config.i18n.default_locale = :de
|
|
41
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Settings specified here will take precedence over those in config/environment.rb
|
|
2
|
+
|
|
3
|
+
# The production environment is meant for finished, "live" apps.
|
|
4
|
+
# Code is not reloaded between requests
|
|
5
|
+
config.cache_classes = true
|
|
6
|
+
|
|
7
|
+
# Full error reports are disabled and caching is turned on
|
|
8
|
+
config.action_controller.consider_all_requests_local = false
|
|
9
|
+
config.action_controller.perform_caching = true
|
|
10
|
+
config.action_view.cache_template_loading = true
|
|
11
|
+
|
|
12
|
+
# See everything in the log (default is :info)
|
|
13
|
+
# config.log_level = :debug
|
|
14
|
+
|
|
15
|
+
# Use a different logger for distributed setups
|
|
16
|
+
# config.logger = SyslogLogger.new
|
|
17
|
+
|
|
18
|
+
# Use a different cache store in production
|
|
19
|
+
# config.cache_store = :mem_cache_store
|
|
20
|
+
|
|
21
|
+
# Enable serving of images, stylesheets, and javascripts from an asset server
|
|
22
|
+
# config.action_controller.asset_host = "http://assets.example.com"
|
|
23
|
+
|
|
24
|
+
# Disable delivery errors, bad email addresses will be ignored
|
|
25
|
+
# config.action_mailer.raise_delivery_errors = false
|
|
26
|
+
|
|
27
|
+
# Enable threaded mode
|
|
28
|
+
# config.threadsafe!
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Settings specified here will take precedence over those in config/environment.rb
|
|
2
|
+
|
|
3
|
+
# The test environment is used exclusively to run your application's
|
|
4
|
+
# test suite. You never need to work with it otherwise. Remember that
|
|
5
|
+
# your test database is "scratch space" for the test suite and is wiped
|
|
6
|
+
# and recreated between test runs. Don't rely on the data there!
|
|
7
|
+
config.cache_classes = true
|
|
8
|
+
|
|
9
|
+
# Log error messages when you accidentally call methods on nil.
|
|
10
|
+
config.whiny_nils = true
|
|
11
|
+
|
|
12
|
+
# Show full error reports and disable caching
|
|
13
|
+
config.action_controller.consider_all_requests_local = true
|
|
14
|
+
config.action_controller.perform_caching = false
|
|
15
|
+
config.action_view.cache_template_loading = true
|
|
16
|
+
|
|
17
|
+
# Disable request forgery protection in test environment
|
|
18
|
+
config.action_controller.allow_forgery_protection = false
|
|
19
|
+
|
|
20
|
+
# Tell Action Mailer not to deliver emails to the real world.
|
|
21
|
+
# The :test delivery method accumulates sent emails in the
|
|
22
|
+
# ActionMailer::Base.deliveries array.
|
|
23
|
+
config.action_mailer.delivery_method = :test
|
|
24
|
+
|
|
25
|
+
# Use SQL instead of Active Record's schema dumper when creating the test database.
|
|
26
|
+
# This is necessary if your schema can't be completely dumped by the schema dumper,
|
|
27
|
+
# like if you have constraints or database-specific column types
|
|
28
|
+
# config.active_record.schema_format = :sql
|
data/fresh_rakefile
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Add your own tasks in files placed in lib/tasks ending in .rake,
|
|
2
|
+
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
|
|
3
|
+
|
|
4
|
+
require(File.join(File.dirname(__FILE__), 'config', 'boot'))
|
|
5
|
+
|
|
6
|
+
require 'rake'
|
|
7
|
+
require 'rake/testtask'
|
|
8
|
+
require 'rake/rdoctask'
|
|
9
|
+
|
|
10
|
+
require 'tasks/rails'
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/* Unobtrustive Code Highlighter By Dan Webb 11/2005
|
|
2
|
+
Version: 0.4
|
|
3
|
+
|
|
4
|
+
Usage:
|
|
5
|
+
Add a script tag for this script and any stylesets you need to use
|
|
6
|
+
to the page in question, add correct class names to CODE elements,
|
|
7
|
+
define CSS styles for elements. That's it!
|
|
8
|
+
|
|
9
|
+
Known to work on:
|
|
10
|
+
IE 5.5+ PC
|
|
11
|
+
Firefox/Mozilla PC/Mac
|
|
12
|
+
Opera 7.23 + PC
|
|
13
|
+
Safari 2
|
|
14
|
+
|
|
15
|
+
Known to degrade gracefully on:
|
|
16
|
+
IE5.0 PC
|
|
17
|
+
|
|
18
|
+
Note: IE5.0 fails due to the use of lookahead in some stylesets. To avoid script errors
|
|
19
|
+
in older browsers use expressions that use lookahead in string format when defining stylesets.
|
|
20
|
+
|
|
21
|
+
This script is inspired by star-light by entirely cunning Dean Edwards
|
|
22
|
+
http://dean.edwards.name/star-light/.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
// replace callback support for safari.
|
|
26
|
+
if ("a".replace(/a/, function() {return "b"}) != "b") (function(){
|
|
27
|
+
var default_replace = String.prototype.replace;
|
|
28
|
+
String.prototype.replace = function(search,replace){
|
|
29
|
+
// replace is not function
|
|
30
|
+
if(typeof replace != "function"){
|
|
31
|
+
return default_replace.apply(this,arguments)
|
|
32
|
+
}
|
|
33
|
+
var str = "" + this;
|
|
34
|
+
var callback = replace;
|
|
35
|
+
// search string is not RegExp
|
|
36
|
+
if(!(search instanceof RegExp)){
|
|
37
|
+
var idx = str.indexOf(search);
|
|
38
|
+
return (
|
|
39
|
+
idx == -1 ? str :
|
|
40
|
+
default_replace.apply(str,[search,callback(search, idx, str)])
|
|
41
|
+
)
|
|
42
|
+
}
|
|
43
|
+
var reg = search;
|
|
44
|
+
var result = [];
|
|
45
|
+
var lastidx = reg.lastIndex;
|
|
46
|
+
var re;
|
|
47
|
+
while((re = reg.exec(str)) != null){
|
|
48
|
+
var idx = re.index;
|
|
49
|
+
var args = re.concat(idx, str);
|
|
50
|
+
result.push(
|
|
51
|
+
str.slice(lastidx,idx),
|
|
52
|
+
callback.apply(null,args).toString()
|
|
53
|
+
);
|
|
54
|
+
if(!reg.global){
|
|
55
|
+
lastidx += RegExp.lastMatch.length;
|
|
56
|
+
break
|
|
57
|
+
}else{
|
|
58
|
+
lastidx = reg.lastIndex;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
result.push(str.slice(lastidx));
|
|
62
|
+
return result.join("")
|
|
63
|
+
}
|
|
64
|
+
})();
|
|
65
|
+
|
|
66
|
+
var CodeHighlighter = { styleSets : new Array };
|
|
67
|
+
|
|
68
|
+
CodeHighlighter.addStyle = function(name, rules) {
|
|
69
|
+
// using push test to disallow older browsers from adding styleSets
|
|
70
|
+
if ([].push) this.styleSets.push({
|
|
71
|
+
name : name,
|
|
72
|
+
rules : rules,
|
|
73
|
+
ignoreCase : arguments[2] || false
|
|
74
|
+
})
|
|
75
|
+
|
|
76
|
+
function setEvent() {
|
|
77
|
+
// set highlighter to run on load (use LowPro if present)
|
|
78
|
+
if (typeof Event != 'undefined' && typeof Event.onReady == 'function')
|
|
79
|
+
return Event.onReady(CodeHighlighter.init.bind(CodeHighlighter));
|
|
80
|
+
|
|
81
|
+
var old = window.onload;
|
|
82
|
+
|
|
83
|
+
if (typeof window.onload != 'function') {
|
|
84
|
+
window.onload = function() { CodeHighlighter.init() };
|
|
85
|
+
} else {
|
|
86
|
+
window.onload = function() {
|
|
87
|
+
old();
|
|
88
|
+
CodeHighlighter.init();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// only set the event when the first style is added
|
|
94
|
+
if (this.styleSets.length==1) setEvent();
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
CodeHighlighter.init = function() {
|
|
98
|
+
if (!document.getElementsByTagName) return;
|
|
99
|
+
if ("a".replace(/a/, function() {return "b"}) != "b") return; // throw out Safari versions that don't support replace function
|
|
100
|
+
// throw out older browsers
|
|
101
|
+
|
|
102
|
+
var codeEls = document.getElementsByTagName("CODE");
|
|
103
|
+
// collect array of all pre elements
|
|
104
|
+
codeEls.filter = function(f) {
|
|
105
|
+
var a = new Array;
|
|
106
|
+
for (var i = 0; i < this.length; i++) if (f(this[i])) a[a.length] = this[i];
|
|
107
|
+
return a;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
var rules = new Array;
|
|
111
|
+
rules.toString = function() {
|
|
112
|
+
// joins regexes into one big parallel regex
|
|
113
|
+
var exps = new Array;
|
|
114
|
+
for (var i = 0; i < this.length; i++) exps.push(this[i].exp);
|
|
115
|
+
return exps.join("|");
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
function addRule(className, rule) {
|
|
119
|
+
// add a replace rule
|
|
120
|
+
var exp = (typeof rule.exp != "string")?String(rule.exp).substr(1, String(rule.exp).length-2):rule.exp;
|
|
121
|
+
// converts regex rules to strings and chops of the slashes
|
|
122
|
+
rules.push({
|
|
123
|
+
className : className,
|
|
124
|
+
exp : "(" + exp + ")",
|
|
125
|
+
length : (exp.match(/(^|[^\\])\([^?]/g) || "").length + 1, // number of subexps in rule
|
|
126
|
+
replacement : rule.replacement || null
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
function parse(text, ignoreCase) {
|
|
131
|
+
// main text parsing and replacement
|
|
132
|
+
return text.replace(new RegExp(rules, (ignoreCase)?"gi":"g"), function() {
|
|
133
|
+
var i = 0, j = 1, rule;
|
|
134
|
+
while (rule = rules[i++]) {
|
|
135
|
+
if (arguments[j]) {
|
|
136
|
+
// if no custom replacement defined do the simple replacement
|
|
137
|
+
if (!rule.replacement) return "<span class=\"" + rule.className + "\">" + arguments[0] + "</span>";
|
|
138
|
+
else {
|
|
139
|
+
// replace $0 with the className then do normal replaces
|
|
140
|
+
var str = rule.replacement.replace("$0", rule.className);
|
|
141
|
+
for (var k = 1; k <= rule.length - 1; k++) str = str.replace("$" + k, arguments[j + k]);
|
|
142
|
+
return str;
|
|
143
|
+
}
|
|
144
|
+
} else j+= rule.length;
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
function highlightCode(styleSet) {
|
|
150
|
+
// clear rules array
|
|
151
|
+
var parsed, clsRx = new RegExp("(\\s|^)" + styleSet.name + "(\\s|$)");
|
|
152
|
+
rules.length = 0;
|
|
153
|
+
|
|
154
|
+
// get stylable elements by filtering out all code elements without the correct className
|
|
155
|
+
var stylableEls = codeEls.filter(function(item) { return clsRx.test(item.className) });
|
|
156
|
+
|
|
157
|
+
// add style rules to parser
|
|
158
|
+
for (var className in styleSet.rules) addRule(className, styleSet.rules[className]);
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
// replace for all elements
|
|
162
|
+
for (var i = 0; i < stylableEls.length; i++) {
|
|
163
|
+
// EVIL hack to fix IE whitespace badness if it's inside a <pre>
|
|
164
|
+
if (/MSIE/.test(navigator.appVersion) && stylableEls[i].parentNode.nodeName == 'PRE') {
|
|
165
|
+
stylableEls[i] = stylableEls[i].parentNode;
|
|
166
|
+
|
|
167
|
+
parsed = stylableEls[i].innerHTML.replace(/(<code[^>]*>)([^<]*)<\/code>/i, function() {
|
|
168
|
+
return arguments[1] + parse(arguments[2], styleSet.ignoreCase) + "</code>"
|
|
169
|
+
});
|
|
170
|
+
parsed = parsed.replace(/\n( *)/g, function() {
|
|
171
|
+
var spaces = "";
|
|
172
|
+
for (var i = 0; i < arguments[1].length; i++) spaces+= " ";
|
|
173
|
+
return "\n" + spaces;
|
|
174
|
+
});
|
|
175
|
+
parsed = parsed.replace(/\t/g, " ");
|
|
176
|
+
parsed = parsed.replace(/\n(<\/\w+>)?/g, "<br />$1").replace(/<br \/>[\n\r\s]*<br \/>/g, "<p><br></p>");
|
|
177
|
+
|
|
178
|
+
} else parsed = parse(stylableEls[i].innerHTML, styleSet.ignoreCase);
|
|
179
|
+
|
|
180
|
+
stylableEls[i].innerHTML = parsed;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
// run highlighter on all stylesets
|
|
185
|
+
for (var i=0; i < this.styleSets.length; i++) {
|
|
186
|
+
highlightCode(this.styleSets[i]);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
CodeHighlighter.addStyle("css", {
|
|
2
|
+
comment : {
|
|
3
|
+
exp : /\/\*[^*]*\*+([^\/][^*]*\*+)*\//
|
|
4
|
+
},
|
|
5
|
+
keywords : {
|
|
6
|
+
exp : /@\w[\w\s]*/
|
|
7
|
+
},
|
|
8
|
+
selectors : {
|
|
9
|
+
exp : "([\\w-:\\[.#][^{};>]*)(?={)"
|
|
10
|
+
},
|
|
11
|
+
properties : {
|
|
12
|
+
exp : "([\\w-]+)(?=\\s*:)"
|
|
13
|
+
},
|
|
14
|
+
units : {
|
|
15
|
+
exp : /([0-9])(em|en|px|%|pt)\b/,
|
|
16
|
+
replacement : "$1<span class=\"$0\">$2</span>"
|
|
17
|
+
},
|
|
18
|
+
urls : {
|
|
19
|
+
exp : /url\([^\)]*\)/
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
CodeHighlighter.addStyle("ruby",{
|
|
24
|
+
comment : {
|
|
25
|
+
exp : /#[^\n]+/
|
|
26
|
+
},
|
|
27
|
+
brackets : {
|
|
28
|
+
exp : /\(|\)/
|
|
29
|
+
},
|
|
30
|
+
string : {
|
|
31
|
+
exp : /'[^']*'|"[^"]*"/
|
|
32
|
+
},
|
|
33
|
+
keywords : {
|
|
34
|
+
exp : /\b(do|end|self|class|def|if|module|yield|then|else|for|until|unless|while|elsif|case|when|break|retry|redo|rescue|require|raise)\b/
|
|
35
|
+
},
|
|
36
|
+
/* Added by Shelly Fisher (shelly@agileevolved.com) */
|
|
37
|
+
symbol : {
|
|
38
|
+
exp : /([^:])(:[A-Za-z0-9_!?]+)/
|
|
39
|
+
},
|
|
40
|
+
ivar : {
|
|
41
|
+
exp : /\@[A-Za-z0-9_!?]+/
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
CodeHighlighter.addStyle("html", {
|
|
46
|
+
comment : {
|
|
47
|
+
exp: /<!\s*(--([^-]|[\r\n]|-[^-])*--\s*)>/
|
|
48
|
+
},
|
|
49
|
+
tag : {
|
|
50
|
+
exp: /(<\/?)([a-zA-Z1-9]+\s?)/,
|
|
51
|
+
replacement: "$1<span class=\"$0\">$2</span>"
|
|
52
|
+
},
|
|
53
|
+
string : {
|
|
54
|
+
exp : /'[^']*'|"[^"]*"/
|
|
55
|
+
},
|
|
56
|
+
attribute : {
|
|
57
|
+
exp: /\b([a-zA-Z-:]+)(=)/,
|
|
58
|
+
replacement: "<span class=\"$0\">$1</span>$2"
|
|
59
|
+
},
|
|
60
|
+
doctype : {
|
|
61
|
+
exp: /<!DOCTYPE([^&]|&[^g]|&g[^t])*>/
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
CodeHighlighter.addStyle("javascript",{
|
|
66
|
+
comment : {
|
|
67
|
+
exp : /(\/\/[^\n]*(\n|$))|(\/\*[^*]*\*+([^\/][^*]*\*+)*\/)/
|
|
68
|
+
},
|
|
69
|
+
brackets : {
|
|
70
|
+
exp : /\(|\)/
|
|
71
|
+
},
|
|
72
|
+
string : {
|
|
73
|
+
exp : /'[^']*'|"[^"]*"/
|
|
74
|
+
},
|
|
75
|
+
keywords : {
|
|
76
|
+
exp : /\b(arguments|break|case|continue|default|delete|do|else|false|for|function|if|in|instanceof|new|null|return|switch|this|true|typeof|var|void|while|with)\b/
|
|
77
|
+
},
|
|
78
|
+
global : {
|
|
79
|
+
exp : /\b(toString|valueOf|window|element|prototype|constructor|document|escape|unescape|parseInt|parseFloat|setTimeout|clearTimeout|setInterval|clearInterval|NaN|isNaN|Infinity)\b/
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
CodeHighlighter.addStyle("yaml", {
|
|
84
|
+
keyword : {
|
|
85
|
+
exp : /\/\*[^*]*\*+([^\/][^*]*\*+)*\//
|
|
86
|
+
},
|
|
87
|
+
value : {
|
|
88
|
+
exp : /@\w[\w\s]*/
|
|
89
|
+
},
|
|
90
|
+
});
|
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
/* Guides.rubyonrails.org */
|
|
2
|
+
/* Main.css */
|
|
3
|
+
/* Created January 30, 2009 */
|
|
4
|
+
/* Modified February 8, 2009
|
|
5
|
+
--------------------------------------- */
|
|
6
|
+
|
|
7
|
+
/* General
|
|
8
|
+
--------------------------------------- */
|
|
9
|
+
|
|
10
|
+
.left {float: left; margin-right: 1em;}
|
|
11
|
+
.right {float: right; margin-left: 1em;}
|
|
12
|
+
.small {font-size: smaller;}
|
|
13
|
+
.large {font-size: larger;}
|
|
14
|
+
.hide {display: none;}
|
|
15
|
+
|
|
16
|
+
li ul, li ol { margin:0 1.5em; }
|
|
17
|
+
ul, ol { margin: 0 1.5em 1.5em 1.5em; }
|
|
18
|
+
|
|
19
|
+
ul { list-style-type: disc; }
|
|
20
|
+
ol { list-style-type: decimal; }
|
|
21
|
+
|
|
22
|
+
dl { margin: 0 0 1.5em 0; }
|
|
23
|
+
dl dt { font-weight: bold; }
|
|
24
|
+
dd { margin-left: 1.5em;}
|
|
25
|
+
|
|
26
|
+
pre,code { margin: 1.5em 0; white-space: pre; overflow: auto; }
|
|
27
|
+
pre,code,tt { font: 1em 'andale mono', 'lucida console', monospace; line-height: 1.5; }
|
|
28
|
+
|
|
29
|
+
abbr, acronym { border-bottom: 1px dotted #666; }
|
|
30
|
+
address { margin: 0 0 1.5em; font-style: italic; }
|
|
31
|
+
del { color:#666; }
|
|
32
|
+
|
|
33
|
+
blockquote { margin: 1.5em; color: #666; font-style: italic; }
|
|
34
|
+
strong { font-weight: bold; }
|
|
35
|
+
em, dfn { font-style: italic; }
|
|
36
|
+
dfn { font-weight: bold; }
|
|
37
|
+
sup, sub { line-height: 0; }
|
|
38
|
+
p {margin: 0 0 1.5em;}
|
|
39
|
+
|
|
40
|
+
label { font-weight: bold; }
|
|
41
|
+
fieldset { padding:1.4em; margin: 0 0 1.5em 0; border: 1px solid #ccc; }
|
|
42
|
+
legend { font-weight: bold; font-size:1.2em; }
|
|
43
|
+
|
|
44
|
+
input.text, input.title,
|
|
45
|
+
textarea, select {
|
|
46
|
+
margin:0.5em 0;
|
|
47
|
+
border:1px solid #bbb;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
table {
|
|
51
|
+
margin: 0 0 1.5em;
|
|
52
|
+
border: 2px solid #CCC;
|
|
53
|
+
background: #FFF;
|
|
54
|
+
border-collapse: collapse;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
table th, table td {
|
|
58
|
+
padding: 0.25em 1em;
|
|
59
|
+
border: 1px solid #CCC;
|
|
60
|
+
border-collapse: collapse;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
table th {
|
|
64
|
+
border-bottom: 2px solid #CCC;
|
|
65
|
+
background: #EEE;
|
|
66
|
+
font-weight: bold;
|
|
67
|
+
padding: 0.5em 1em;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
/* Structure and Layout
|
|
72
|
+
--------------------------------------- */
|
|
73
|
+
|
|
74
|
+
body {
|
|
75
|
+
text-align: center;
|
|
76
|
+
font-family: Helvetica, Arial, sans-serif;
|
|
77
|
+
font-size: 87.5%;
|
|
78
|
+
line-height: 1.5em;
|
|
79
|
+
background: #222;
|
|
80
|
+
color: #999;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.wrapper {
|
|
84
|
+
text-align: left;
|
|
85
|
+
margin: 0 auto;
|
|
86
|
+
width: 69em;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
#topNav {
|
|
90
|
+
padding: 1em 0;
|
|
91
|
+
color: #565656;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
#header {
|
|
95
|
+
background: #c52f24 url(../../images/header_tile.gif) repeat-x;
|
|
96
|
+
color: #FFF;
|
|
97
|
+
padding: 1.5em 0;
|
|
98
|
+
position: relative;
|
|
99
|
+
z-index: 99;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
#feature {
|
|
103
|
+
background: #d5e9f6 url(../../images/feature_tile.gif) repeat-x;
|
|
104
|
+
color: #333;
|
|
105
|
+
padding: 0.5em 0 1.5em;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
#container {
|
|
109
|
+
background: #FFF;
|
|
110
|
+
color: #333;
|
|
111
|
+
padding: 0.5em 0 1.5em 0;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
#mainCol {
|
|
115
|
+
width: 45em;
|
|
116
|
+
margin-left: 2em;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
#subCol {
|
|
120
|
+
position: absolute;
|
|
121
|
+
z-index: 0;
|
|
122
|
+
top: 0;
|
|
123
|
+
right: 0;
|
|
124
|
+
background: #FFF;
|
|
125
|
+
padding: 1em 1.5em 1em 1.25em;
|
|
126
|
+
width: 17em;
|
|
127
|
+
font-size: 0.9285em;
|
|
128
|
+
line-height: 1.3846em;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
#extraCol {display: none;}
|
|
132
|
+
|
|
133
|
+
#footer {
|
|
134
|
+
padding: 2em 0;
|
|
135
|
+
background: url(../../images/footer_tile.gif) repeat-x;
|
|
136
|
+
}
|
|
137
|
+
#footer .wrapper {
|
|
138
|
+
padding-left: 2em;
|
|
139
|
+
width: 67em;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
#header .wrapper, #topNav .wrapper, #feature .wrapper {padding-left: 1em; width: 68em;}
|
|
143
|
+
#feature .wrapper {width: 45em; padding-right: 23em; position: relative; z-index: 0;}
|
|
144
|
+
|
|
145
|
+
/* Links
|
|
146
|
+
--------------------------------------- */
|
|
147
|
+
|
|
148
|
+
a, a:link, a:visited {
|
|
149
|
+
color: #ee3f3f;
|
|
150
|
+
text-decoration: underline;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
#mainCol a, #subCol a, #feature a {color: #980905;}
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
/* Navigation
|
|
157
|
+
--------------------------------------- */
|
|
158
|
+
|
|
159
|
+
.nav {margin: 0; padding: 0;}
|
|
160
|
+
.nav li {display: inline; list-style: none;}
|
|
161
|
+
|
|
162
|
+
#header .nav {
|
|
163
|
+
float: right;
|
|
164
|
+
margin-top: 1.5em;
|
|
165
|
+
font-size: 1.2857em;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
#header .nav li {margin: 0 0 0 0.5em;}
|
|
169
|
+
#header .nav a {color: #FFF; text-decoration: none;}
|
|
170
|
+
#header .nav a:hover {text-decoration: underline;}
|
|
171
|
+
|
|
172
|
+
#header .nav .index {
|
|
173
|
+
padding: 0.5em 1.5em;
|
|
174
|
+
border-radius: 1em;
|
|
175
|
+
-webkit-border-radius: 1em;
|
|
176
|
+
-moz-border-radius: 1em;
|
|
177
|
+
background: #980905;
|
|
178
|
+
position: relative;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
#header .nav .index a {
|
|
182
|
+
background: #980905 url(../../images/nav_arrow.gif) no-repeat right top;
|
|
183
|
+
padding-right: 1em;
|
|
184
|
+
position: relative;
|
|
185
|
+
z-index: 15;
|
|
186
|
+
padding-bottom: 0.125em;
|
|
187
|
+
}
|
|
188
|
+
#header .nav .index:hover a, #header .nav .index a:hover {background-position: right -81px;}
|
|
189
|
+
|
|
190
|
+
#guides {
|
|
191
|
+
width: 27em;
|
|
192
|
+
display: block;
|
|
193
|
+
background: #980905;
|
|
194
|
+
border-radius: 1em;
|
|
195
|
+
-webkit-border-radius: 1em;
|
|
196
|
+
-moz-border-radius: 1em;
|
|
197
|
+
-webkit-box-shadow: 0.25em 0.25em 1em rgba(0,0,0,0.25);
|
|
198
|
+
-moz-box-shadow: rgba(0,0,0,0.25) 0.25em 0.25em 1em;
|
|
199
|
+
color: #f1938c;
|
|
200
|
+
padding: 1.5em 2em;
|
|
201
|
+
position: absolute;
|
|
202
|
+
z-index: 10;
|
|
203
|
+
top: -0.25em;
|
|
204
|
+
right: 0;
|
|
205
|
+
padding-top: 2em;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
#guides dt, #guides dd {
|
|
209
|
+
font-weight: normal;
|
|
210
|
+
font-size: 0.722em;
|
|
211
|
+
margin: 0;
|
|
212
|
+
padding: 0;
|
|
213
|
+
}
|
|
214
|
+
#guides dt {padding:0; margin: 0.5em 0 0;}
|
|
215
|
+
#guides a {color: #FFF; background: none !important;}
|
|
216
|
+
#guides .L, #guides .R {float: left; width: 50%; margin: 0; padding: 0;}
|
|
217
|
+
#guides .R {float: right;}
|
|
218
|
+
#guides hr {
|
|
219
|
+
display: block;
|
|
220
|
+
border: none;
|
|
221
|
+
height: 1px;
|
|
222
|
+
color: #f1938c;
|
|
223
|
+
background: #f1938c;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/* Headings
|
|
227
|
+
--------------------------------------- */
|
|
228
|
+
|
|
229
|
+
h1 {
|
|
230
|
+
font-size: 2.5em;
|
|
231
|
+
line-height: 1em;
|
|
232
|
+
margin: 0.6em 0 .2em;
|
|
233
|
+
font-weight: bold;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
h2 {
|
|
237
|
+
font-size: 2.1428em;
|
|
238
|
+
line-height: 1em;
|
|
239
|
+
margin: 0.7em 0 .2333em;
|
|
240
|
+
font-weight: bold;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
h3 {
|
|
244
|
+
font-size: 1.7142em;
|
|
245
|
+
line-height: 1.286em;
|
|
246
|
+
margin: 0.875em 0 0.2916em;
|
|
247
|
+
font-weight: bold;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
h4 {
|
|
251
|
+
font-size: 1.2857em;
|
|
252
|
+
line-height: 1.2em;
|
|
253
|
+
margin: 1.6667em 0 .3887em;
|
|
254
|
+
font-weight: bold;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
h5 {
|
|
258
|
+
font-size: 1em;
|
|
259
|
+
line-height: 1.5em;
|
|
260
|
+
margin: 1em 0 .5em;
|
|
261
|
+
font-weight: bold;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
h6 {
|
|
265
|
+
font-size: 1em;
|
|
266
|
+
line-height: 1.5em;
|
|
267
|
+
margin: 1em 0 .5em;
|
|
268
|
+
font-weight: normal;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
.section {
|
|
272
|
+
padding-bottom: 0.25em;
|
|
273
|
+
border-bottom: 1px solid #999;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
/* Content
|
|
277
|
+
--------------------------------------- */
|
|
278
|
+
|
|
279
|
+
.pic {
|
|
280
|
+
margin: 0 2em 2em 0;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
#topNav strong {color: #999; margin-right: 0.5em;}
|
|
284
|
+
#topNav strong a {color: #FFF;}
|
|
285
|
+
|
|
286
|
+
#header h1 {
|
|
287
|
+
float: left;
|
|
288
|
+
background: url(../../images/rails_guides_logo.gif) no-repeat;
|
|
289
|
+
width: 297px;
|
|
290
|
+
text-indent: -9999em;
|
|
291
|
+
margin: 0;
|
|
292
|
+
padding: 0;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
#header h1 a {
|
|
296
|
+
text-decoration: none;
|
|
297
|
+
display: block;
|
|
298
|
+
height: 77px;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
#feature p {
|
|
302
|
+
font-size: 1.2857em;
|
|
303
|
+
margin-bottom: 0.75em;
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
#feature ul {margin-left: 0;}
|
|
307
|
+
#feature ul li {
|
|
308
|
+
list-style: none;
|
|
309
|
+
background: url(../../images/check_bullet.gif) no-repeat left 0.5em;
|
|
310
|
+
padding: 0.5em 1.75em 0.5em 1.75em;
|
|
311
|
+
font-size: 1.1428em;
|
|
312
|
+
font-weight: bold;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
#mainCol dd, #subCol dd {
|
|
316
|
+
padding: 0.25em 0 1em;
|
|
317
|
+
border-bottom: 1px solid #CCC;
|
|
318
|
+
margin-bottom: 1em;
|
|
319
|
+
margin-left: 0;
|
|
320
|
+
/*padding-left: 28px;*/
|
|
321
|
+
padding-left: 0;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
#mainCol dt, #subCol dt {
|
|
325
|
+
font-size: 1.2857em;
|
|
326
|
+
padding: 0.125em 0 0.25em 0;
|
|
327
|
+
margin-bottom: 0;
|
|
328
|
+
/*background: url(../../images/book_icon.gif) no-repeat left top;
|
|
329
|
+
padding: 0.125em 0 0.25em 28px;*/
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
#mainCol dd.ticket, #subCol dd.ticket {
|
|
333
|
+
background: #fff9d8 url(../../images/tab_yellow.gif) no-repeat left top;
|
|
334
|
+
border: none;
|
|
335
|
+
padding: 1.25em 1em 1.25em 48px;
|
|
336
|
+
margin-left: 0;
|
|
337
|
+
margin-top: 0.25em;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
#mainCol div.warning, #subCol dd.warning {
|
|
341
|
+
background: #f9d9d8 url(../../images/tab_red.gif) no-repeat left top;
|
|
342
|
+
border: none;
|
|
343
|
+
padding: 1.25em 1.25em 1.25em 48px;
|
|
344
|
+
margin-left: 0;
|
|
345
|
+
margin-top: 0.25em;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
#subCol .chapters {color: #980905;}
|
|
349
|
+
#subCol .chapters a {font-weight: bold;}
|
|
350
|
+
#subCol .chapters ul a {font-weight: normal;}
|
|
351
|
+
#subCol .chapters li {margin-bottom: 0.75em;}
|
|
352
|
+
#subCol h3.chapter {margin-top: 0.25em;}
|
|
353
|
+
#subCol h3.chapter img {vertical-align: text-bottom;}
|
|
354
|
+
#subCol .chapters ul {margin-left: 0; margin-top: 0.5em;}
|
|
355
|
+
#subCol .chapters ul li {
|
|
356
|
+
list-style: none;
|
|
357
|
+
padding: 0 0 0 1em;
|
|
358
|
+
background: url(../../images/bullet.gif) no-repeat left 0.45em;
|
|
359
|
+
margin-left: 0;
|
|
360
|
+
font-size: 1em;
|
|
361
|
+
font-weight: normal;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
tt {
|
|
365
|
+
font-family: monaco, "Bitstream Vera Sans Mono", "Courier New", courier, monospace;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
div.code_container {
|
|
369
|
+
background: #EEE url(../../images/tab_grey.gif) no-repeat left top;
|
|
370
|
+
padding: 0.25em 1em 0.5em 48px;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
code {
|
|
374
|
+
font-family: monaco, "Bitstream Vera Sans Mono", "Courier New", courier, monospace;
|
|
375
|
+
border: none;
|
|
376
|
+
margin: 0.25em 0 1.5em 0;
|
|
377
|
+
display: block;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
.note {
|
|
381
|
+
background: #fff9d8 url(../../images/tab_note.gif) no-repeat left top;
|
|
382
|
+
border: none;
|
|
383
|
+
padding: 1em 1em 0.25em 48px;
|
|
384
|
+
margin: 0.25em 0 1.5em 0;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
.info {
|
|
388
|
+
background: #d5e9f6 url(../../images/tab_info.gif) no-repeat left top;
|
|
389
|
+
border: none;
|
|
390
|
+
padding: 1em 1em 0.25em 48px;
|
|
391
|
+
margin: 0.25em 0 1.5em 0;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
.note tt, .info tt {border:none; background: none; padding: 0;}
|
|
395
|
+
|
|
396
|
+
#mainCol ul li {
|
|
397
|
+
list-style:none;
|
|
398
|
+
background: url(../../images/grey_bullet.gif) no-repeat left 0.5em;
|
|
399
|
+
padding-left: 1em;
|
|
400
|
+
margin-left: 0;
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
#subCol .content {
|
|
404
|
+
font-size: 0.7857em;
|
|
405
|
+
line-height: 1.5em;
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
#subCol .content li {
|
|
409
|
+
font-weight: normal;
|
|
410
|
+
background: none;
|
|
411
|
+
padding: 0 0 1em;
|
|
412
|
+
font-size: 1.1667em;
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
/* Clearing
|
|
416
|
+
--------------------------------------- */
|
|
417
|
+
|
|
418
|
+
.clearfix:after {
|
|
419
|
+
content: ".";
|
|
420
|
+
display: block;
|
|
421
|
+
height: 0;
|
|
422
|
+
clear: both;
|
|
423
|
+
visibility: hidden;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
.clearfix {display: inline-block;}
|
|
427
|
+
* html .clearfix {height: 1%;}
|
|
428
|
+
.clearfix {display: block;}
|
|
429
|
+
.clear { clear:both; }
|
|
430
|
+
|
|
431
|
+
/* Same bottom margin for special boxes than for regular paragraphs, this way
|
|
432
|
+
intermediate whitespace looks uniform. */
|
|
433
|
+
div.code_container, div.important, div.caution, div.warning, div.note, div.info {
|
|
434
|
+
margin-bottom: 1.5em;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
/* Remove bottom margin of paragraphs in special boxes, otherwise they get a
|
|
438
|
+
spurious blank area below with the box background. */
|
|
439
|
+
div.important p, div.caution p, div.warning p, div.note p, div.info p {
|
|
440
|
+
margin-bottom: 0px;
|
|
441
|
+
}
|