diff options
Diffstat (limited to 'lib/puppet')
-rw-r--r-- | lib/puppet/network/format.rb | 11 | ||||
-rw-r--r-- | lib/puppet/network/format_handler.rb | 3 |
2 files changed, 9 insertions, 5 deletions
diff --git a/lib/puppet/network/format.rb b/lib/puppet/network/format.rb index 256e9a8d4..7eb2a632f 100644 --- a/lib/puppet/network/format.rb +++ b/lib/puppet/network/format.rb @@ -5,17 +5,16 @@ require 'puppet/provider/confiner' class Puppet::Network::Format include Puppet::Provider::Confiner - attr_reader :name - attr_accessor :mime + attr_reader :name, :mime def initialize(name, options = {}, &block) @name = name.to_s.downcase.intern if mime = options[:mime] - @mime = mime + self.mime = mime options.delete(:mime) else - @mime = "text/%s" % name + self.mime = "text/%s" % name end unless options.empty? @@ -40,6 +39,10 @@ class Puppet::Network::Format raise NotImplementedError end + def mime=(mime) + @mime = mime.to_s.downcase + end + def render(instance) return instance.send(render_method) if instance.respond_to?(render_method) raise NotImplementedError diff --git a/lib/puppet/network/format_handler.rb b/lib/puppet/network/format_handler.rb index 6700c42a8..cf19c02a7 100644 --- a/lib/puppet/network/format_handler.rb +++ b/lib/puppet/network/format_handler.rb @@ -21,7 +21,7 @@ module Puppet::Network::FormatHandler end def self.format(name) - @formats[name] + @formats[name.to_s.downcase.intern] end # Provide a list of all formats. @@ -31,6 +31,7 @@ module Puppet::Network::FormatHandler # Return a format capable of handling the provided mime type. def self.mime(mimetype) + mimetype = mimetype.to_s.downcase @formats.values.find { |format| format.mime == mimetype } end |