Class: Encoding
Defined Under Namespace
Classes: CompatibilityError, EncodingError
Class Attribute Summary collapse
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(name, names, ascii, dummy) ⇒ Encoding
Returns a new instance of Encoding
35
36
37
38
39
40
|
# File 'opal/stdlib/encoding.rb', line 35
def initialize(name, names, ascii, dummy)
@name = name
@names = names
@ascii = ascii
@dummy = dummy
end
|
Class Attribute Details
.default_external ⇒ Object
Returns the value of attribute default_external
30
31
32
|
# File 'opal/stdlib/encoding.rb', line 30
def default_external
@default_external
end
|
Instance Attribute Details
Returns the value of attribute name
33
34
35
|
# File 'opal/stdlib/encoding.rb', line 33
def name
@name
end
|
Returns the value of attribute names
33
34
35
|
# File 'opal/stdlib/encoding.rb', line 33
def names
@names
end
|
Class Method Details
.find(name) ⇒ Object
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'opal/stdlib/encoding.rb', line 14
def self.find(name)
upcase_name = name.upcase
return upcase_name if self === upcase_name
constants.each {|const|
encoding = const_get(const)
if encoding.name == upcase_name || encoding.names.include?(upcase_name)
return encoding
end
}
raise ArgumentError, "unknown encoding name - #{name}"
end
|
.register(name, options = {}, &block) ⇒ Object
4
5
6
7
8
9
10
11
12
|
# File 'opal/stdlib/encoding.rb', line 4
def self.register(name, options = {}, &block)
names = [name] + (options[:aliases] || [])
encoding = Class.new(self, &block).
new(name, names, options[:ascii] || false, options[:dummy] || false)
names.each {|name|
const_set name.sub('-', '_'), encoding
}
end
|
Instance Method Details
#ascii_compatible? ⇒ Boolean
42
43
44
|
# File 'opal/stdlib/encoding.rb', line 42
def ascii_compatible?
@ascii
end
|
67
68
69
|
# File 'opal/stdlib/encoding.rb', line 67
def bytesize(*)
raise NotImplementedError
end
|
46
47
48
|
# File 'opal/stdlib/encoding.rb', line 46
def dummy?
@dummy
end
|
#each_byte ⇒ Object
methods to implement per encoding
59
60
61
|
# File 'opal/stdlib/encoding.rb', line 59
def each_byte(*)
raise NotImplementedError
end
|
63
64
65
|
# File 'opal/stdlib/encoding.rb', line 63
def getbyte(*)
raise NotImplementedError
end
|
54
55
56
|
# File 'opal/stdlib/encoding.rb', line 54
def inspect
"#<Encoding:#{@name}#{" (dummy)" if @dummy}>"
end
|
50
51
52
|
# File 'opal/stdlib/encoding.rb', line 50
def to_s
@name
end
|