Class: MedpassResourceApi::Base
- Inherits:
-
Object
- Object
- MedpassResourceApi::Base
- Defined in:
- lib/medpass_resource_api.rb
Constant Summary collapse
- @@configuration =
nil
Class Method Summary collapse
- .configuration ⇒ Object
- .configuration=(val) ⇒ Object
- .configure {|configuration| ... } ⇒ Object
- .get_login(login_or_openid_url) ⇒ Object
- .get_personal_profile_args(args) ⇒ Object
- .get_specialty_profile_args(args) ⇒ Object
- .get_user(login_or_openid_url, timestamp = nil) ⇒ Object
- .get_user_args(args, group_id, portal_name) ⇒ Object
- .get_user_friends(login_or_openid_url) ⇒ Object
- .get_user_message(login_or_openid_url, id) ⇒ Object
- .get_user_messages(login_or_openid_url, options = {}) ⇒ Object
- .get_user_profile(login_or_openid_url, timestamp = nil) ⇒ Object
- .get_user_read_messages(login_or_openid_url, options = {}) ⇒ Object
- .get_user_received_messages(login_or_openid_url, options = {}) ⇒ Object
- .get_user_sent_messages(login_or_openid_url, options = {}) ⇒ Object
- .get_user_unread_messages(login_or_openid_url, options = {}) ⇒ Object
- .register_doctor(args = {}, portal_name = nil) ⇒ Object
- .register_user(group_id = 1, args = {}, portal_name = nil) ⇒ Object
- .wrap_all(results) ⇒ Object
- .wrap_error(error) ⇒ Object
- .wrap_one(result) ⇒ Object
- .wrap_result(result) ⇒ Object
Class Method Details
.configuration ⇒ Object
26 27 28 |
# File 'lib/medpass_resource_api.rb', line 26 def self.configuration @@configuration end |
.configuration=(val) ⇒ Object
30 31 32 |
# File 'lib/medpass_resource_api.rb', line 30 def self.configuration=(val) @@configuration = val end |
.configure {|configuration| ... } ⇒ Object
34 35 36 37 |
# File 'lib/medpass_resource_api.rb', line 34 def self.configure self.configuration ||= Configuration.new yield(configuration) end |
.get_login(login_or_openid_url) ⇒ Object
161 162 163 164 |
# File 'lib/medpass_resource_api.rb', line 161 def self.get_login(login_or_openid_url) core_medpass_url = configuration.medpass_url.split("http://").last login_or_openid_url.gsub("/","").gsub('.beta.','.').split(".#{core_medpass_url}").last.gsub("http:","").gsub(".","-dot-") end |
.get_personal_profile_args(args) ⇒ Object
130 131 132 133 134 |
# File 'lib/medpass_resource_api.rb', line 130 def self.get_personal_profile_args(args) returning Hash.new do |hash| PERSONAL_PROFILE_ARGS.each{|k| hash[k] = args[k]} end end |
.get_specialty_profile_args(args) ⇒ Object
136 137 138 139 140 |
# File 'lib/medpass_resource_api.rb', line 136 def self.get_specialty_profile_args(args) returning Hash.new do |hash| SPECIALTY_PROFILE_ARGS.each{|k| hash[k] = args[k]} end end |
.get_user(login_or_openid_url, timestamp = nil) ⇒ Object
62 63 64 65 66 67 68 69 70 |
# File 'lib/medpass_resource_api.rb', line 62 def self.get_user(login_or_openid_url, = nil) login = get_login(login_or_openid_url) res = begin MedpassUser.find(login, :params =>{:timestamp => , :api_key => @@configuration.api_key}) rescue ArgumentError nil end wrap_result(res) end |
.get_user_args(args, group_id, portal_name) ⇒ Object
122 123 124 125 126 127 128 |
# File 'lib/medpass_resource_api.rb', line 122 def self.get_user_args(args, group_id, portal_name) returning Hash.new do |hash| USER_ARGS.each{|k| hash[k] = args[k]} hash[:group_id] = group_id hash[:portal_name] = portal_name end end |
.get_user_friends(login_or_openid_url) ⇒ Object
82 83 84 85 |
# File 'lib/medpass_resource_api.rb', line 82 def self.get_user_friends(login_or_openid_url) login = get_login(login_or_openid_url) wrap_result(MedpassUserFriend.find(:all, :params => {:user_id => login, :api_key => @@configuration.api_key})) end |
.get_user_message(login_or_openid_url, id) ⇒ Object
88 89 90 91 |
# File 'lib/medpass_resource_api.rb', line 88 def self.(login_or_openid_url, id) login = get_login(login_or_openid_url) wrap_result(MedpassMessage.find(id, :params => {:user_id => login, :api_key => @@configuration.api_key})) end |
.get_user_messages(login_or_openid_url, options = {}) ⇒ Object
93 94 95 96 97 98 99 100 |
# File 'lib/medpass_resource_api.rb', line 93 def self.(login_or_openid_url, = {}) login = get_login(login_or_openid_url) if ['read','received','sent'].include? [:scope].to_s wrap_result(send("get_user_#{[:scope]}_messages", login, )) else wrap_result(nil) end end |
.get_user_profile(login_or_openid_url, timestamp = nil) ⇒ Object
72 73 74 75 76 77 78 79 80 |
# File 'lib/medpass_resource_api.rb', line 72 def self.get_user_profile(login_or_openid_url, = nil) login = get_login(login_or_openid_url) res = begin MedpassUser.find(login, :params =>{:timestamp => , :full_profile => true, :api_key => @@configuration.api_key}) rescue ArgumentError nil end wrap_result(res) end |
.get_user_read_messages(login_or_openid_url, options = {}) ⇒ Object
107 108 109 110 |
# File 'lib/medpass_resource_api.rb', line 107 def self.(login_or_openid_url, = {}) login = get_login(login_or_openid_url) wrap_result(MedpassMessage.get(:read, :user_id => login, :limit => [:limit], :app => [:app], :api_key => @@configuration.api_key)) end |
.get_user_received_messages(login_or_openid_url, options = {}) ⇒ Object
102 103 104 105 |
# File 'lib/medpass_resource_api.rb', line 102 def self.(login_or_openid_url, = {}) login = get_login(login_or_openid_url) wrap_result(MedpassMessage.find(:all, :params => {:user_id => login, :api_key => @@configuration.api_key}.merge())) end |
.get_user_sent_messages(login_or_openid_url, options = {}) ⇒ Object
117 118 119 120 |
# File 'lib/medpass_resource_api.rb', line 117 def self.(login_or_openid_url, = {}) login = get_login(login_or_openid_url) wrap_result(MedpassMessage.get(:sent, :user_id => login, :limit => [:limit], :app => [:app], :api_key => @@configuration.api_key)) end |
.get_user_unread_messages(login_or_openid_url, options = {}) ⇒ Object
112 113 114 115 |
# File 'lib/medpass_resource_api.rb', line 112 def self.(login_or_openid_url, = {}) login = get_login(login_or_openid_url) wrap_result(MedpassMessage.get(:unread, :user_id => login, :limit => [:limit], :app => [:app], :api_key => @@configuration.api_key)) end |
.register_doctor(args = {}, portal_name = nil) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/medpass_resource_api.rb', line 50 def self.register_doctor(args = {}, portal_name = nil) arguments = {:user => get_user_args(args, 2, portal_name), :personal_profile => get_personal_profile_args(args), :specialty_profile => get_specialty_profile_args(args)} begin res = MedpassUser.post(:register, :api_key => @@configuration.api_key, :args => arguments) wrap_result(JSON.parse(res.response.body)) rescue ActiveResource::ResourceInvalid => error wrap_error(error) end end |
.register_user(group_id = 1, args = {}, portal_name = nil) ⇒ Object
40 41 42 43 44 45 46 47 48 |
# File 'lib/medpass_resource_api.rb', line 40 def self.register_user(group_id = 1, args = {}, portal_name = nil) arguments = {:user => get_user_args(args, group_id, portal_name), :personal_profile => get_personal_profile_args(args)} begin res = MedpassUser.post(:register, :api_key => @@configuration.api_key, :args => arguments) wrap_result(JSON.parse(res.response.body)) rescue ActiveResource::ResourceInvalid => error wrap_error(error) end end |
.wrap_all(results) ⇒ Object
156 157 158 159 |
# File 'lib/medpass_resource_api.rb', line 156 def self.wrap_all(results) return NilResult.instance if results.nil? Result.build_all(results) end |
.wrap_error(error) ⇒ Object
147 148 149 |
# File 'lib/medpass_resource_api.rb', line 147 def self.wrap_error(error) ErrorResult.new(error) end |
.wrap_one(result) ⇒ Object
151 152 153 154 |
# File 'lib/medpass_resource_api.rb', line 151 def self.wrap_one(result) return NilResult.instance if result.nil? Result.new(result) end |
.wrap_result(result) ⇒ Object
143 144 145 |
# File 'lib/medpass_resource_api.rb', line 143 def self.wrap_result(result) result.is_a?(Array) ? wrap_all(result) : wrap_one(result) end |