lib/bearcat/client.rb in bearcat-1.4.8 vs lib/bearcat/client.rb in bearcat-1.4.9
- old
+ new
@@ -1,94 +1,25 @@
require 'active_support/core_ext/hash'
+require 'faraday_middleware'
require 'footrest/client'
require 'paul_walker'
module Bearcat
class Client < Footrest::Client
require 'bearcat/api_array'
- require 'bearcat/client/file_helper'
- require 'bearcat/client/assignments'
- require 'bearcat/client/blueprint_courses'
- require 'bearcat/client/courses'
- require 'bearcat/client/enrollments'
- require 'bearcat/client/outcome_groups'
- require 'bearcat/client/outcomes'
- require 'bearcat/client/sections'
- require 'bearcat/client/o_auth2'
- require 'bearcat/client/groups'
- require 'bearcat/client/group_categories'
- require 'bearcat/client/group_memberships'
- require 'bearcat/client/conferences'
- require 'bearcat/client/users'
- require 'bearcat/client/reports'
- require 'bearcat/client/accounts'
- require 'bearcat/client/submissions'
- require 'bearcat/client/conversations'
- require 'bearcat/client/modules'
- require 'bearcat/client/canvas_files'
- require 'bearcat/client/calendar_events'
- require 'bearcat/client/discussions'
- require 'bearcat/client/search'
- require 'bearcat/client/quizzes'
- require 'bearcat/client/assignment_groups'
- require 'bearcat/client/pages'
- require 'bearcat/client/files'
- require 'bearcat/client/folders'
- require 'bearcat/client/graph_ql'
- require 'bearcat/client/analytics'
- require 'bearcat/client/module_items'
- require 'bearcat/client/content_migrations'
- require 'bearcat/client/content_exports'
- require 'bearcat/client/custom_gradebook_columns'
- require 'bearcat/client/external_tools'
- require 'bearcat/client/roles'
- require 'bearcat/client/rubric'
- require 'bearcat/client/rubric_assessment'
- require 'bearcat/client/rubric_association'
- require 'bearcat/client/progresses'
- require 'bearcat/client/tabs'
- include Assignments
- include Accounts
- include Analytics
- include BlueprintCourses
- include Courses
- include Enrollments
- include OutcomeGroups
- include Outcomes
- include Sections
- include OAuth2
- include Groups
- include GroupCategories
- include GroupMemberships
- include Conferences
- include Users
- include Reports
- include Submissions
- include Conversations
- include Modules
- include CanvasFiles
- include CalendarEvents
- include Discussions
- include FileHelper
- include Search
- include Quizzes
- include AssignmentGroups
- include Pages
- include Files
- include Folders
- include GraphQL
- include ModuleItems
- include ContentMigrations
- include ContentExports
- include CustomGradebookColumns
- include ExternalTools
- include Roles
- include Rubric
- include RubricAssessment
- include RubricAssociation
- include Progresses
- include Tabs
+ Dir[File.join(__dir__, 'client', '*.rb')].each do |mod|
+ mname = File.basename(mod, '.*').camelize
+ mname = 'GraphQL' if mname == 'GraphQl'
+ require mod
+ include "Bearcat::Client::#{mname}".constantize
+ end
+
+ def set_connection(config)
+ super
+ # connection.builder.delete(Faraday::Request::Multipart)
+ # connection.builder.insert(0, FaradayMiddleware::EncodeJson)
+ end
# Override Footrest request for ApiArray support
def request(method, &block)
enforce_rate_limits
response = connection.send(method, &block)