class Mumukit::Directives::Pipeline

Public Class Methods

new(directives, comment_type=nil) click to toggle source
# File lib/mumukit/directives/pipeline.rb, line 2
def initialize(directives, comment_type=nil)
  @directives = directives
  configure(comment_type)
end

Public Instance Methods

transform(request) click to toggle source
# File lib/mumukit/directives/pipeline.rb, line 7
def transform(request)
  base_sections = request.to_stringified_h
  rest = base_sections.slice!('test', 'extra', 'content', 'query')

  @directives
      .inject(base_sections) { |sections, it| it.transform sections }
      .amend(rest)
      .to_struct
end

Private Instance Methods

configure(comment_type) click to toggle source
# File lib/mumukit/directives/pipeline.rb, line 19
def configure(comment_type)
  @directives.each do |it|
    it.comment_type = comment_type
  end
end