class CommonCartridge::Package
Attributes
assignments[RW]
manifest[RW]
outcomes[RW]
Public Class Methods
new()
click to toggle source
# File lib/common_cartridge/package.rb, line 5 def initialize @assignments = [] end
Public Instance Methods
all_outcomes()
click to toggle source
# File lib/common_cartridge/package.rb, line 17 def all_outcomes @all_outcomes ||= outcome_groups.collect { |g| g.outcomes }.flatten end
announcements()
click to toggle source
# File lib/common_cartridge/package.rb, line 29 def announcements @announcements ||= resources_of_type(Elements::Resources::Topic).select { |d| d.is_announcement? } end
discussions()
click to toggle source
# File lib/common_cartridge/package.rb, line 25 def discussions @discussions ||= resources_of_type(Elements::Resources::Topic).reject { |d| d.is_announcement? } end
find_resource(identifier)
click to toggle source
# File lib/common_cartridge/package.rb, line 9 def find_resource(identifier) manifest.resources.find { |r| r.identifier == identifier } end
modules()
click to toggle source
# File lib/common_cartridge/package.rb, line 21 def modules @modules ||= manifest.organization.root_item.items end
outcome_groups()
click to toggle source
# File lib/common_cartridge/package.rb, line 13 def outcome_groups @outcome_groups ||= outcomes ? outcomes.outcome_groups : [] end
pages()
click to toggle source
# File lib/common_cartridge/package.rb, line 33 def pages @pages ||= begin pages = resources_of_type(Elements::Resources::Page).each do |page| assign_title(page) end filter_pages(pages) end end
quizzes()
click to toggle source
# File lib/common_cartridge/package.rb, line 43 def quizzes @quizzes ||= resources_of_type(Elements::Resources::Assessment).each do |quiz| assign_title(quiz) unless quiz.title end end
Private Instance Methods
all_items()
click to toggle source
# File lib/common_cartridge/package.rb, line 73 def all_items @all_items ||= begin modules.each_with_object([]) do |mod, memo| memo << mod.items mod.items.each do |item| memo << item.items if item.items end end.flatten end end
assign_title(obj)
click to toggle source
# File lib/common_cartridge/package.rb, line 57 def assign_title(obj) if ref = find_item_by_ref(obj.identifier) obj.title = ref.title end end
filter_pages(pages)
click to toggle source
# File lib/common_cartridge/package.rb, line 51 def filter_pages(pages) pages.select do |page| (page.href =~ /wiki/ || page.href =~ /html$/) && page.title end end
find_item_by_ref(ref)
click to toggle source
# File lib/common_cartridge/package.rb, line 67 def find_item_by_ref(ref) all_items.detect do |item| item.identifierref == ref end end
resources_of_type(type)
click to toggle source
# File lib/common_cartridge/package.rb, line 63 def resources_of_type(type) manifest.resources.select { |r| r.type =~ type.pattern } end