Class: BridgeAPI::Client
- Inherits:
-
Footrest::Client
- Object
- Footrest::Client
- BridgeAPI::Client
- Defined in:
- lib/bridge_api/client.rb,
lib/bridge_api/client/user.rb,
lib/bridge_api/client/group.rb,
lib/bridge_api/client/manager.rb,
lib/bridge_api/client/data_dump.rb,
lib/bridge_api/client/enrollment.rb,
lib/bridge_api/client/live_course.rb,
lib/bridge_api/client/custom_field.rb,
lib/bridge_api/client/course_template.rb,
lib/bridge_api/client/program_enrollment.rb,
lib/bridge_api/client/live_course_enrollment.rb
Defined Under Namespace
Modules: CourseTemplate, CustomField, DataDump, Enrollment, Group, LiveCourse, LiveCourseEnrollment, Manager, ProgramEnrollment, User
Constant Summary collapse
- DATA_DUMP_DOWNLOAD_PATH =
'/data_dumps/download'- DATA_DUMP_PATH =
'/data_dumps'- COURSE_TEMPLATE_PATH =
'/course_templates'- ENROLLMENT_PATH =
'/enrollments'- PROGRAM_PATH =
'/programs'- PROGRAM_ENROLLMENT_PATH =
'/learners'- USER_PATH =
'/users'- GROUPS_PATH =
'/groups'- MANAGER_PATH =
'/managers'- ADMIN_PATH =
"/admin"- AUTHOR_PATH =
"/author"- LEARNER_PATH =
"/learner"- CUSTOM_FIELD_PATH =
"/custom_fields"- API_VERSION =
1- API_PATH =
'/api'- RESULT_MAPPING =
{}
Instance Method Summary collapse
-
#request(method, &block) ⇒ Object
Override Footrest request for ApiArray support.
- #set_connection(config) ⇒ Object
Instance Method Details
#request(method, &block) ⇒ Object
Override Footrest request for ApiArray support
38 39 40 |
# File 'lib/bridge_api/client.rb', line 38 def request(method, &block) ApiArray::process_response(connection.send(method, &block), self, RESULT_MAPPING) end |
#set_connection(config) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/bridge_api/client.rb', line 42 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.use Footrest::FollowRedirects, limit: 5 unless config[:follow_redirects] == false faraday.adapter Faraday.default_adapter 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 |