Mattermost
A rewrite of Mattermost-Ruby to be more elegant. And it's kind of cool.
Notes
This is for v4 and forward. For v3, please use the original Mattermost-Ruby.
Installation
Add this line to your application's Gemfile:
gem 'mattermost'And then execute:
$ bundle
Or install it yourself as:
$ gem install mattermost
Usage
Don't use this yet. But it requires Mattermost version 4.
Authentication
You'll want to create a user that has some system-wide roles within Mattermost.
Mattermost.configure do |c|
c.server = 'great-company.com'
c.protocol = 'https'
c.username = 'joshmn'
c.password = 'password'
end
Mattermost.connect!
Without calling connect! you won't have the headers required to make the API calls, so call it somewhere once.
Conventions
Inspired by the Active Record pattern, and Action Dispatch routes (member/collection), you can,
User.find(user_id).teams
to get a User's teams.
Or,
User.create(mattermost_params)
to create a user.
All the corresponding methods are defined inside lib/mattermost/resources. Of note,
- Methods that have an
asofselfare class-level methods, andmemberare instance-level methods. - The
argsoption allows this client to map the passed arguments to a variable for usage in the HTTP request (bodydoes the same thing, but for the body of the request) - If an
endpointoption has:variable, that's indicative of needing to pass an argument to the method.