Class: Parse::File

Inherits:
Object
  • Object
show all
Defined in:
lib/parse/datatypes.rb

Overview

File


tf = Parse::File.new(:body => “Hello World!”, :local_filename => “hello.txt”) tf.save

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ File

Returns a new instance of File.



319
320
321
322
323
324
325
326
# File 'lib/parse/datatypes.rb', line 319

def initialize(data)
  data = Hash[data.map{ |k, v| [k.to_s, v] }] # convert hash keys to strings
  @local_filename = data["local_filename"] if data["local_filename"]
  @parse_filename = data["parse_filename"] if data["parse_filename"]
  @content_type   = data["content_type"]   if data["content_type"]
  @url            = data["url"]            if data["url"]
  @body           = data["body"]           if data["body"]
end

Instance Attribute Details

#bodyObject

Returns the value of attribute body.



316
317
318
# File 'lib/parse/datatypes.rb', line 316

def body
  @body
end

#content_typeObject

Returns the value of attribute content_type.



315
316
317
# File 'lib/parse/datatypes.rb', line 315

def content_type
  @content_type
end

#local_filenameObject

‘{“__type”:“File”, “name”:“profile.png”, “url”=>“”}’



313
314
315
# File 'lib/parse/datatypes.rb', line 313

def local_filename
  @local_filename
end

#parse_filenameObject

eg “12-4-532d-d-g3-3-hello.text”



314
315
316
# File 'lib/parse/datatypes.rb', line 314

def parse_filename
  @parse_filename
end

#urlObject

Returns the value of attribute url.



317
318
319
# File 'lib/parse/datatypes.rb', line 317

def url
  @url
end

Instance Method Details

#as_json(*a) ⇒ Object



347
348
349
350
351
352
353
# File 'lib/parse/datatypes.rb', line 347

def as_json(*a)
  {
    Protocol::KEY_TYPE => Protocol::TYPE_FILE,
    "name" => @parse_filename,
    "url" => @url
  }
end

#eql?(other) ⇒ Boolean Also known as: ==

Returns:

  • (Boolean)


328
329
330
331
# File 'lib/parse/datatypes.rb', line 328

def eql?(other)
  self.class.equal?(other.class) &&
    url == other.url
end

#hashObject



335
336
337
# File 'lib/parse/datatypes.rb', line 335

def hash
  url.hash
end

#saveObject



339
340
341
342
343
344
345
# File 'lib/parse/datatypes.rb', line 339

def save
  uri = Parse::Protocol.file_uri(@local_filename)
  resp = Parse.client.request(uri, :post, @body, nil, @content_type)
  @parse_filename = resp["name"]
  @url = resp["url"]
  resp
end

#to_json(*a) ⇒ Object



355
356
357
# File 'lib/parse/datatypes.rb', line 355

def to_json(*a)
  as_json.to_json(*a)
end