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.



308
309
310
311
312
313
314
315
316
# File 'lib/parse/datatypes.rb', line 308

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["name"]           if data["name"]
  @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.



305
306
307
# File 'lib/parse/datatypes.rb', line 305

def body
  @body
end

#content_typeObject

Returns the value of attribute content_type.



304
305
306
# File 'lib/parse/datatypes.rb', line 304

def content_type
  @content_type
end

#local_filenameObject

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



302
303
304
# File 'lib/parse/datatypes.rb', line 302

def local_filename
  @local_filename
end

#parse_filenameObject

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



303
304
305
# File 'lib/parse/datatypes.rb', line 303

def parse_filename
  @parse_filename
end

#urlObject

Returns the value of attribute url.



306
307
308
# File 'lib/parse/datatypes.rb', line 306

def url
  @url
end

Instance Method Details

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

Returns:

  • (Boolean)


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

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

#hashObject



325
326
327
# File 'lib/parse/datatypes.rb', line 325

def hash
  url.hash
end

#saveObject



329
330
331
332
333
334
335
# File 'lib/parse/datatypes.rb', line 329

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_h(*a) ⇒ Object Also known as: as_json



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

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

#to_json(*a) ⇒ Object



346
347
348
# File 'lib/parse/datatypes.rb', line 346

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