class ExtractI18n::Adapters::SlimRewriterParser::CustomFilter

Public Instance Methods

block(content) click to toggle source
# File lib/extract_i18n/adapters/slim_adapter_wip.rb, line 45
def block(content)
  @indent += 1
  result = compile(content).to_s # todo remove to_s
  if result.is_a?(String)
    extract_from_string(result)
  else
    result
  end
ensure
  @indent -= 1
end
call(exp) click to toggle source
Calls superclass method
# File lib/extract_i18n/adapters/slim_adapter_wip.rb, line 16
def call(exp)
  @indent = 0
  super.to_s
end
extract_from_string(string) click to toggle source
# File lib/extract_i18n/adapters/slim_adapter_wip.rb, line 57
def extract_from_string(string)
  i18n_key = ExtractI18n.key(string)
  change = ExtractI18n::SourceChange.new(
    i18n_key: "#{@options[:file_key]}.#{i18n_key}",
    i18n_string: string,
    interpolate_arguments: {},
    source_line: string,
    remove: string
  )
  puts change.format
  if @options[:on_ask].call(change)
    change.i18n_t
  else
    string
  end
end
indent() click to toggle source
# File lib/extract_i18n/adapters/slim_adapter_wip.rb, line 102
def indent
  '  ' * @indent
end
on_html_attr(name, content) click to toggle source
# File lib/extract_i18n/adapters/slim_adapter_wip.rb, line 98
def on_html_attr(name, content)
  "#{name}=#{compile content}"
end
on_html_attrs(*attrs) click to toggle source
# File lib/extract_i18n/adapters/slim_adapter_wip.rb, line 74
def on_html_attrs(*attrs)
  attrs.empty? ? '' : "(#{super[2..-1].join(' ')})"
end
on_html_comment(exp) click to toggle source
# File lib/extract_i18n/adapters/slim_adapter_wip.rb, line 90
def on_html_comment(exp)
  "#{indent}/ #{block exp}"
end
on_html_doctype(name) click to toggle source
# File lib/extract_i18n/adapters/slim_adapter_wip.rb, line 33
def on_html_doctype(name)
  "#{indent}doctype #{name}"
end
on_html_tag(name, attrs, content = nil) click to toggle source
# File lib/extract_i18n/adapters/slim_adapter_wip.rb, line 37
def on_html_tag(name, attrs, content = nil)
  ret = "#{indent}#{name}#{compile attrs}"
  if content
    ret << ' ' << block(content)
  end
  ret
end
on_multi(*exps) click to toggle source
Calls superclass method
# File lib/extract_i18n/adapters/slim_adapter_wip.rb, line 21
def on_multi(*exps)
  super[1..-1].join
end
on_newline() click to toggle source
# File lib/extract_i18n/adapters/slim_adapter_wip.rb, line 25
def on_newline
  "\n"
end
on_slim_control(line, block) click to toggle source
# File lib/extract_i18n/adapters/slim_adapter_wip.rb, line 94
def on_slim_control(line, block)
  "#{indent}- #{line}#{block block}"
end
on_slim_embedded(type, text) click to toggle source
# File lib/extract_i18n/adapters/slim_adapter_wip.rb, line 86
def on_slim_embedded(type, text)
  "#{indent}#{block text}"
end
on_slim_interpolate(text) click to toggle source
# File lib/extract_i18n/adapters/slim_adapter_wip.rb, line 78
def on_slim_interpolate(text)
  compile(text)
end
on_slim_text(type, text) click to toggle source
# File lib/extract_i18n/adapters/slim_adapter_wip.rb, line 82
def on_slim_text(type, text)
  block(text)
end
on_static(*args) click to toggle source
# File lib/extract_i18n/adapters/slim_adapter_wip.rb, line 29
def on_static(*args)
  args[0].include?('"') ? "'#{args.join(' ')}'" : %["#{args.join(' ')}"]
end