Method: FileUploadObject#initialize
- Defined in:
- lib/notion_ruby_mapping/objects/file_upload_object.rb
#initialize(fname:, external_url: nil) ⇒ FileUploadObject
Returns a new instance of FileUploadObject.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/notion_ruby_mapping/objects/file_upload_object.rb', line 6 def initialize(fname:, external_url: nil) @fname = fname if external_url payload = {mode: "external_url", external_url: external_url, filename: fname} create payload else raise StandardError, "FileUploadObject requires a valid file name: #{fname}" unless File.exist?(fname) @file_size = File.size fname @number_of_parts = (@file_size - 1) / MAX_SIZE + 1 payload = if @number_of_parts == 1 {} else {number_of_parts: @number_of_parts, mode: "multi_part", filename: File.basename(@fname)} end create payload if @number_of_parts == 1 single_file_upload else @temp_files = FileUploadObject.split_to_small_files(@fname, MAX_SIZE) @temp_files.each_with_index do |temp_file, i| single_file_upload temp_file.path, i + 1 temp_file.close temp_file.unlink end NotionRubyMapping::NotionCache.instance.complete_a_file_upload_request @id end end end |