Fabricator(:image) do
image { File.open(File.join(Rails.root, 'test', 'fabricators', 'assets', 'ex1.png'))}
end
I want to fabricate an image instance with a test image file. But it gives me the following error Errno::EMFILE: Too many open files @ rb_sysopen.
Full error stack:
Errno::EMFILE: Too many open files @ rb_sysopen - /Users/oasisweng/Documents/Repos/2buyi/test/fabricators/assets/avatar.png
from /Users/oasisweng/Documents/Repos/2buyi/test/fabricators/image_fabricator.rb:19:in `initialize'
from /Users/oasisweng/Documents/Repos/2buyi/test/fabricators/image_fabricator.rb:19:in `open'
from /Users/oasisweng/Documents/Repos/2buyi/test/fabricators/image_fabricator.rb:19:in `block (2 levels) in <top (required)>'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/fabrication-2.15.0/lib/fabrication/schematic/attribute.rb:40:in `instance_exec'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/fabrication-2.15.0/lib/fabrication/schematic/attribute.rb:40:in `execute'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/fabrication-2.15.0/lib/fabrication/schematic/attribute.rb:28:in `processed_value'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/fabrication-2.15.0/lib/fabrication/generator/base.rb:108:in `block in process_attributes'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/fabrication-2.15.0/lib/fabrication/generator/base.rb:107:in `each'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/fabrication-2.15.0/lib/fabrication/generator/base.rb:107:in `process_attributes'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/fabrication-2.15.0/lib/fabrication/generator/base.rb:6:in `build'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/fabrication-2.15.0/lib/fabrication/schematic/definition.rb:63:in `block in build'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/fabrication-2.15.0/lib/fabrication/schematic/definition.rb:62:in `instance_eval'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/fabrication-2.15.0/lib/fabrication/schematic/definition.rb:62:in `build'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/fabrication-2.15.0/lib/fabricate.rb:26:in `build'
from /Users/oasisweng/Documents/Repos/2buyi/test/fabricators/profile_fabricator.rb:18:in `block (2 levels) in <top (required)>'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/fabrication-2.15.0/lib/fabrication/schematic/attribute.rb:40:in `instance_exec'
... 6171 levels...
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:268:in `load'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:268:in `block in load'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:240:in `load_dependency'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:268:in `load'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/spring-1.1.3/lib/spring/commands/rails.rb:6:in `call'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/spring-1.1.3/lib/spring/command_wrapper.rb:38:in `call'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/spring-1.1.3/lib/spring/application.rb:180:in `block in serve'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/spring-1.1.3/lib/spring/application.rb:153:in `fork'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/spring-1.1.3/lib/spring/application.rb:153:in `serve'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/spring-1.1.3/lib/spring/application.rb:128:in `block in run'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/spring-1.1.3/lib/spring/application.rb:122:in `loop'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/spring-1.1.3/lib/spring/application.rb:122:in `run'
from /Users/oasisweng/.rvm/gems/ruby-2.2.3@2buyi/gems/spring-1.1.3/lib/spring/application/boot.rb:18:in `<top (required)>'
from /Users/oasisweng/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from /Users/oasisweng/.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
from -e:1:in `<main>'>>
What is the correct practice to open a file in Fabrication?
I am using Rails 4 and I upload the images through Carrierwave.
I want to fabricate an image instance with a test image file. But it gives me the following error
Errno::EMFILE: Too many open files @ rb_sysopen
.Full error stack:
What is the correct practice to open a file in Fabrication?
I am using Rails 4 and I upload the images through Carrierwave.