Class: Classroom

Inherits:
Object
  • Object
show all
Includes:
Firebase
Defined in:
lib/codefusion/classroom.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Firebase

#create

Constructor Details

#initialize(file) ⇒ Classroom

Returns a new instance of Classroom.



7
8
9
10
# File 'lib/codefusion/classroom.rb', line 7

def initialize(file)
  @code = generate_classroom_code
  @file = file
end

Instance Attribute Details

#codeObject (readonly)

Returns the value of attribute code.



3
4
5
# File 'lib/codefusion/classroom.rb', line 3

def code
  @code
end

#fileObject (readonly)

Returns the value of attribute file.



3
4
5
# File 'lib/codefusion/classroom.rb', line 3

def file
  @file
end

Class Method Details

.create(file) ⇒ Object



12
13
14
15
# File 'lib/codefusion/classroom.rb', line 12

def self.create(file)
  Classroom.new(file)
  Classroom.save
end

Instance Method Details

#get_dirObject

reduce



36
37
38
# File 'lib/codefusion/classroom.rb', line 36

def get_dir ##reduce
  Dir.pwd
end

#get_file_nameObject

reduce



32
33
34
# File 'lib/codefusion/classroom.rb', line 32

def get_file_name ## reduce
  @file.name
end

#get_watch_urlObject

reduce



40
41
42
# File 'lib/codefusion/classroom.rb', line 40

def get_watch_url ##reduce
  generate_watch_url
end

#saveObject



22
23
24
25
26
27
28
29
30
# File 'lib/codefusion/classroom.rb', line 22

def save
  request_body = [@code, @file.name, @file.content] #would love to extract this into some other model
  unless @uuid
    response = Firebase.create(request_body)
    @uuid = get_uuid(response)
  else
    Firebase.update(request_body, @uuid)
  end
end

#updateObject



17
18
19
20
# File 'lib/codefusion/classroom.rb', line 17

def update
  @file.update
  save
end