class GitContacts::Request
Public Class Methods
create(hash)
click to toggle source
# File lib/gitcontacts/Request.rb, line 10 def create hash # all keys are required obj = RequestObject.new obj.uid = hash[:uid] obj.gid = hash[:gid] obj.time = Time.now.to_i obj.card_id = hash[:card_id] if hash.member? :card_id obj.action = hash[:action] obj.content = hash[:content] if hash.member? :content obj.request_id end
delete(request_id)
click to toggle source
# File lib/gitcontacts/Request.rb, line 22 def delete request_id return true if RequestObject::delete(request_id) > 0 end
exist?(request_id)
click to toggle source
# File lib/gitcontacts/Request.rb, line 6 def exist? request_id return true if RequestObject::exist?(request_id) end
new(request_id)
click to toggle source
# File lib/gitcontacts/Request.rb, line 28 def initialize request_id @obj = RequestObject::access request_id end
Public Instance Methods
allow(operator)
click to toggle source
# File lib/gitcontacts/Request.rb, line 70 def allow operator author = User.new getuid operator = User.new operator contacts = Gitdb::Contacts.new(getuid).access getgid card = Gitdb::Card.new contacts.repo case getaction when 'create' card.create getuid when 'setmeta' card.access(getcard_id).setmeta JSON.parse(getcontent, { symbolize_names: true }) when 'setdata' card.access(getcard_id).setdata JSON.parse(getcontent, { symbolize_names: true }) when 'delete' card.access(getcard_id).delete end commit_obj = { :author => { :name => author.getuid, :email => author.getemail, :time => Time.at(get_req_time.to_i) }, :committer => { :name => operator.getuid, :email => operator.getemail, :time => Time.now } } contacts.make_a_commit commit_obj card.getmeta[:id] end
auto_merge?(uid)
click to toggle source
code review: @AustinChou
# File lib/gitcontacts/Request.rb, line 57 def auto_merge? uid if contacts = Contacts.new(getgid) if contacts.getadmins.include? uid return true else case getaction when "setdata" ,"delete" return true if Gitdb::Card.new(getgid).access(getcard_id).getmeta[:owner] == getuid # to-do end end end end
deny()
click to toggle source
# File lib/gitcontacts/Request.rb, line 96 def deny # deny merge here author = User.new getuid author.remove_request @obj.request_id Request::delete @obj.request_id end
get_req_time()
click to toggle source
# File lib/gitcontacts/Request.rb, line 48 def get_req_time @obj.time.value if @obj end
getaction()
click to toggle source
# File lib/gitcontacts/Request.rb, line 40 def getaction @obj.action.value if @obj end
getcard_id()
click to toggle source
# File lib/gitcontacts/Request.rb, line 44 def getcard_id @obj.card_id.value if @obj end
getcontent()
click to toggle source
# File lib/gitcontacts/Request.rb, line 52 def getcontent @obj.content.value if @obj end
getgid()
click to toggle source
# File lib/gitcontacts/Request.rb, line 36 def getgid @obj.gid.value if @obj end
getuid()
click to toggle source
# File lib/gitcontacts/Request.rb, line 32 def getuid @obj.uid.value if @obj end