Sha256: ba3728d7d4b7902d2d385f1c4594bc5ee09aea5a2525922fd25131d615636b4d
Contents?: true
Size: 1016 Bytes
Versions: 3
Compression:
Stored size: 1016 Bytes
Contents
# frozen_string_literal: true module Magicka class Aggregator # @api private # # Class responsible for building an {Aggregator} method class MethodBuilder < Sinclair def initialize(klass, element_class, method_name = nil, template: nil) super(klass) @element_class = element_class @method_name = method_name @template = template end def prepare element_klass = element_class template_file = template add_method(method_name) do |field, model: self.model, **args| element_klass.render( renderer: renderer, field: field, model: model, template: template_file, **args ) end self end private attr_reader :element_class, :template def method_name @method_name ||= element_class .name .underscore .gsub(%r{.*/}, '') end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
magicka-0.5.6 | lib/magicka/aggregator/method_builder.rb |
magicka-0.5.5 | lib/magicka/aggregator/method_builder.rb |
magicka-0.5.4 | lib/magicka/aggregator/method_builder.rb |