Class: Mack::Rendering::Type::Distributed
- Inherits:
-
Base
- Object
- Base
- Mack::Rendering::Type::Distributed
- Defined in:
- lib/mack-distributed/views/rendering/type/distributed.rb
Instance Method Summary collapse
-
#render ⇒ Object
render(:distributed, “distributed://host/resource”).
Instance Method Details
#render ⇒ Object
render(:distributed, “distributed://host/resource”)
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/mack-distributed/views/rendering/type/distributed.rb', line 7 def render uri = Addressable::URI.parse(self._render_value) raise InvalidAddressableURIFormat.new("#{self._render_value}") if uri.host.nil? or uri.path.nil? app_name = uri.host resource = File.join("app", "views", uri.path) data = Mack::Distributed::View.ref(app_name) if data raw = "" Mack::Rendering::Engine::Registry.engines[:distributed].each do |e| @engine = find_engine(e).new(self.view_template) view_path = "#{resource}.#{self.[:format]}.#{@engine.extension}" raw = data.get(view_path) break if !raw.nil? end raise Mack::Errors::ResourceNotFound.new("#{self.[:distributed]}") if raw.nil? old_render_value = self.view_template._render_value.dup self.view_template._render_value = raw Mack::Rendering::Type::Inline.new(self.view_template).render # self.view_template.render_value = old_render_value end end |