class Tutorial::Metadata
Attributes
file_loader[R]
name[R]
Public Class Methods
new(name:)
click to toggle source
# File lib/nexmo_developer/app/models/tutorial/metadata.rb, line 6 def initialize(name:) @name = name @file_loader = load_file! end
Public Instance Methods
available_code_languages()
click to toggle source
# File lib/nexmo_developer/app/models/tutorial/metadata.rb, line 27 def available_code_languages @available_code_languages ||= begin Nexmo::Markdown::DocFinder .code_languages_for_tutorial(path: path.sub('.yml', '/')) .map { |file_path| File.basename(Pathname.new(file_path).basename, '.yml') } .sort_by { |l| Nexmo::Markdown::CodeLanguage.find(l).weight } end end
code_language()
click to toggle source
# File lib/nexmo_developer/app/models/tutorial/metadata.rb, line 36 def code_language @code_language ||= begin available_code_languages .min_by { |k| Nexmo::Markdown::CodeLanguage.languages.map(&:key).index(k) } end end
default_product()
click to toggle source
# File lib/nexmo_developer/app/models/tutorial/metadata.rb, line 43 def default_product @default_product ||= products.first end
description()
click to toggle source
# File lib/nexmo_developer/app/models/tutorial/metadata.rb, line 19 def description @description ||= yaml['description'] end
external_link()
click to toggle source
# File lib/nexmo_developer/app/models/tutorial/metadata.rb, line 23 def external_link @external_link ||= yaml['external_link'] end
load_file!()
click to toggle source
# File lib/nexmo_developer/app/models/tutorial/metadata.rb, line 47 def load_file! Tutorial::FileLoader.new( root: Tutorial.tutorials_path, code_language: nil, doc_name: @name ) end
products()
click to toggle source
# File lib/nexmo_developer/app/models/tutorial/metadata.rb, line 11 def products @products ||= yaml['products'] || [] end
title()
click to toggle source
# File lib/nexmo_developer/app/models/tutorial/metadata.rb, line 15 def title @title ||= yaml['title'] end