conventional_extensions Version: 0.3.0
Ruby Version: 3.1.2
Rails Version: 7.0.4
bundle install
rails db:create db:migrate
rails c
Loading development environment (Rails 7.0.4)
irb(main):001:0> Post.new.mailroom
/Users/marcoroth/.anyenv/envs/rbenv/versions/3.1.2/lib/ruby/gems/3.1.0/gems/conventional_extensions-0.3.0/lib/conventional_extensions.rb:15:in `load_extensions': private method `load' called for nil:NilClass (NoMethodError)
@loader.load(*extensions)
^^^^^
This seems to fix it locally, but honestly I haven't fully grokked why @loader
wouldn't need to be defined in some cases. This "fix" possibly also has some unwanted side-effects since @loader
is not going to be cleaned up in the ensure
block because of the loader_defined_before_entrance
condition.
def load_extensions(*extensions, from: Frame.previous.path)
- @loader = Loader.new(self, from) unless loader_defined_before_entrance = defined?(@loader)
+ loader_defined_before_entrance = defined?(@loader)
+ @loader = Loader.new(self, from) unless loader_defined_before_entrance
+ @loader = Loader.new(self, from) if @loader.nil
@loader.load(*extensions)
ensure
@loader = nil unless loader_defined_before_entrance
end
Am I even supposed to use load_exentions
inside a model class under app/models/
?