Module: Pruim::Codec
Class Method Summary collapse
-
.for_filename(filename) ⇒ Object
Returns the codec to use for the given filename, based on the extension.
-
.for_filename_name(filename, codecname = nil) ⇒ Object
Returns a codec based on it’s short name or on the filename’s extension.
-
.for_name(name) ⇒ Object
Returns a codec based on it’s short name.
-
.new_for_filename(filename) ⇒ Object
Returns an instance of codec to use for the given filename, based on the extension of the filename.
-
.new_for_filename_name(filename, codecname = nil) ⇒ Object
Returns a new instance of a codec based on it’s short name or on the filename’s extension.
-
.new_for_name(name) ⇒ Object
Returns a new instance of a codec based on it’s short name.
- .register(name, klass) ⇒ Object
Instance Method Summary collapse
- #can_decode?(io) ⇒ Boolean
- #can_encode?(image) ⇒ Boolean
-
#decode(io) ⇒ Object
Stream should be an StringIO, or otherwise IO compatible object.
- #encode(image, io) ⇒ Object
- #encode_will_degrade?(image) ⇒ Boolean
- #text ⇒ Object
Class Method Details
.for_filename(filename) ⇒ Object
Returns the codec to use for the given filename, based on the extension
15 16 17 18 |
# File 'lib/pruim/codec.rb', line 15 def self.for_filename(filename) ext = File.extname(flename) # get filename extension return self.codec_for(name) end |
.for_filename_name(filename, codecname = nil) ⇒ Object
Returns a codec based on it’s short name or on the filename’s extension.
35 36 37 38 39 |
# File 'lib/pruim/codec.rb', line 35 def self.for_filename_name(filename, codecname = nil) codec = nil return for_name(codecname) if codecname return for_filename(codecname) end |
.for_name(name) ⇒ Object
Returns a codec based on it’s short name.
10 11 12 |
# File 'lib/pruim/codec.rb', line 10 def self.for_name(name) return Pruim.const_get(name.upcase) end |
.new_for_filename(filename) ⇒ Object
Returns an instance of codec to use for the given filename, based on the extension of the filename.
22 23 24 25 |
# File 'lib/pruim/codec.rb', line 22 def self.new_for_filename(filename) codec = for_filename(filename) return codec.new() end |
.new_for_filename_name(filename, codecname = nil) ⇒ Object
Returns a new instance of a codec based on it’s short name or on the filename’s extension.
43 44 45 46 47 |
# File 'lib/pruim/codec.rb', line 43 def self.new_for_filename_name(filename, codecname = nil) codec = for_filename_name(filename, codecname) return nil unless codec return codec.new() end |
.new_for_name(name) ⇒ Object
Returns a new instance of a codec based on it’s short name.
28 29 30 31 32 |
# File 'lib/pruim/codec.rb', line 28 def self.new_for_name(name) codec = for_name(name) return nil unless codec return codec.new() end |
.register(name, klass) ⇒ Object
4 5 6 7 |
# File 'lib/pruim/codec.rb', line 4 def self.register(name, klass) @codecs ||= {} @codecs[name] = klass end |
Instance Method Details
#can_decode?(io) ⇒ Boolean
58 59 60 |
# File 'lib/pruim/codec.rb', line 58 def can_decode?(io) raise "not implemented" end |
#can_encode?(image) ⇒ Boolean
62 63 64 |
# File 'lib/pruim/codec.rb', line 62 def can_encode?(image) raise "not implemented" end |
#decode(io) ⇒ Object
Stream should be an StringIO, or otherwise IO compatible object.
50 51 52 |
# File 'lib/pruim/codec.rb', line 50 def decode(io) raise "not implemented" end |
#encode(image, io) ⇒ Object
54 55 56 |
# File 'lib/pruim/codec.rb', line 54 def encode(image, io) raise "not implemented" end |
#encode_will_degrade?(image) ⇒ Boolean
66 67 68 |
# File 'lib/pruim/codec.rb', line 66 def encode_will_degrade?(image) raise "not implemented" end |
#text ⇒ Object
70 71 72 |
# File 'lib/pruim/codec.rb', line 70 def text return "A codec that does nothing." end |