class Classroom
Attributes
file[R]
parent_dir[R]
path[R]
Public Class Methods
new(path, file)
click to toggle source
# File lib/codefusion/classroom.rb, line 9 def initialize(path, file) @path = path @dir = path.split('/').last @parent_dir = File.dirname(path) @code = new_code @file = file update end
Public Instance Methods
update()
click to toggle source
# File lib/codefusion/classroom.rb, line 18 def update request = [@code, make_hash] if @uuid FirebaseUpdateCommand.update(request, @uuid) else @uuid = set_uuid(FirebaseCreateCommand.create(request)) end end
url()
click to toggle source
# File lib/codefusion/classroom.rb, line 27 def url generate_url end
Private Instance Methods
current_codes()
click to toggle source
# File lib/codefusion/classroom.rb, line 44 def current_codes FirebaseCommand.classroom_codes end
generate_code()
click to toggle source
# File lib/codefusion/classroom.rb, line 40 def generate_code SecureRandom::hex(2) end
generate_url()
click to toggle source
# File lib/codefusion/classroom.rb, line 32 def generate_url "http://codefusion.io/#/classrooms/#{@code}" end
make_hash()
click to toggle source
# File lib/codefusion/classroom.rb, line 52 def make_hash if @file == "" DirParser.make_hash(@dir, @parent_dir) else FileParser.make_hash(@path, @file, @parent_dir) end end
new_code()
click to toggle source
# File lib/codefusion/classroom.rb, line 36 def new_code current_codes.include?(generate_code) ? new_code : generate_code end
set_uuid(response)
click to toggle source
# File lib/codefusion/classroom.rb, line 48 def set_uuid(response) response["name"] end