Module: Bearcat

Defined in:
lib/bearcat/redis_connection.rb,
lib/bearcat.rb,
lib/bearcat/client.rb,
lib/bearcat/version.rb,
lib/bearcat/api_array.rb,
lib/bearcat/client/tabs.rb,
lib/bearcat/client/files.rb,
lib/bearcat/client/pages.rb,
lib/bearcat/client/roles.rb,
lib/bearcat/client/users.rb,
lib/bearcat/client/groups.rb,
lib/bearcat/client/logins.rb,
lib/bearcat/client/rubric.rb,
lib/bearcat/client/search.rb,
lib/bearcat/client_module.rb,
lib/bearcat/rate_limiting.rb,
lib/bearcat/client/courses.rb,
lib/bearcat/client/folders.rb,
lib/bearcat/client/modules.rb,
lib/bearcat/client/o_auth2.rb,
lib/bearcat/client/quizzes.rb,
lib/bearcat/client/reports.rb,
lib/bearcat/client/accounts.rb,
lib/bearcat/client/graph_ql.rb,
lib/bearcat/client/outcomes.rb,
lib/bearcat/client/sections.rb,
lib/bearcat/client/analytics.rb,
lib/bearcat/client/progresses.rb,
lib/bearcat/client/assignments.rb,
lib/bearcat/client/conferences.rb,
lib/bearcat/client/discussions.rb,
lib/bearcat/client/enrollments.rb,
lib/bearcat/client/file_helper.rb,
lib/bearcat/client/sis_imports.rb,
lib/bearcat/client/submissions.rb,
lib/bearcat/client/canvas_files.rb,
lib/bearcat/client/module_items.rb,
lib/bearcat/client/conversations.rb,
lib/bearcat/client/external_tools.rb,
lib/bearcat/client/outcome_groups.rb,
lib/bearcat/client/account_reports.rb,
lib/bearcat/client/calendar_events.rb,
lib/bearcat/client/content_exports.rb,
lib/bearcat/client/outcome_imports.rb,
lib/bearcat/client/group_categories.rb,
lib/bearcat/client/assignment_groups.rb,
lib/bearcat/client/blueprint_courses.rb,
lib/bearcat/client/group_memberships.rb,
lib/bearcat/client/learning_outcomes.rb,
lib/bearcat/client/rubric_assessment.rb,
lib/bearcat/client/content_migrations.rb,
lib/bearcat/client/rubric_association.rb,
lib/bearcat/rate_limiting/redis_script.rb,
lib/bearcat/client/custom_gradebook_columns.rb

Overview

Defined Under Namespace

Modules: RateLimiting, RedisConnection, SpecHelpers Classes: ApiArray, Client, ExtendedRaiseFootrestErrors

Constant Summary collapse

VERSION =
'1.5.17'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.loggerObject



35
36
37
38
39
40
# File 'lib/bearcat.rb', line 35

def logger
  return @logger if defined? @logger
  @logger = Logger.new(STDOUT)
  @logger.level = Logger::DEBUG
  @logger
end

.master_rate_limitObject

Deprecated.


31
32
33
# File 'lib/bearcat.rb', line 31

def master_rate_limit
  @master_rate_limit ||= false
end

.max_sleep_secondsObject



26
27
28
# File 'lib/bearcat.rb', line 26

def max_sleep_seconds
  @max_sleep_seconds ||= 60
end

.min_sleep_secondsObject



22
23
24
# File 'lib/bearcat.rb', line 22

def min_sleep_seconds
  @min_sleep_seconds ||= 5
end

.rate_limit_minObject



18
19
20
# File 'lib/bearcat.rb', line 18

def rate_limit_min
  @rate_limit_min ||= 175
end

.rate_limiterObject



14
15
16
# File 'lib/bearcat.rb', line 14

def rate_limiter
  @rate_limiter
end

.rate_limits=(value) ⇒ Object (writeonly)

Sets the attribute rate_limits

Parameters:

  • value

    the value to set the attribute rate_limits to.



7
8
9
# File 'lib/bearcat.rb', line 7

def rate_limits=(value)
  @rate_limits = value
end

Class Method Details

.configure {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:

  • _self (Bearcat)

    the object that the method was called on



10
11
12
# File 'lib/bearcat.rb', line 10

def configure
  yield self if block_given?
end

.redisObject

Raises:

  • (ArgumentError)


47
48
49
50
51
52
# File 'lib/bearcat.rb', line 47

def redis
  raise ArgumentError, "requires a block" unless block_given?
  redis_pool.with do |conn|
    yield conn
  end
end

.redis_poolObject



42
43
44
45
# File 'lib/bearcat.rb', line 42

def redis_pool
  require 'bearcat/redis_connection'
  @redis_pool ||= RedisConnection.create(env_prefix: "BEARCAT")
end