Sha256: 80bd4712d7d95315ad6ab68267ecfda72402c485f8593e2e38a35dcca9d842e0

Contents?: true

Size: 633 Bytes

Versions: 2

Compression:

Stored size: 633 Bytes

Contents

module AmaLayout
  module DraperReplacement
    attr_accessor :object

    def h
      ActionView::Base.new(::ActionController::Base.view_paths, {}, ::ApplicationController.new)
    end

    def initialize(args = {})
      self.object = args
    end

    def self.decorate_collection(objects = {})
      objects.map { |o| self.new(o) }
    end

    def method_missing(method, *args, &block)
      return super unless delegatable?(method)

      (object || DraperReplacement).send(method, *args, &block)
    end

    def delegatable?(method)
      object.respond_to?(method) || DraperReplacement.respond_to?(method)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ama_layout-5.12.0 lib/ama_layout/draper_replacement.rb
ama_layout-7.0.pre lib/ama_layout/draper_replacement.rb