class DocTemplate::Tags::ActivityMetadataTypeTag
Constants
- TAG_NAME
- TASK_RE
- TEMPLATES
Attributes
activity[R]
opts[R]
Public Instance Methods
optional?()
click to toggle source
# File lib/doc_template/tags/activity_metadata_type_tag.rb, line 16 def optional? !!@activity.try(:optional) end
parse(node, opts = {})
click to toggle source
# File lib/doc_template/tags/activity_metadata_type_tag.rb, line 20 def parse(node, opts = {}) @opts = opts @metadata = opts[:activity] @activity = @metadata.find_by_anchor(opts[:value]) @anchor = @activity.anchor content = DocTemplate.sanitizer.strip_html(content_until_break(node)) content = parse_nested content.to_s, opts params = { activity: @activity, content: DocTemplate.sanitizer.strip_html_element(content), placeholder: placeholder_id } # Extend basic params set with additional which can be customized params.merge! extended_parse_params @content = parse_template params, template_name(opts) @materials = @activity.try(:material_ids) || [] replace_tag node self end
Private Instance Methods
extended_params_default()
click to toggle source
# File lib/doc_template/tags/activity_metadata_type_tag.rb, line 55 def extended_params_default if @activity.respond_to?(:activity_guidance) @activity[:activity_guidance] = DocTemplate.sanitizer.strip_html_element(@activity[:activity_guidance]) end { foundational: opts[:foundational_skills], priority_description: priority_description(activity), priority_icon: priority_icon(activity), react_props: { activity: { title: @activity.title, type: @activity.activity_type }, material_ids: @activity.material_ids } } end
extended_parse_params()
click to toggle source
# File lib/doc_template/tags/activity_metadata_type_tag.rb, line 47 def extended_parse_params custom_params = ::DocTemplate::Tags.config[TAG_NAME]['extend-params-with'].to_s return extended_params_default if custom_params.blank? mod, method = custom_params.split('.') mod.constantize.send method end