Class: ClassleaksOAuth::Client
- Inherits:
-
Object
- Object
- ClassleaksOAuth::Client
- Defined in:
- lib/classleaks_oauth/client.rb,
lib/classleaks_oauth/methods.rb
Instance Method Summary collapse
- #add_assessment(lecture_id, content, overall, fairness, easiness, options = {}) ⇒ Object
- #add_talk(lecture_id, content, options = {}) ⇒ Object
-
#assessments(lecture_id, options = {}) ⇒ Object
assessment.
- #authentication_request_token(options = {}) ⇒ Object
- #authorize(token, secret, options = {}) ⇒ Object
-
#authorized? ⇒ Boolean
oauth.
- #delete(path, body = '', headers = {}) ⇒ Object
- #destroy_assessment(assessment_id) ⇒ Object
- #destroy_talk(talk_id) ⇒ Object
-
#get(path, headers = {}) ⇒ Object
get, post, put, delete will be private methods..
-
#initialize(options = {}) ⇒ Client
constructor
A new instance of Client.
-
#join(username, fullname, password, options = {}) ⇒ Object
user.
- #lecture_add(lecture_id, options = {}) ⇒ Object
- #lecture_delete(lecture_id, options = {}) ⇒ Object
- #my_lectures ⇒ Object
- #post(path, body = '', headers = {}) ⇒ Object
- #put(path, body = '', headers = {}) ⇒ Object
- #request_token(options = {}) ⇒ Object
-
#search_lecture(university_id, keyword) ⇒ Object
university, lecture traversing.
- #search_university(keyword) ⇒ Object
-
#talks(lecture_id, options = {}) ⇒ Object
talk.
- #update_assessment(assessment_id, content, overall, fairness, easiness, options = {}) ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Client
Returns a new instance of Client.
11 12 13 14 15 16 17 |
# File 'lib/classleaks_oauth/client.rb', line 11 def initialize( = {}) @consumer_key = [:consumer_key] @consumer_secret = [:consumer_secret] @token = [:token] @secret = [:secret] #@callback_url = options[:callback_url] end |
Instance Method Details
#add_assessment(lecture_id, content, overall, fairness, easiness, options = {}) ⇒ Object
59 60 61 |
# File 'lib/classleaks_oauth/methods.rb', line 59 def add_assessment(lecture_id, content, overall, fairness, easiness, ={}) post("/v1/assessments/add.json", .merge(:lecture_id => lecture_id, :content => content, :overall => overall, :fairness => fairness, :easiness => easiness)) end |
#add_talk(lecture_id, content, options = {}) ⇒ Object
46 47 48 |
# File 'lib/classleaks_oauth/methods.rb', line 46 def add_talk(lecture_id, content, ={}) post("/v1/talks/add.json", .merge(:lecture_id => lecture_id, :content => content)) end |
#assessments(lecture_id, options = {}) ⇒ Object
assessment
55 56 57 |
# File 'lib/classleaks_oauth/methods.rb', line 55 def assessments(lecture_id, ={}) get("/v1/assessments.json?#{.merge(:lecture_id => lecture_id).collect{|k,v| "#{k}=#{v}"}.join('&')}") end |
#authentication_request_token(options = {}) ⇒ Object
33 34 35 |
# File 'lib/classleaks_oauth/client.rb', line 33 def authentication_request_token( = {}) request_token() end |
#authorize(token, secret, options = {}) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/classleaks_oauth/client.rb', line 19 def (token, secret, = {}) request_token = OAuth::RequestToken.new( consumer, token, secret ) @access_token = request_token.get_access_token() @token = @access_token.token @secret = @access_token.secret @access_token end |
#authorized? ⇒ Boolean
oauth
5 6 7 8 9 10 11 12 |
# File 'lib/classleaks_oauth/methods.rb', line 5 def begin oauth_response = access_token.get("/oauth/test_request") oauth_response.code.to_i == 200 rescue Exception => e false end end |
#delete(path, body = '', headers = {}) ⇒ Object
59 60 61 62 63 |
# File 'lib/classleaks_oauth/client.rb', line 59 def delete(path, body='', headers={}) headers.merge!("User-Agent" => "classleaks_oauth gem v#{ClassleaksOAuth::VERSION}") oauth_response = access_token.delete(path, headers) JSON.parse oauth_response.body end |
#destroy_assessment(assessment_id) ⇒ Object
67 68 69 |
# File 'lib/classleaks_oauth/methods.rb', line 67 def destroy_assessment(assessment_id) post("/v1/assessments/destroy/#{assessment_id}.json") end |
#destroy_talk(talk_id) ⇒ Object
50 51 52 |
# File 'lib/classleaks_oauth/methods.rb', line 50 def destroy_talk(talk_id) post("/v1/talks/destroy/#{talk_id}.json") end |
#get(path, headers = {}) ⇒ Object
get, post, put, delete will be private methods.. now public just for test
39 40 41 42 43 44 |
# File 'lib/classleaks_oauth/client.rb', line 39 def get(path, headers={}) headers.merge!("User-Agent" => "classleaks_oauth gem v#{ClassleaksOAuth::VERSION}") oauth_response = access_token.get(path, headers) # JSON.parse oauth_response.body oauth_response.body end |
#join(username, fullname, password, options = {}) ⇒ Object
user
16 17 18 |
# File 'lib/classleaks_oauth/methods.rb', line 16 def join(username, fullname, password, ={}) post("/v1/users/join.json", .merge(:username => username, :fullname => fullname, :password => password)) end |
#lecture_add(lecture_id, options = {}) ⇒ Object
33 34 35 |
# File 'lib/classleaks_oauth/methods.rb', line 33 def lecture_add(lecture_id, ={}) post("/v1/lectures/add/#{lecture_id}.json", ) end |
#lecture_delete(lecture_id, options = {}) ⇒ Object
37 38 39 |
# File 'lib/classleaks_oauth/methods.rb', line 37 def lecture_delete(lecture_id, ={}) post("/v1/lectures/delete/#{lecture_id}.json", ) end |
#my_lectures ⇒ Object
29 30 31 |
# File 'lib/classleaks_oauth/methods.rb', line 29 def my_lectures get("/v1/lectures/my.json") end |
#post(path, body = '', headers = {}) ⇒ Object
46 47 48 49 50 51 |
# File 'lib/classleaks_oauth/client.rb', line 46 def post(path, body='', headers={}) headers.merge!("User-Agent" => "classleaks_oauth gem v#{ClassleaksOAuth::VERSION}") oauth_response = access_token.post(path, body, headers) # JSON.parse oauth_response.body oauth_response.body end |
#put(path, body = '', headers = {}) ⇒ Object
53 54 55 56 57 |
# File 'lib/classleaks_oauth/client.rb', line 53 def put(path, body='', headers={}) headers.merge!("User-Agent" => "classleaks_oauth gem v#{ClassleaksOAuth::VERSION}") oauth_response = access_token.put(path, body, headers) JSON.parse oauth_response.body end |
#request_token(options = {}) ⇒ Object
29 30 31 |
# File 'lib/classleaks_oauth/client.rb', line 29 def request_token(={}) consumer.get_request_token() end |
#search_lecture(university_id, keyword) ⇒ Object
university, lecture traversing
21 22 23 |
# File 'lib/classleaks_oauth/methods.rb', line 21 def search_lecture(university_id, keyword) get("/search/lecture?university_id=#{university_id}&keyword=#{keyword}") end |
#search_university(keyword) ⇒ Object
25 26 27 |
# File 'lib/classleaks_oauth/methods.rb', line 25 def search_university(keyword) get("/search/university?keyword=#{keyword}") end |
#talks(lecture_id, options = {}) ⇒ Object
talk
42 43 44 |
# File 'lib/classleaks_oauth/methods.rb', line 42 def talks(lecture_id, ={}) get("/v1/talks.json?#{.merge(:lecture_id => lecture_id).collect{|k,v| "#{k}=#{v}"}.join('&')}") end |
#update_assessment(assessment_id, content, overall, fairness, easiness, options = {}) ⇒ Object
63 64 65 |
# File 'lib/classleaks_oauth/methods.rb', line 63 def update_assessment(assessment_id, content, overall, fairness, easiness, ={}) post("/v1/assessments/update/#{assessment_id}.json", .merge(:content => content, :overall => overall, :fairness => fairness, :easiness => easiness)) end |