Module: Coder::Cleaner

Defined in:
lib/coder/cleaner.rb,
lib/coder/cleaner/java.rb,
lib/coder/cleaner/iconv.rb,
lib/coder/cleaner/simple.rb,
lib/coder/cleaner/builtin.rb,
lib/coder/cleaner/simple/encodings.rb,
lib/coder/cleaner/simple/byte_buffer.rb

Defined Under Namespace

Classes: Builtin, Iconv, Java, Simple

Constant Summary collapse

ALL =
[ Builtin, Java, Iconv, Simple ]
AVAILABLE =
ALL.select { |e| e.available? }

Class Method Summary collapse

Class Method Details

.available?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/coder/cleaner.rb', line 12

def self.available?
  AVAILABLE.any?
end

.new(encoding) ⇒ Object



20
21
22
23
24
# File 'lib/coder/cleaner.rb', line 20

def self.new(encoding)
  cleaner = AVAILABLE.detect { |e| e.supports? encoding }
  raise Coder::InvalidEncoding, "unknown encoding name - #{encoding}" unless cleaner
  cleaner.new(encoding)
end

.supports?(encoding) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/coder/cleaner.rb', line 16

def self.supports?(encoding)
  AVAILABLE.any? { |e| e.supports? encoding }
end