class Senkyoshi::WikiPage

Public Instance Methods

_component_label(node) click to toggle source
# File lib/senkyoshi/models/wikipage.rb, line 90
def _component_label(node)
  visible = Senkyoshi.true?(node.search("vislableToStudents/@value").to_s)
  if visible
    component_label = node.search("componentLabel/@value").to_s
    overridden = Senkyoshi.true?(node.search("labelOverridden/@value").to_s)
    if overridden
      component_label
    else
      component_label.split(".").last.capitalize
    end
  else
    ""
  end
end
_extendeddata(extendeddata) click to toggle source
# File lib/senkyoshi/models/wikipage.rb, line 80
def _extendeddata(extendeddata)
  Nokogiri::XML(extendeddata).
    search("LessonPlanComponent").
    map do |node|
      _component_label(node) + node.search("componentValue/@value").to_s
    end.
    compact.
    join(" ")
end
_set_body(original_body, url, extendeddata) click to toggle source
# File lib/senkyoshi/models/wikipage.rb, line 51
def _set_body(original_body, url, extendeddata)
  body = original_body.dup

  if !url.empty?
    body = %{
      <a href="#{url}">
        #{url}
      </a>
      #{body}
    }
  end
  if @referred_to_title.present?
    body = %{
      <a href="$CANVAS_COURSE_REFERENCE$#{@referred_to_title}">
        Course Link: #{@referred_to_title}
      </a>
      #{body}
    }
  end
  if extendeddata
    body = %{
      #{body}
      #{_extendeddata(extendeddata)}
    }
  end

  body
end
canvas_conversion(course, resources) click to toggle source
# File lib/senkyoshi/models/wikipage.rb, line 22
def canvas_conversion(course, resources)
  unless @title == "--TOP--"
    page_count = course.pages.
      select { |p| p.title.start_with? @title }.count
    @title = "#{@title}-#{page_count + 1}" if page_count > 0
    page = CanvasCc::CanvasCC::Models::Page.new
    @body = _set_body(@body, @url, @extendeddata)
    page.body = fix_html(@body, resources)
    page.identifier = @id
    page.page_name = @title
    page.workflow_state = "active"

    # Add page links to page body
    @files.each do |file|
      if canvas_file = course.files.detect { |f| f.identifier == file.name }
        page.body << file.canvas_conversion(resources, canvas_file)
      else
        page.body <<
          "<p>File: #{file.linkname} -- doesn't exist in blackboard</p>"
      end
    end
    course.pages << page

    course = create_module(course)
  end

  course
end