class Fdoc::MetaServicePresenter
BasePresenter for Fdoc::MetaService
Attributes
meta_service[R]
Public Class Methods
new(meta_service, options = {})
click to toggle source
Calls superclass method
Fdoc::BasePresenter::new
# File lib/fdoc/presenters/meta_service_presenter.rb, line 8 def initialize(meta_service, options = {}) super(options) @meta_service = meta_service end
Public Instance Methods
description(options = {:render => true})
click to toggle source
# File lib/fdoc/presenters/meta_service_presenter.rb, line 52 def description(options = {:render => true}) options[:render] ? render_markdown(meta_service.description) : meta_service.description end
discussion(options = {:render => true})
click to toggle source
# File lib/fdoc/presenters/meta_service_presenter.rb, line 56 def discussion(options = {:render => true}) options[:render] ? render_markdown(meta_service.discussion) : meta_service.discussion end
endpoints()
click to toggle source
# File lib/fdoc/presenters/meta_service_presenter.rb, line 33 def endpoints if !@endpoints @endpoints = [] prefix = nil ungrouped_endpoints.each do |endpoint| presenter = presenter_from_endpoint(endpoint) current_prefix = presenter.prefix @endpoints << [] if prefix != current_prefix @endpoints.last << presenter prefix = current_prefix end end @endpoints end
name()
click to toggle source
# File lib/fdoc/presenters/meta_service_presenter.rb, line 13 def name meta_service.name end
relative_service_path(service_presenter, file_name = nil)
click to toggle source
# File lib/fdoc/presenters/meta_service_presenter.rb, line 60 def relative_service_path(service_presenter, file_name = nil) service_path = service_presenter.slug_name if file_name service_path = File.join(service_path, file_name) end service_path end
services()
click to toggle source
# File lib/fdoc/presenters/meta_service_presenter.rb, line 25 def services @services ||= meta_service.services. sort_by(&:name). map do |service| Fdoc::ServicePresenter.new(service, options) end end
to_html()
click to toggle source
# File lib/fdoc/presenters/meta_service_presenter.rb, line 17 def to_html render_erb('meta_service.html.erb') end
to_markdown()
click to toggle source
# File lib/fdoc/presenters/meta_service_presenter.rb, line 21 def to_markdown render_erb('meta_service.md.erb') end
Private Instance Methods
presenter_from_endpoint(endpoint)
click to toggle source
# File lib/fdoc/presenters/meta_service_presenter.rb, line 77 def presenter_from_endpoint(endpoint) service_presenter = Fdoc::ServicePresenter.new(endpoint.service) presenter = Fdoc::EndpointPresenter.new(endpoint, options.merge(:prefix => (service_presenter.slug_name + "/"))) presenter.service_presenter = service_presenter presenter end
ungrouped_endpoints()
click to toggle source
# File lib/fdoc/presenters/meta_service_presenter.rb, line 70 def ungrouped_endpoints meta_service.services. map(&:endpoints). flatten. sort_by(&:endpoint_path) end