Class: Futurism::Resolver::Resources
- Inherits:
-
Object
- Object
- Futurism::Resolver::Resources
- Includes:
- MessageVerifier
- Defined in:
- lib/futurism/resolver/resources.rb
Defined Under Namespace
Classes: ErrorRenderer, ResourceDefinition
Instance Method Summary collapse
-
#initialize(resource_definitions:, connection:, params:) ⇒ Resources
constructor
resource definitions are an array of [signed_params, sgid, signed_controller, url, broadcast_each].
- #resolve ⇒ Object
Methods included from MessageVerifier
message_verifier, #message_verifier
Constructor Details
#initialize(resource_definitions:, connection:, params:) ⇒ Resources
resource definitions are an array of [signed_params, sgid, signed_controller, url, broadcast_each]
7 8 9 10 11 12 13 |
# File 'lib/futurism/resolver/resources.rb', line 7 def initialize(resource_definitions:, connection:, params:) @connection = connection @params = params @resources_with_sgids, @resources_without_sgids = resource_definitions .partition { |signed_params, sgid, *| sgid.present? } .map { |partition| partition.map { |definition| ResourceDefinition.new(definition) } } end |
Instance Method Details
#resolve ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/futurism/resolver/resources.rb', line 15 def resolve resolved_models.zip(@resources_with_sgids).each do |model, resource_definition| html = renderer_for(resource_definition: resource_definition).render(model) yield(resource_definition.selector, html, resource_definition.broadcast_each) end @resources_without_sgids.each do |resource_definition| resource = lookup_resource(resource_definition) renderer = renderer_for(resource_definition: resource_definition) html = begin renderer.render(resource) rescue => exception error_renderer.render(exception) end yield(resource_definition.selector, html, resource_definition.broadcast_each) end end |