{"id":20744596,"url":"https://github.com/npezza93/absorb_api","last_synced_at":"2025-04-24T05:47:06.335Z","repository":{"id":59150209,"uuid":"50197587","full_name":"npezza93/absorb_api","owner":"npezza93","description":"Ruby wrapper for Absorb LMS API","archived":false,"fork":false,"pushed_at":"2019-06-20T12:11:14.000Z","size":466,"stargazers_count":1,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-24T05:46:59.593Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/npezza93.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-01-22T17:50:47.000Z","updated_at":"2020-07-13T21:33:56.000Z","dependencies_parsed_at":"2022-09-13T11:00:28.811Z","dependency_job_id":null,"html_url":"https://github.com/npezza93/absorb_api","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/npezza93%2Fabsorb_api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/npezza93%2Fabsorb_api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/npezza93%2Fabsorb_api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/npezza93%2Fabsorb_api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/npezza93","download_url":"https://codeload.github.com/npezza93/absorb_api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250573343,"owners_count":21452345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T07:16:16.235Z","updated_at":"2025-04-24T05:47:06.318Z","avatar_url":"https://github.com/npezza93.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Absorb LMS API Wrapper\n\n\"Absorb LMS is a powerful, flexible, and visually stunning software platform teamed with expert implementation and support to help you build the training programs your business needs. Whether your old LMS is slowing you down or you’ve outgrown your current training model, Absorb can help.\n\"\n\nAll the available REST routes can be found [here](https://myabsorb.com/api/rest/v1/Help).\n\nFull documentation can be found at [http://npezza93.github.io/absorb_api/](http://npezza93.github.io/absorb_api/)\n## Table of Contents\n1. [Installation](#installation)\n2. [Configuration](#configuration)\n3. [Models](#models)\n  * [User](#user)\n  * [Course](#course)\n  * [Category](#category)\n  * [Certificate](#certificate)\n  * [Chapter](#chapter)\n  * [Curriculum](#curriculum)\n  * [Department](#department)\n  * [Role](#role)\n  * [Tag](#tag)\n  * [SessionSchedule](#sessionschedule)\n  * [Resource](#resource)\n  * [Prerequisite](#prerequisite)\n  * [Lesson](#lesson)\n  * [CourseEnrollment](#courseenrollment)\n  * [LessonEnrollment](#lessonenrollment)\n4. [Development](#development)\n\n## Installation\nAdd this line to your application's Gemfile:\n\n```ruby\ngem 'absorb_api'\n```\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install absorb_api\n\n## Configuration\n```ruby\nAbsorbApi.configure do |c|\n  c.absorbuser = absorb_username\n  c.absorbpass = absorb_password\n  c.absorbkey = absorb_privatekey\n  c.url = absorb_url\nend\n```\n\n## Models\n\n### User\n```ruby\n# To return a collection of all available users\nAbsorbApi::User.all\n\n# To find a single user by id:\nAbsorbApi::User.find(id)\n\n# To return a collection of users matching conditions\nAbsorbApi::User.where(conditions)\n# available conditions include email, username, modifiedSince, and externalId\nAbsorbApi::User.where(email: \"email@gmail.com\")\n\n# To return a collection of enrollments for a specific user:\nuser.enrollments\n# Available filters for enrollments include status and modifiedSince\nuser.enrollments(status: 0, modifiedSince: DateTime.new(2016, 1, 1).to_s)\n\n# To return a collection of all certificates awarded to a user\nuser.certificates\n# To return a single certificate for a specific user\nuser.find_certificate(id)\n\n# To return a collection of all resources available to an user\nuser.resources\n\n# To return a collection of all courses available for enrollment for a user\nuser.courses\n\n# To create a new user\nAbsorbApi::User.create(department_id: \"department_id\", first_name: \"first_name\", last_name: \"last_name\", user_name: \"user_name\", email_address: \"email_address\", password: \"password\")\n# or\nAbsorbApi::User.create do |user|\n  user.department_id  = \"department_id\"\n  user.first_name     = \"first_name\"\n  user.last_name      = \"last_name\"\n  user.user_name      = \"user_name\"\n  user.email_address  = \"email_address\"\n  user.password       = \"password\"\nend\n```\n\n### Course\n```ruby\n# To return a collection of all available courses\nAbsorbApi::Course.all\n\n# To find a single course by id\nAbsorbApi::Course.find(id)\n\n# To return a collection of courses matching conditions\nAbsorbApi::Course.where(conditions)\n# available conditions include modifiedSince and externalId\nAbsorbApi::Course.where(modifiedSince: DateTime.new(2016,1,1).to_s)\n\n# To return a collection of enrollments for a specific course:\ncourse.enrollments\n# Available filters for enrollments include status and modifiedSince\ncourse.enrollments(status: 0, modifiedSince: DateTime.new(2016, 1, 1).to_s)\n\n# To return a collection of all certificates awarded in a course\ncourse.certificates\n# Available filters for certificates include includeExpired, acquiredDate, and expiryDate\ncourse.certificates(includeExpired: true)\n# To return a single certificate for a specific course\ncourse.find_certificate(id)\n\n# To return a collection of chapters for a specific course\ncourse.chapters\n# To return a single chapters for a specific course\ncourse.find_chapter(id)\n\n# To return a collection of all resources available to a course\ncourse.resources\n# To return a single resource for a specific course\ncourse.find_resource(id)\n\n# To return a collection of all prerequisites to a course\ncourse.prerequisites\n\n# To return a collection of all lessons available to a course\ncourse.lessons\n# To return a single lesson for a specific course\ncourse.find_lesson(id)\n```\n\n### Category\n```ruby\n# To return a collection of all available categories\nAbsorbApi::Category.all\n\n# To find a single category by id:\nAbsorbApi::Category.find(id)\n```\n\n### Certificate\n```ruby\n# To find a single certificate by id\nAbsorbApi::Certificate.find(id)\n```\n\n### Chapter\n```ruby\n# To return a collection of all available chapters\nAbsorbApi::Chapter.all\n\n# To find a single chapter by id\nAbsorbApi::Chapter.find(id)\n```\n\n### Curriculum\n```ruby\n# To return a collection of all available curriculums\nAbsorbApi::Curriculum.all\n\n# To find a single curriculum by id\nAbsorbApi::Curriculum.find(id)\n```\n\n### Department\n```ruby\n# To return a collection of all available departments\nAbsorbApi::Department.all\n\n# To find a single department by id\nAbsorbApi::Department.find(id)\n\n# To return a collection of departments matching conditions\nAbsorbApi::Department.where(conditions)\n# available conditions include departmentName, and externalId\nAbsorbApi::Department.where(departmentName: \"Technology\")\n\n# To return the parent department\ndepartment.parent\n\n# To create a new department\nAbsorbApi::Department.create(name: \"Test Department\", parent_id: 1)\n# or\nAbsorbApi::Department.create do |department|\n  department.name = \"Test Department\"\n  department.parent_id = 1\nend\n```\n\n### Role\n```ruby\n# To return a collection of all available roles\nAbsorbApi::Role.all\n\n# To find a single role by id\nAbsorbApi::Role.find(id)\n```\n\n### Tag\n```ruby\n# To return a collection of all available tags\nAbsorbApi::Tag.all\n\n# To find a single tag by id\nAbsorbApi::Tag.find(id)\n\n# To create a new tag\nAbsorbApi::Tag.create(name: \"example\")\n# or\nAbsorbApi::Tag.create do |tag|\n  user.name  = \"example\"\nend\n```\n\n### SessionSchedule\n```ruby\n# To return a collection of all available session schedules\nAbsorbApi::SessionSchedule.all\n\n# To find a single session schedule by id\nAbsorbApi::SessionSchedule.find(id)\n```\n\n### Resource\n```ruby\n# To return a collection of all available resources\nAbsorbApi::Resource.all\n\n# To find a single resource by id\nAbsorbApi::Resource.find(id)\n```\n\n### Prerequisite\n```ruby\n# To return a collection of all available prerequisites\nAbsorbApi::Prerequisite.all\n\n# To find a single prerequisite by id\nAbsorbApi::Prerequisite.find(id)\n```\n\n### Lesson\n```ruby\n# To return a collection of all available lessons\nAbsorbApi::Lesson.all\n\n# To find a single lesson by id\nAbsorbApi::Lesson.find(id)\n```\n\n### CourseEnrollment\n```ruby\n# To return a collection of associated lessons matching conditions\n# Available conditions are modifiedSince and status\ncourse_enrollment.lessons\n```\n\n### LessonEnrollment\n\n\n## Development\n\nAfter checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.\n\nTo install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at https://github.com/npezza93/absorb_api.\n\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnpezza93%2Fabsorb_api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnpezza93%2Fabsorb_api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnpezza93%2Fabsorb_api/lists"}