Class: SourceFile

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
lib/generators/s3_cors_fileupload/install/templates/source_file.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.open_awsObject



43
44
45
46
47
48
49
50
51
# File 'lib/generators/s3_cors_fileupload/install/templates/source_file.rb', line 43

def self.open_aws
  unless @aws_connected
    AWS::S3::Base.establish_connection!(
      :access_key_id     => S3CorsFileupload::Config.access_key_id,
      :secret_access_key => S3CorsFileupload::Config.secret_access_key
    )
  end
  @aws_connected ||= AWS::S3::Base.connected?
end

Instance Method Details

#is_image?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/generators/s3_cors_fileupload/install/templates/source_file.rb', line 32

def is_image?
  !!file_content_type.try(:match, /image/)
end

#s3_objectObject

—- start S3 related methods —–



37
38
39
40
41
# File 'lib/generators/s3_cors_fileupload/install/templates/source_file.rb', line 37

def s3_object
  @s3_object ||= AWS::S3::S3Object.find(key, bucket) if self.class.open_aws && key
rescue
  nil
end

#to_jq_uploadObject



21
22
23
24
25
26
27
28
29
30
# File 'lib/generators/s3_cors_fileupload/install/templates/source_file.rb', line 21

def to_jq_upload
  { 
    'id' => id,
    'name' => file_name,
    'size' => file_size,
    'url' => url,
    'image' => self.is_image?,
    'delete_url' => Rails.application.routes.url_helpers.source_file_path(self, :format => :json)
  }
end