1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/guides/rails_guides/helpers.rb
Yves Senn 67d4dc2bdb rails_guides/helpers.rb requires YAML to run.
Resolve the following error when running `bundle exec rake guides:generate:html`:

```
/Users/senny/.rbenv/versions/2.0.0-p353/bin/ruby rails_guides.rb
Generating 2_2_release_notes.md as 2_2_release_notes.html
/Users/senny/Projects/rails/guides/rails_guides/helpers.rb:17:in `documents_by_section': uninitialized constant RailsGuides::Helpers::YAML (ActionView::Template::Error)
	from /Users/senny/Projects/rails/guides/rails_guides/helpers.rb:32:in `docs_for_menu'
	from /Users/senny/Projects/rails/guides/source/layout.html.erb:56:in `block in ___sers_senny__rojects_rails_guides_source_layout_html_erb___3094858039481335962_70118647133480'
	from /Users/senny/Projects/rails/guides/source/layout.html.erb:54:in `each'
	from /Users/senny/Projects/rails/guides/source/layout.html.erb:54:in `___sers_senny__rojects_rails_guides_source_layout_html_erb___3094858039481335962_70118647133480'
	from /Users/senny/Projects/rails/actionview/lib/action_view/template.rb:143:in `block in render'
	from /Users/senny/Projects/rails/activesupport/lib/active_support/notifications.rb:161:in `instrument'
	from /Users/senny/Projects/rails/actionview/lib/action_view/template.rb:337:in `instrument'
	from /Users/senny/Projects/rails/actionview/lib/action_view/template.rb:141:in `render'
	from /Users/senny/Projects/rails/actionview/lib/action_view/renderer/template_renderer.rb:61:in `render_with_layout'
	from /Users/senny/Projects/rails/actionview/lib/action_view/renderer/template_renderer.rb:47:in `render_template'
	from /Users/senny/Projects/rails/actionview/lib/action_view/renderer/template_renderer.rb:17:in `render'
	from /Users/senny/Projects/rails/actionview/lib/action_view/renderer/renderer.rb:42:in `render_template'
	from /Users/senny/Projects/rails/actionview/lib/action_view/renderer/renderer.rb:23:in `render'
	from /Users/senny/Projects/rails/actionview/lib/action_view/helpers/rendering_helper.rb:24:in `render'
	from /Users/senny/Projects/rails/guides/rails_guides/markdown.rb:160:in `render_page'
	from /Users/senny/Projects/rails/guides/rails_guides/markdown.rb:25:in `render'
	from /Users/senny/Projects/rails/guides/rails_guides/generator.rb:205:in `block in generate_guide'
	from /Users/senny/Projects/rails/guides/rails_guides/generator.rb:195:in `open'
	from /Users/senny/Projects/rails/guides/rails_guides/generator.rb:195:in `generate_guide'
	from /Users/senny/Projects/rails/guides/rails_guides/generator.rb:144:in `block in generate_guides'
	from /Users/senny/Projects/rails/guides/rails_guides/generator.rb:142:in `each'
	from /Users/senny/Projects/rails/guides/rails_guides/generator.rb:142:in `generate_guides'
	from /Users/senny/Projects/rails/guides/rails_guides/generator.rb:97:in `generate'
	from rails_guides.rb:63:in `<main>'
rake aborted!
Command failed with status (1): [/Users/senny/.rbenv/versions/2.0.0-p353/bi...]
/Users/senny/Projects/rails/guides/Rakefile:11:in `block (3 levels) in <top (required)>'
Tasks: TOP => guides:generate:html
(See full trace by running task with --trace)
```
2014-02-03 12:01:32 +01:00

53 lines
1.4 KiB
Ruby

require 'yaml'
module RailsGuides
module Helpers
def guide(name, url, options = {}, &block)
link = content_tag(:a, :href => url) { name }
result = content_tag(:dt, link)
if options[:work_in_progress]
result << content_tag(:dd, 'Work in progress', :class => 'work-in-progress')
end
result << content_tag(:dd, capture(&block))
result
end
def documents_by_section
@documents_by_section ||= YAML.load_file(File.expand_path('../../source/documents.yaml', __FILE__))
end
def documents_flat
documents_by_section.flat_map {|section| section['documents']}
end
def finished_documents(documents)
documents.reject { |document| document['work_in_progress'] }
end
def docs_for_menu(position=nil)
if position.nil?
documents_by_section
elsif position == 'L'
documents_by_section.to(3)
else
documents_by_section.from(4)
end
end
def author(name, nick, image = 'credits_pic_blank.gif', &block)
image = "images/#{image}"
result = content_tag(:img, nil, :src => image, :class => 'left pic', :alt => name, :width => 91, :height => 91)
result << content_tag(:h3, name)
result << content_tag(:p, capture(&block))
content_tag(:div, result, :class => 'clearfix', :id => nick)
end
def code(&block)
c = capture(&block)
content_tag(:code, c)
end
end
end