module LabClient::Docs
Shared Methods
Public Class Methods
docs()
click to toggle source
# File lib/labclient/docs.rb, line 13 def self.docs @docs end
json()
click to toggle source
# File lib/labclient/docs.rb, line 9 def self.json @docs.to_json end
Public Instance Methods
demo(value)
click to toggle source
# File lib/labclient/docs.rb, line 56 def demo(value) @result[:demo_url] = "https://asciinema.org/a/#{value}.js" @result[:demo] = "<script id='asciicast-#{value}' src='#{@result[:demo_url]}' data-autoplay='true' data-loop='true' async></script>" end
desc(value)
click to toggle source
# File lib/labclient/docs.rb, line 52 def desc(value) @result[:desc] = value end
doc(subgroup) { || ... }
click to toggle source
# File lib/labclient/docs.rb, line 99 def doc(subgroup) @result = {} yield # Turn Class name into friendly name. Split multiple words @group = group_name # Docs Navigation Helper navigation(subgroup) # @result[:name] = name Docs.docs[@group] ||= {} Docs.docs[@group][subgroup] ||= [] Docs.docs[@group][subgroup].push @result end
example(value)
click to toggle source
# File lib/labclient/docs.rb, line 61 def example(value) @result[:example] = value end
group_name()
click to toggle source
Allow for Custom Group
Name Overrides Ruby warning of uninitialized variables
# File lib/labclient/docs.rb, line 76 def group_name if defined? @group_name @group_name else name.split('::', 2).last.split(/(?=[A-Z])/).join(' ') end end
help(&block)
click to toggle source
Klass
Helper
# File lib/labclient/docs.rb, line 29 def help(&block) # require 'active_support/inflector' @group_name ||= group_name.pluralize doc 'Reference' do block.call end end
markdown(value)
click to toggle source
# File lib/labclient/docs.rb, line 47 def markdown(value) require 'kramdown' unless defined? Kramdown @result[:markdown] = Kramdown::Document.new(value).to_html end
option(name, text)
click to toggle source
# File lib/labclient/docs.rb, line 69 def option(name, text) @result[:options] ||= [] @result[:options].push(name: name, text: text) end
result(value)
click to toggle source
# File lib/labclient/docs.rb, line 65 def result(value) @result[:result] = value end
subtitle(value)
click to toggle source
# File lib/labclient/docs.rb, line 43 def subtitle(value) @result[:subtitle] = value end
title(value)
click to toggle source
DSL Helpers
# File lib/labclient/docs.rb, line 39 def title(value) @result[:title] = value end