bearcat 1.5.19 → 1.5.20

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 349200e5b396d03d325a41b8005a62d3dd9f84011bffd24f7a0cdc7a27938d23
4
- data.tar.gz: b9a4ffe170514f6d1c65d296ebacc7098fcfd85502be6621941edc91e5dde69f
3
+ metadata.gz: d2ea870d3a7bb8cdeb58bd8e6368cff091f899cad82ca0a281420f486bdce146
4
+ data.tar.gz: 72a19e68aa2f7552e236d0c1394a09da1c13ee3c4d3c46f855bda079bbd2ed10
5
5
  SHA512:
6
- metadata.gz: 6da4c3b3c8cc79ae6ef026dd964360af049ab19c6cb6f9b4000a58b6c91cef80a0f9982482f63aa49317eace561a932e555f0508c73625e142003145a1da0dfc
7
- data.tar.gz: f7d9050559136046b95ea62aff119048842b92adfb000e1c043f4ee3b9607bbd4cfc232e6e06bc3c1fc6032cd0946f40b79c9692c1fa354cb5a0f6aa6482a53e
6
+ metadata.gz: 2ecf40965df234339c110c57e37e7290a48c397dbe2e096c94dae938f3b85dbfd4e7f0f127daa230dd668e0ba93dc4b9eb177501eb2226e9d5d79c978356fa4e
7
+ data.tar.gz: dbd0b9f3e1103d4ea9bc650176d3866be0beadcbe3b3190ea504b88fc96396cd86b2fe654b119ed2c5ea87a8ddcd18d618d7fdd60f5fee48ae8a401dca4f8d05
@@ -21,6 +21,14 @@ module Bearcat
21
21
  get :dashboard_positions, "dashboard_positions"
22
22
  put :update_dashboard_positions, "dashboard_positions"
23
23
  end
24
+
25
+ prefix "self/" do
26
+ get :course_nicknames, "course_nicknames?as_user_id=:user"
27
+ get :course_nickname, "course_nicknames/:course?as_user_id=:user"
28
+ put :set_course_nickname, "course_nicknames/:course?as_user_id=:user"
29
+ delete :delete_course_nickname, "course_nicknames/:course?as_user_id=:user"
30
+ delete :clear_course_nickname, "course_nicknames?as_user_id=:user"
31
+ end
24
32
  end
25
33
 
26
34
  # scope: food
@@ -1,3 +1,3 @@
1
1
  module Bearcat
2
- VERSION = '1.5.19' unless defined?(Bearcat::VERSION)
2
+ VERSION = '1.5.20' unless defined?(Bearcat::VERSION)
3
3
  end
@@ -4,7 +4,7 @@ require 'sidekiq'
4
4
 
5
5
  describe Bearcat::RateLimiting do
6
6
  let!(:subject) { Bearcat::RateLimiting::RedisLimiter.new }
7
- let!(:client) { Bearcat::Client.new(rate_limiter: subject, token: SecureRandom.hex) }
7
+ let!(:client) { Bearcat::Client.new(prefix: "http://canvas.instructure.com", rate_limiter: subject, token: SecureRandom.hex) }
8
8
  let!(:token) { client.send(:rate_limit_key) }
9
9
 
10
10
  def fillup(count, rate: 100)
@@ -4,7 +4,7 @@ require 'bearcat/spec_helpers'
4
4
 
5
5
  describe Bearcat::SpecHelpers do
6
6
  include Bearcat::SpecHelpers
7
- let!(:client) { Bearcat::Client.new(token: SecureRandom.hex) }
7
+ let!(:client) { Bearcat::Client.new(prefix: "http://canvas.instructure.com", token: SecureRandom.hex) }
8
8
 
9
9
  describe "#stub_bearcat" do
10
10
  it "works as expected" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bearcat
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.19
4
+ version: 1.5.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Instructure CustomDev
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-10 00:00:00.000000000 Z
11
+ date: 2024-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -206,7 +206,6 @@ files:
206
206
  - lib/bearcat/client/users.rb
207
207
  - lib/bearcat/client_module.rb
208
208
  - lib/bearcat/rate_limiting.rb
209
- - lib/bearcat/rate_limiting/functions.lua
210
209
  - lib/bearcat/rate_limiting/increment_bucket.lua
211
210
  - lib/bearcat/rate_limiting/redis_script.rb
212
211
  - lib/bearcat/redis_connection.rb
@@ -413,10 +412,10 @@ files:
413
412
  - spec/fixtures/user_page_views.json
414
413
  - spec/fixtures/user_profile.json
415
414
  - spec/helper.rb
416
- homepage:
415
+ homepage:
417
416
  licenses: []
418
417
  metadata: {}
419
- post_install_message:
418
+ post_install_message:
420
419
  rdoc_options: []
421
420
  require_paths:
422
421
  - lib
@@ -431,199 +430,199 @@ required_rubygems_version: !ruby/object:Gem::Requirement
431
430
  - !ruby/object:Gem::Version
432
431
  version: '0'
433
432
  requirements: []
434
- rubygems_version: 3.1.6
435
- signing_key:
433
+ rubygems_version: 3.5.4
434
+ signing_key:
436
435
  specification_version: 4
437
436
  summary: Canvas API
438
437
  test_files:
439
- - spec/bearcat_spec.rb
440
- - spec/helper.rb
441
- - spec/bearcat/client_spec.rb
442
438
  - spec/bearcat/api_array_spec.rb
443
- - spec/bearcat/client/external_tools_spec.rb
444
- - spec/bearcat/client/groups_spec.rb
445
- - spec/bearcat/client/outcomes_spec.rb
446
- - spec/bearcat/client/submissions_spec.rb
447
- - spec/bearcat/client/sections_spec.rb
439
+ - spec/bearcat/client/accounts_spec.rb
440
+ - spec/bearcat/client/analytics_spec.rb
441
+ - spec/bearcat/client/assignment_groups_spec.rb
442
+ - spec/bearcat/client/assignments_spec.rb
448
443
  - spec/bearcat/client/blueprint_courses_spec.rb
449
- - spec/bearcat/client/outcome_groups_spec.rb
450
- - spec/bearcat/client/quizzes_spec.rb
444
+ - spec/bearcat/client/calendar_events_spec.rb
445
+ - spec/bearcat/client/canvas_files_spec.rb
451
446
  - spec/bearcat/client/conferences_spec.rb
452
- - spec/bearcat/client/search_spec.rb
453
- - spec/bearcat/client/reports_spec.rb
454
- - spec/bearcat/client/group_categories_spec.rb
447
+ - spec/bearcat/client/content_exports_spec.rb
455
448
  - spec/bearcat/client/content_migrations_spec.rb
456
- - spec/bearcat/client/assignments_spec.rb
449
+ - spec/bearcat/client/conversations_spec.rb
450
+ - spec/bearcat/client/courses_spec.rb
451
+ - spec/bearcat/client/custom_gradebook_columns_spec.rb
452
+ - spec/bearcat/client/discussions_spec.rb
453
+ - spec/bearcat/client/enrollments_spec.rb
454
+ - spec/bearcat/client/external_tools_spec.rb
455
+ - spec/bearcat/client/files_spec.rb
456
+ - spec/bearcat/client/folders_spec.rb
457
+ - spec/bearcat/client/graph_ql_spec.rb
458
+ - spec/bearcat/client/group_categories_spec.rb
457
459
  - spec/bearcat/client/group_membership_spec.rb
458
- - spec/bearcat/client/analytics_spec.rb
460
+ - spec/bearcat/client/group_memberships_spec.rb
461
+ - spec/bearcat/client/groups_spec.rb
462
+ - spec/bearcat/client/learning_outcomes_spec.rb
459
463
  - spec/bearcat/client/module_items_spec.rb
460
464
  - spec/bearcat/client/modules_spec.rb
461
- - spec/bearcat/client/rubric_association_spec.rb
465
+ - spec/bearcat/client/o_auth2_spec.rb
466
+ - spec/bearcat/client/outcome_groups_spec.rb
467
+ - spec/bearcat/client/outcomes_spec.rb
468
+ - spec/bearcat/client/pages_spec.rb
469
+ - spec/bearcat/client/quizzes_spec.rb
470
+ - spec/bearcat/client/reports_spec.rb
462
471
  - spec/bearcat/client/roles_spec.rb
463
472
  - spec/bearcat/client/rubric_assessment_spec.rb
464
- - spec/bearcat/client/folders_spec.rb
473
+ - spec/bearcat/client/rubric_association_spec.rb
465
474
  - spec/bearcat/client/rubric_spec.rb
466
- - spec/bearcat/client/files_spec.rb
467
- - spec/bearcat/client/accounts_spec.rb
468
- - spec/bearcat/client/canvas_files_spec.rb
469
- - spec/bearcat/client/pages_spec.rb
470
- - spec/bearcat/client/content_exports_spec.rb
471
- - spec/bearcat/client/graph_ql_spec.rb
472
- - spec/bearcat/client/o_auth2_spec.rb
473
- - spec/bearcat/client/courses_spec.rb
474
- - spec/bearcat/client/custom_gradebook_columns_spec.rb
475
- - spec/bearcat/client/enrollments_spec.rb
476
- - spec/bearcat/client/conversations_spec.rb
477
- - spec/bearcat/client/learning_outcomes_spec.rb
478
- - spec/bearcat/client/group_memberships_spec.rb
475
+ - spec/bearcat/client/search_spec.rb
476
+ - spec/bearcat/client/sections_spec.rb
477
+ - spec/bearcat/client/submissions_spec.rb
479
478
  - spec/bearcat/client/users_spec.rb
480
- - spec/bearcat/client/calendar_events_spec.rb
481
- - spec/bearcat/client/assignment_groups_spec.rb
482
- - spec/bearcat/client/discussions_spec.rb
479
+ - spec/bearcat/client_spec.rb
483
480
  - spec/bearcat/rate_limiting_spec.rb
484
481
  - spec/bearcat/stub_bearcat_spec.rb
482
+ - spec/bearcat_spec.rb
483
+ - spec/fixtures/access_token.json
484
+ - spec/fixtures/account_admin_create.json
485
+ - spec/fixtures/account_admin_delete.json
486
+ - spec/fixtures/account_admins.json
487
+ - spec/fixtures/account_courses.json
488
+ - spec/fixtures/account_grading_standards.json
489
+ - spec/fixtures/account_groups.json
490
+ - spec/fixtures/account_reports.json
491
+ - spec/fixtures/account_reports_index.json
492
+ - spec/fixtures/account_reports_result_success.json
493
+ - spec/fixtures/account_reports_start_result.json
494
+ - spec/fixtures/account_role.json
495
+ - spec/fixtures/account_roles.json
496
+ - spec/fixtures/account_sis_imports.json
497
+ - spec/fixtures/account_sub_accounts.json
498
+ - spec/fixtures/account_user.json
499
+ - spec/fixtures/account_users.json
500
+ - spec/fixtures/accounts.json
501
+ - spec/fixtures/add_custom_user_data.json
485
502
  - spec/fixtures/add_user.json
486
- - spec/fixtures/calendar_event.json
503
+ - spec/fixtures/assignment.json
487
504
  - spec/fixtures/assignment_group.json
488
- - spec/fixtures/outcome_result.json
489
- - spec/fixtures/pages.json
490
- - spec/fixtures/course_grading_standards.json
491
- - spec/fixtures/user_avatars.json
492
- - spec/fixtures/account_user.json
493
- - spec/fixtures/course_folder.json
494
- - spec/fixtures/rubric_association.json
495
- - spec/fixtures/outcome_group_import.json
496
- - spec/fixtures/edited_group_category.json
497
- - spec/fixtures/course_copy.json
498
- - spec/fixtures/single_account.json
499
- - spec/fixtures/module.json
505
+ - spec/fixtures/assignment_groups.json
506
+ - spec/fixtures/assignment_section_override.json
507
+ - spec/fixtures/assignments.json
508
+ - spec/fixtures/bearcat.jpg
509
+ - spec/fixtures/blueprint_migration.json
510
+ - spec/fixtures/blueprint_subscriptions.json
511
+ - spec/fixtures/blueprint_template.json
500
512
  - spec/fixtures/blueprint_update_assocations_success.json
501
- - spec/fixtures/account_admin_create.json
513
+ - spec/fixtures/calendar_event.json
514
+ - spec/fixtures/calendar_events.json
515
+ - spec/fixtures/canvas_files/declare_file.json
516
+ - spec/fixtures/canvas_files/upload_success.json
502
517
  - spec/fixtures/cc.imscc
503
- - spec/fixtures/discussion_topics.json
504
- - spec/fixtures/account_sub_accounts.json
505
- - spec/fixtures/created_group_category.json
506
- - spec/fixtures/user_page_views.json
507
- - spec/fixtures/delete_custom_data_scope.json
508
- - spec/fixtures/file.csv
509
- - spec/fixtures/dashboard.json
510
- - spec/fixtures/submissions/submission.json
511
- - spec/fixtures/create_course_discussion.json
512
- - spec/fixtures/conversation.json
513
518
  - spec/fixtures/communication_channels.json
514
- - spec/fixtures/account_users.json
515
- - spec/fixtures/accounts.json
516
- - spec/fixtures/deleted_group.json
517
- - spec/fixtures/course_files.json
518
- - spec/fixtures/group_membership.json
519
- - spec/fixtures/content_migration_files/upload_success.json
520
- - spec/fixtures/content_migration_files/response.json
519
+ - spec/fixtures/conclude_enrollment.json
520
+ - spec/fixtures/content_export.json
521
521
  - spec/fixtures/content_migration_files/content_migration.json
522
- - spec/fixtures/outcome_subgroup.json
523
- - spec/fixtures/gradebook_history.json
524
- - spec/fixtures/custom_gradebook_columns/custom_gradebook_columns.json
525
- - spec/fixtures/custom_gradebook_columns/gradebook_column_progress.json
522
+ - spec/fixtures/content_migration_files/response.json
523
+ - spec/fixtures/content_migration_files/upload_success.json
524
+ - spec/fixtures/conversation.json
525
+ - spec/fixtures/course.json
526
+ - spec/fixtures/course_conferences.json
527
+ - spec/fixtures/course_copy.json
528
+ - spec/fixtures/course_enrollments.json
529
+ - spec/fixtures/course_files.json
530
+ - spec/fixtures/course_folder.json
531
+ - spec/fixtures/course_folders.json
532
+ - spec/fixtures/course_grading_standards.json
533
+ - spec/fixtures/course_groups.json
534
+ - spec/fixtures/course_sections.json
535
+ - spec/fixtures/course_settings.json
536
+ - spec/fixtures/course_students.json
537
+ - spec/fixtures/create_course_discussion.json
538
+ - spec/fixtures/create_group_discussion.json
539
+ - spec/fixtures/create_outcome_in_group.json
540
+ - spec/fixtures/create_section.json
541
+ - spec/fixtures/created_assignment.json
542
+ - spec/fixtures/created_course.json
543
+ - spec/fixtures/created_group.json
544
+ - spec/fixtures/created_group_category.json
545
+ - spec/fixtures/created_group_membership.json
546
+ - spec/fixtures/created_module.json
547
+ - spec/fixtures/custom_data.json
548
+ - spec/fixtures/custom_food_data.json
526
549
  - spec/fixtures/custom_gradebook_columns/column_data.json
527
550
  - spec/fixtures/custom_gradebook_columns/custom_gradebook_column.json
528
- - spec/fixtures/update_section.json
529
- - spec/fixtures/user_logins.json
530
- - spec/fixtures/paged_body.json
531
- - spec/fixtures/course_settings.json
532
- - spec/fixtures/outcomes.json
551
+ - spec/fixtures/custom_gradebook_columns/custom_gradebook_columns.json
552
+ - spec/fixtures/custom_gradebook_columns/gradebook_column_progress.json
553
+ - spec/fixtures/dashboard.json
554
+ - spec/fixtures/delete_course.json
555
+ - spec/fixtures/delete_custom_data_scope.json
556
+ - spec/fixtures/delete_group_category.json
557
+ - spec/fixtures/delete_section.json
558
+ - spec/fixtures/deleted_conversation.json
559
+ - spec/fixtures/deleted_group.json
560
+ - spec/fixtures/department_level_participation.json
561
+ - spec/fixtures/department_level_statistics.json
562
+ - spec/fixtures/discussion_entries.json
533
563
  - spec/fixtures/discussion_entry_replies.json
534
- - spec/fixtures/course_groups.json
535
- - spec/fixtures/account_reports_start_result.json
536
- - spec/fixtures/no_custom_data.json
537
- - spec/fixtures/bearcat.jpg
538
- - spec/fixtures/report_list.json
564
+ - spec/fixtures/discussion_topic.json
565
+ - spec/fixtures/discussion_topics.json
566
+ - spec/fixtures/edited_group.json
567
+ - spec/fixtures/edited_group_category.json
568
+ - spec/fixtures/enroll_student.json
569
+ - spec/fixtures/enrollment_terms.json
570
+ - spec/fixtures/external_tool.json
571
+ - spec/fixtures/external_tools.json
572
+ - spec/fixtures/file.csv
573
+ - spec/fixtures/gradebook_history.json
539
574
  - spec/fixtures/graph_ql_scores.json
540
- - spec/fixtures/link_unlink_outcome.json
575
+ - spec/fixtures/group.json
576
+ - spec/fixtures/group_categories.json
577
+ - spec/fixtures/group_category.json
541
578
  - spec/fixtures/group_category_groups.json
542
- - spec/fixtures/ok.json
543
- - spec/fixtures/add_custom_user_data.json
544
- - spec/fixtures/report_status.json
545
- - spec/fixtures/account_role.json
546
- - spec/fixtures/account_roles.json
547
- - spec/fixtures/user_enrollments.json
548
- - spec/fixtures/course_enrollments.json
579
+ - spec/fixtures/group_conferences.json
580
+ - spec/fixtures/group_membership.json
549
581
  - spec/fixtures/learning_outcome.json
582
+ - spec/fixtures/link_unlink_outcome.json
583
+ - spec/fixtures/merge_user.json
584
+ - spec/fixtures/module.json
585
+ - spec/fixtures/module_item.json
586
+ - spec/fixtures/module_item_sequence.json
550
587
  - spec/fixtures/module_items.json
551
- - spec/fixtures/department_level_participation.json
552
- - spec/fixtures/group_category.json
553
- - spec/fixtures/section_enrollments.json
554
- - spec/fixtures/create_group_discussion.json
555
- - spec/fixtures/user_profile.json
556
- - spec/fixtures/external_tools.json
557
- - spec/fixtures/create_section.json
558
- - spec/fixtures/assignment_groups.json
588
+ - spec/fixtures/modules.json
589
+ - spec/fixtures/no_custom_data.json
590
+ - spec/fixtures/ok.json
591
+ - spec/fixtures/outcome_group_import.json
592
+ - spec/fixtures/outcome_groups.json
593
+ - spec/fixtures/outcome_result.json
594
+ - spec/fixtures/outcome_subgroup.json
559
595
  - spec/fixtures/outcome_subgroups.json
560
- - spec/fixtures/updated_course.json
561
- - spec/fixtures/account_sis_imports.json
562
- - spec/fixtures/account_admins.json
563
- - spec/fixtures/department_level_statistics.json
564
- - spec/fixtures/course_folders.json
565
- - spec/fixtures/account_admin_delete.json
566
- - spec/fixtures/content_export.json
567
- - spec/fixtures/enroll_student.json
568
- - spec/fixtures/external_tool.json
569
- - spec/fixtures/discussion_entries.json
570
- - spec/fixtures/assignment.json
571
- - spec/fixtures/report_history.json
572
- - spec/fixtures/edited_group.json
573
- - spec/fixtures/account_reports_index.json
574
- - spec/fixtures/created_module.json
575
- - spec/fixtures/account_reports.json
576
- - spec/fixtures/quizzes/quiz_extension.json
577
- - spec/fixtures/quizzes/quiz_assignment_override.json
596
+ - spec/fixtures/outcomes.json
597
+ - spec/fixtures/paged_body.json
598
+ - spec/fixtures/pages.json
599
+ - spec/fixtures/progress.json
578
600
  - spec/fixtures/quizzes/course_quiz.json
579
- - spec/fixtures/quizzes/course_quizzes.json
580
601
  - spec/fixtures/quizzes/course_quiz_questions.json
581
- - spec/fixtures/course.json
582
- - spec/fixtures/search_find_recipients.json
602
+ - spec/fixtures/quizzes/course_quizzes.json
603
+ - spec/fixtures/quizzes/quiz_assignment_override.json
604
+ - spec/fixtures/quizzes/quiz_extension.json
583
605
  - spec/fixtures/reactivate_enrollment.json
584
- - spec/fixtures/enrollment_terms.json
585
- - spec/fixtures/created_group_membership.json
606
+ - spec/fixtures/report_history.json
607
+ - spec/fixtures/report_list.json
608
+ - spec/fixtures/report_status.json
586
609
  - spec/fixtures/rubric.json
587
- - spec/fixtures/merge_user.json
610
+ - spec/fixtures/rubric_assessment.json
611
+ - spec/fixtures/rubric_association.json
612
+ - spec/fixtures/search_find_recipients.json
588
613
  - spec/fixtures/section.json
589
- - spec/fixtures/blueprint_migration.json
590
- - spec/fixtures/blueprint_subscriptions.json
591
- - spec/fixtures/create_outcome_in_group.json
592
- - spec/fixtures/assignments.json
593
- - spec/fixtures/group_categories.json
594
- - spec/fixtures/blueprint_template.json
595
- - spec/fixtures/delete_section.json
614
+ - spec/fixtures/section_enrollments.json
615
+ - spec/fixtures/single_account.json
616
+ - spec/fixtures/start_report.json
617
+ - spec/fixtures/submissions/submission.json
618
+ - spec/fixtures/update_outcome.json
596
619
  - spec/fixtures/update_outcome_group.json
597
- - spec/fixtures/group_conferences.json
598
- - spec/fixtures/created_group.json
599
- - spec/fixtures/outcome_groups.json
600
- - spec/fixtures/progress.json
601
- - spec/fixtures/delete_course.json
602
- - spec/fixtures/canvas_files/upload_success.json
603
- - spec/fixtures/canvas_files/declare_file.json
604
- - spec/fixtures/account_grading_standards.json
605
- - spec/fixtures/course_sections.json
606
- - spec/fixtures/course_conferences.json
620
+ - spec/fixtures/update_section.json
621
+ - spec/fixtures/updated_course.json
622
+ - spec/fixtures/user_avatars.json
607
623
  - spec/fixtures/user_details.json
608
- - spec/fixtures/module_item_sequence.json
609
- - spec/fixtures/custom_food_data.json
610
- - spec/fixtures/update_outcome.json
611
- - spec/fixtures/discussion_topic.json
612
- - spec/fixtures/group.json
613
- - spec/fixtures/assignment_section_override.json
614
- - spec/fixtures/account_reports_result_success.json
615
- - spec/fixtures/rubric_assessment.json
616
- - spec/fixtures/calendar_events.json
617
- - spec/fixtures/deleted_conversation.json
618
- - spec/fixtures/created_assignment.json
619
- - spec/fixtures/start_report.json
620
- - spec/fixtures/conclude_enrollment.json
621
- - spec/fixtures/custom_data.json
622
- - spec/fixtures/created_course.json
623
- - spec/fixtures/account_groups.json
624
- - spec/fixtures/modules.json
625
- - spec/fixtures/course_students.json
626
- - spec/fixtures/access_token.json
627
- - spec/fixtures/delete_group_category.json
628
- - spec/fixtures/module_item.json
629
- - spec/fixtures/account_courses.json
624
+ - spec/fixtures/user_enrollments.json
625
+ - spec/fixtures/user_logins.json
626
+ - spec/fixtures/user_page_views.json
627
+ - spec/fixtures/user_profile.json
628
+ - spec/helper.rb
@@ -1,11 +0,0 @@
1
- #!lua name=bearcat_rate_limiting
2
-
3
- local function checkin_time(keys, args)
4
- local return_time = args[1]
5
- local true_remaining = args[2]
6
-
7
- local hash = keys[1]
8
- return redis.call('HGET', hash, '_last_modified_')
9
- end
10
-
11
- redis.register_function('my_hset', my_hset)