Class: BridgeAPI::Client
- Inherits:
-
Footrest::Client
- Object
- Footrest::Client
- BridgeAPI::Client
- Includes:
- CourseTemplate, CustomField, Enrollment, User, Footrest
- Defined in:
- lib/bridge_api/client.rb,
lib/bridge_api/client/user.rb,
lib/bridge_api/client/enrollment.rb,
lib/bridge_api/client/custom_field.rb,
lib/bridge_api/client/course_template.rb
Defined Under Namespace
Modules: CourseTemplate, CustomField, Enrollment, User
Constant Summary collapse
- COURSE_TEMPLATE_PATH =
'/course_templates'- ENROLLMENT_PATH =
'/enrollments'- USER_PATH =
'/users'- ADMIN_PATH =
"/admin"- AUTHOR_PATH =
"/author"- LEARNER_PATH =
"/learner"- CUSTOM_FIELD_PATH =
"/custom_fields"- API_VERSION =
1- API_PATH =
'/api'
Instance Method Summary collapse
-
#request(method, &block) ⇒ Object
Override Footrest request for ApiArray support.
- #set_connection(config) ⇒ Object
Methods included from CustomField
#add_custom_field, #delete_custom_field, #get_all_custom_fields, #get_custom_field, #update_custom_field
Methods included from User
#add_user, #delete_user, #get_all_users, #get_user, #update_user
Methods included from Enrollment
#add_enrollment, #delete_enrollment, #get_all_enrollments, #update_enrollment
Methods included from CourseTemplate
#create_course_template, #delete_course_template, #get_all_course_templates, #get_course_template, #publish_course_template, #update_course_template
Instance Method Details
#request(method, &block) ⇒ Object
Override Footrest request for ApiArray support
35 36 37 |
# File 'lib/bridge_api/client.rb', line 35 def request(method, &block) ApiArray::process_response(connection.send(method, &block), self) end |
#set_connection(config) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/bridge_api/client.rb', line 39 def set_connection(config) config[:logger] = config[:logging] if config[:logging] @connection = Faraday.new(url: config[:prefix]) do |faraday| faraday.request :multipart faraday.request :url_encoded if config[:logger] == true faraday.response :logger elsif config[:logger] faraday.use Faraday::Response::Logger, config[:logger] end faraday.adapter Faraday.default_adapter faraday.use Footrest::FollowRedirects faraday.use Footrest::ParseJson, :content_type => /\bjson$/ faraday.use Footrest::RaiseFootrestErrors faraday.use Footrest::Pagination faraday.headers[:accept] = "application/json" faraday.headers[:authorization] = "Bearer #{config[:token]}" if config[:token] faraday.headers[:user_agent] = "Footrest" if config[:api_key] && config[:api_secret] faraday.headers[:authorization] = 'Basic ' + Base64.strict_encode64("#{config[:api_key]}:#{config[:api_secret]}") elsif config[:token] faraday.headers[:authorization] = "Bearer #{config[:token]}" else raise 'No api authorization provided' end end end |