Class: Encoding
Class Attribute Summary collapse
-
.default_external ⇒ Object
Returns the value of attribute default_external.
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#names ⇒ Object
readonly
Returns the value of attribute names.
Class Method Summary collapse
Instance Method Summary collapse
- #ascii_compatible? ⇒ Boolean
- #bytesize ⇒ Object
- #dummy? ⇒ Boolean
-
#each_byte ⇒ Object
methods to implement per encoding.
- #getbyte ⇒ Object
-
#initialize(name, names, ascii, dummy) ⇒ Encoding
constructor
A new instance of Encoding.
- #inspect ⇒ Object
- #to_s ⇒ Object
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
#name ⇒ Object (readonly)
Returns the value of attribute name
33 34 35 |
# File 'opal/stdlib/encoding.rb', line 33 def name @name end |
#names ⇒ Object (readonly)
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, = {}, &block) names = [name] + ([:aliases] || []) encoding = Class.new(self, &block). new(name, names, [:ascii] || false, [: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 |
#bytesize ⇒ Object
67 68 69 |
# File 'opal/stdlib/encoding.rb', line 67 def bytesize(*) raise NotImplementedError 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 |
#getbyte ⇒ Object
63 64 65 |
# File 'opal/stdlib/encoding.rb', line 63 def getbyte(*) raise NotImplementedError end |
#inspect ⇒ Object
54 55 56 |
# File 'opal/stdlib/encoding.rb', line 54 def inspect "#<Encoding:#{@name}#{" (dummy)" if @dummy}>" end |
#to_s ⇒ Object
50 51 52 |
# File 'opal/stdlib/encoding.rb', line 50 def to_s @name end |