Module: HateDa::Converter

Defined in:
lib/hateda2md/converter.rb

Defined Under Namespace

Classes: NoFilterError

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.pre_defined_filters(aliases = false) ⇒ Object



32
33
34
35
36
# File 'lib/hateda2md/converter.rb', line 32

def self.pre_defined_filters(aliases=false)
  als = aliases ? [] : [:header, :subheader, :subsubheader, :ul, :ol]
  excludes = ->m{ als.include?(m) || m.to_s.start_with?('_') }
  private_instance_methods(false).reject(&excludes)
end

Instance Method Details

#clear_filterObject



19
20
21
# File 'lib/hateda2md/converter.rb', line 19

def clear_filter
  @gf.filters.clear if @gf
end

#filter(pattern, opt = {}, &replace) ⇒ Object



27
28
29
30
# File 'lib/hateda2md/converter.rb', line 27

def filter(pattern, opt={}, &replace)
  @gf ||= GsubFilter.new
  @gf.filter(pattern, opt, &replace)
end

#set(item, *args) ⇒ Object



8
9
10
11
12
13
# File 'lib/hateda2md/converter.rb', line 8

def set(item, *args)
  unless HateDa::Converter.pre_defined_filters(true).include?(item)
    raise NoFilterError, "#{item} does not pre-defined."
  end
  send item, *args
end

#stocksObject



23
24
25
# File 'lib/hateda2md/converter.rb', line 23

def stocks
  @gf.stocks if @gf
end

#to_md(hdtext) ⇒ Object



15
16
17
# File 'lib/hateda2md/converter.rb', line 15

def to_md(hdtext)
  (@gf ||= GsubFilter.new).run(hdtext)
end