Sha256: a7724c1c8d4b4b6e8327cd795c75c610b9f691d3b0d46cce02f9fbbd4cb683dc

Contents?: true

Size: 645 Bytes

Versions: 2

Compression:

Stored size: 645 Bytes

Contents

require_relative "base_initializer"

class Uses::Initializer::NewNoArgs < Uses::Initializer::BaseInitializer
  def create_proc(uses_method_args)
    initialize_method = uses_method_args.klass_being_used.instance_method(:initialize)
    if !initialize_method.arity.in?([0,-1])
      raise "#{uses_method_args.klass_being_used}'s initializer has required arguments, but has been used in #{uses_method_args.klass_with_uses.class} to initializer with no arguments passed to ::new. Please use initialize: with a Proc or :config_initializers to control how the instance is created"
    end
    ->() { uses_method_args.klass_being_used.new }
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
uses-1.0.0 lib/uses/initializer/new_no_args.rb
uses-1.0.0.pre.beta1 lib/uses/initializer/new_no_args.rb