/prog-channels

Purpose: To automate updates to the Channels List Airtable document with info pulled from Slack's API

Primary LanguageRubyMIT LicenseMIT

Prog::Channels

Code Climate Build Status

Usage

Copy .env.example to .env and ensure you update it with real credentials.

Next run bundle exec rake test to ensure all systems are go.

Finally, bin/sync oughta do something fun with slack and airtable.

There's also a rake task that will simply run bin/sync:

rake prog:channels:sync

Testing

Integration tests essentially check that the tokens for Slack and for Airtable are set and are valid.

Unit tests run against mocks and don't touch either API.

bundle exec rake test

Dependencies

Development

First Goal: use the slack gem to get channel lists and info, then use the airtable gem (airrecord) to update the Airtable document with latest info. :check:

Next Goals: clean it up; automate build; release a rubygem(?); have fun :)

Deployment

Heroku:

git clone git@github.com:ProgressiveCoders/prog-channels.git
heroku create
git push heroku master
heroku ps:scale web=1
heroku addons:create scheduler:standard

Next run heroku addons:open scheduler to configure the scheduler addon to run the following task as often as you like:

rake prog:channels:sync

And set environment variables:

heroku config:set SLACK_API_TOKEN=xoxp-the-real-one \
                  AIRTABLE_KEY=keyTherealone        \
                  AIRTABLE_APP=appSomeRealOne       \
                  AIRTABLE_BASE="Real Table Name"   \

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/ProgressiveCoders/prog-channels.