class HS::Chapter

Attributes

content[R]
course[R]
intro[RW]
modules[R]
slug[RW]
title[RW]

Public Class Methods

load(course, file) click to toggle source

Loads chapter from file.

# File lib/hs/models/chapter.rb, line 14
def self.load(course, file)
  dir = File.dirname(file)

  load_chapter(course, File.read(file)) do |chapter, module_file|
    path = "#{dir}/#{module_file}"
    chapter.modules << HS::Module.load(chapter, path)
  end
end
new(course, args) click to toggle source
# File lib/hs/models/chapter.rb, line 26
def initialize(course, args)
  @course = course
  @content = []
  @modules = []

  args.each do |key, val|
    instance_variable_set("@#{key}", val)
  end
end

Public Instance Methods

find_module(slug) click to toggle source

Tries to find module in this chapter by module slug.

# File lib/hs/models/chapter.rb, line 37
def find_module(slug)
  modules.find { |m| m.slug.to_s == slug.to_s }
end
hs_url() click to toggle source

URL of this chapter when published.

# File lib/hs/models/chapter.rb, line 42
def hs_url
  "#{course.hs_url}/#{slug}"
end