Class: Innowhite
- Inherits:
-
Object
- Object
- Innowhite
- Defined in:
- lib/innowhite.rb
Constant Summary collapse
- @@errors =
{ :user_miss => [1, "user value missed"], :fetch_fail => [2, "failed to fetch, maybe you have entered wrong username"], :room_miss => [3, "room not set"], :description_miss => [4, "description value not set"], :start_time => [5, "startTime value missed"], :end_time => [6, "endTime value missed"], :time_zone => [7, "timeZone value missed"], }
Instance Attribute Summary collapse
-
#mod_name ⇒ Object
Returns the value of attribute mod_name.
-
#org_name ⇒ Object
Returns the value of attribute org_name.
-
#private_key ⇒ Object
Returns the value of attribute private_key.
-
#server_address ⇒ Object
Returns the value of attribute server_address.
-
#sub ⇒ Object
Returns the value of attribute sub.
Class Method Summary collapse
Instance Method Summary collapse
- #cancel_meeting(room_id) ⇒ Object
- #create_room(params = {}) ⇒ Object
- #get_room_id(user) ⇒ Object
- #get_scheduled_list(params = {}) ⇒ Object
- #get_sessions(params = {}) ⇒ Object
- #getRecordingURL(room_id) ⇒ Object
-
#initialize ⇒ Innowhite
constructor
A new instance of Innowhite.
- #join_meeting(room_id, user) ⇒ Object
- #past_sessions(params = {}) ⇒ Object
- #schedule_meeting(params = {}) ⇒ Object
- #update_schedule(params = {}) ⇒ Object
Constructor Details
#initialize ⇒ Innowhite
Returns a new instance of Innowhite.
19 20 21 |
# File 'lib/innowhite.rb', line 19 def initialize load_settings end |
Instance Attribute Details
#mod_name ⇒ Object
Returns the value of attribute mod_name.
17 18 19 |
# File 'lib/innowhite.rb', line 17 def mod_name @mod_name end |
#org_name ⇒ Object
Returns the value of attribute org_name.
17 18 19 |
# File 'lib/innowhite.rb', line 17 def org_name @org_name end |
#private_key ⇒ Object
Returns the value of attribute private_key.
17 18 19 |
# File 'lib/innowhite.rb', line 17 def private_key @private_key end |
#server_address ⇒ Object
Returns the value of attribute server_address.
17 18 19 |
# File 'lib/innowhite.rb', line 17 def server_address @server_address end |
#sub ⇒ Object
Returns the value of attribute sub.
17 18 19 |
# File 'lib/innowhite.rb', line 17 def sub @sub end |
Class Method Details
.gen_checksum(params) ⇒ Object
119 120 121 122 123 |
# File 'lib/innowhite.rb', line 119 def self.gen_checksum(params) key = params.delete(:key) temp = params.to_param temp + "&checksum=#{Digest::SHA1.hexdigest(URI.escape(temp) + key)}" end |
Instance Method Details
#cancel_meeting(room_id) ⇒ Object
93 94 95 96 97 98 |
# File 'lib/innowhite.rb', line 93 def cancel_meeting(room_id) checksum = main_cheksum(@parent_org, @org_name) par = url_generator(@parent_org, @org_name) url = URI.escape("#{@api_address}cancel_meeting?roomId=#{room_id}&#{par}&checksum=#{checksum}") data(request("get", url))[:status] end |
#create_room(params = {}) ⇒ Object
23 24 25 26 27 28 29 30 |
# File 'lib/innowhite.rb', line 23 def create_room(params = {}) return err(*@@errors[:user_miss]) if params[:user].blank? room_id = get_room_id(params[:user]) return room_id[:errors] if room_id.has_key?(:errors) res = create_room_info(room_id[:data], params[:user], params[:tags], params[:desc], @org_name) $stdout << res.inspect res[:status] ? data({"room_id" => room_id[:data], "address" => res[:data]}) : res[:errors] end |
#get_room_id(user) ⇒ Object
125 126 127 128 |
# File 'lib/innowhite.rb', line 125 def get_room_id(user) url = "#{@api_address}api_create_room?#{{:parentOrg => @parent_org, :orgName => @org_name, :user => user, :key => @private_key}.to_param}" request("get", url) end |
#get_scheduled_list(params = {}) ⇒ Object
86 87 88 89 90 91 |
# File 'lib/innowhite.rb', line 86 def get_scheduled_list(params={}) checksum = main_cheksum(params[:parentOrg] || @parent_org, params[:orgName] || @org_name) par = url_generator(params[:parentOrg] || @parent_org, params[:orgName] || @org_name) url = URI.escape("#{@api_address}get_scheduled_sessions?#{par}&checksum=#{checksum}&tags=#{params[:tags]}&user=#{params[:user]}") request("get", url) end |
#get_sessions(params = {}) ⇒ Object
41 42 43 44 45 46 47 48 49 50 |
# File 'lib/innowhite.rb', line 41 def get_sessions(params = {}) temp = url_generator(params[:parentOrg] || @parent_org, params[:orgName] || @org_name) checksum = (URI.escape(temp)) tmp = "#{temp}&user=#{params[:user]}&tags=#{params[:tags]}" url = URI.escape("#{@api_address}list_sessions?#{tmp}&checksum=#{checksum}") request("get", url) rescue err(*@@errors[:fetch_fail]) end |
#getRecordingURL(room_id) ⇒ Object
114 115 116 117 |
# File 'lib/innowhite.rb', line 114 def getRecordingURL(room_id) url = "#{@api_address}api_get_recording_urls?#{{:room_id => room_id}.to_param}" data(request("get", url)) end |
#join_meeting(room_id, user) ⇒ Object
32 33 34 35 36 37 38 39 |
# File 'lib/innowhite.rb', line 32 def join_meeting(room_id, user) return err(*@@errors[:user_miss]) if user.nil? return err(*@@errors[:room_miss]) if room_id.nil? url = "#{@api_address}exist_session?roomId=#{room_id}" res = request("post", url) return res[:errors] if res.has_key?(:errors) res[:data].blank? ? err(-1, "Unknow") : data(join_room_url(@org_name, room_id, user, false)) end |
#past_sessions(params = {}) ⇒ Object
74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/innowhite.rb', line 74 def past_sessions(params = {}) temp = url_generator(params[:parentOrg] || @parent_org, params[:orgName] || @org_name) checksum = (URI.escape(temp)) tmp = "#{temp}&user=#{params[:user]}&tags=#{params[:tags]}" url = URI.escape("#{@api_address}past_sessions?#{tmp}&checksum=#{checksum}") request("get", url) rescue err(*@@errors[:fetch_fail]) end |
#schedule_meeting(params = {}) ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/innowhite.rb', line 52 def schedule_meeting(params = {}) return err(*@@errors[:user_miss]) if !params[:user] || params[:user].blank? return err(*@@errors[:description_miss]) if !params[:description] || params[:description].empty? return err(*@@errors[:start_time]) if !params[:startTime] || params[:startTime].blank? return err(*@@errors[:end_time]) if !params[:endTime] || params[:endTime].blank? return err(*@@errors[:time_zone]) if !params[:timeZone] || params[:timeZone].blank? room_id = get_room_id(params[:user]) return room_id[:errors] if room_id.has_key?(:errors) create_schedule( room_id, params[:user], params[:tags], params[:description], params[:parentOrg] || @parent_org, params[:startTime], params[:endTime], params[:timeZone]) end |
#update_schedule(params = {}) ⇒ Object
100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/innowhite.rb', line 100 def update_schedule(params = {}) checksum = main_cheksum(@parent_org, @org_name) params[:startTime] = params[:startTime].to_i if !params[:startTime].blank? && (params[:startTime].is_a?(DateTime) || params[:startTime].is_a?(Time)) params[:endTime] = params[:endTime].to_i if !params[:endTime].blank? && (params[:endTime].is_a?(DateTime) || params[:endTime].is_a?(Time)) request("put", "#{@api_address}update_schedule", {:roomId => params[:room_id], :tags => params[:tags], :description => params[:description], :parentOrg => @parent_org, :orgName => @org_name, :checksum => checksum, :startTime => params[:startTime], :endTime => params[:endTime], :timeZone => params[:timeZone] } )[:status] end |