Class: Benoit::Filters::BaseFilter

Inherits:
Rake::Pipeline::Filter
  • Object
show all
Defined in:
lib/benoit/filters/base_filter.rb

Direct Known Subclasses

MarkdownFilter

Class Attribute Summary collapse

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Class Attribute Details

.builderObject (readonly)

Returns the value of attribute builder.



6
7
8
# File 'lib/benoit/filters/base_filter.rb', line 6

def builder
  @builder
end

.output_name_generatorObject (readonly)

Returns the value of attribute output_name_generator.



6
7
8
# File 'lib/benoit/filters/base_filter.rb', line 6

def output_name_generator
  @output_name_generator
end

Instance Attribute Details

#current_siteObject

Returns the value of attribute current_site.



17
18
19
# File 'lib/benoit/filters/base_filter.rb', line 17

def current_site
  @current_site
end

Class Method Details

.build_output(&block) ⇒ Object



8
9
10
# File 'lib/benoit/filters/base_filter.rb', line 8

def build_output(&block)
  @builder = block
end

.output_name(&block) ⇒ Object



12
13
14
# File 'lib/benoit/filters/base_filter.rb', line 12

def output_name(&block)
  @output_name_generator = block
end

Instance Method Details

#builderObject



24
25
26
# File 'lib/benoit/filters/base_filter.rb', line 24

def builder
  self.class.builder
end

#generate_output(inputs, output) ⇒ Object



28
29
30
31
32
33
# File 'lib/benoit/filters/base_filter.rb', line 28

def generate_output(inputs, output)
  inputs.each do |input|
    content = build_output(input) if builder
    output.write(content || input.read)
  end
end

#output_name_generatorObject



19
20
21
22
# File 'lib/benoit/filters/base_filter.rb', line 19

def output_name_generator
  self.class.output_name_generator ||
    @output_name_generator
end