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)