slack-ruby-client
integrant
slack-ruby-client | integrant | |
---|---|---|
2 | 14 | |
1,182 | 1,194 | |
0.3% | - | |
6.7 | 6.3 | |
about 18 hours ago | 4 days ago | |
Ruby | Clojure | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
slack-ruby-client
-
Clojure needs a Rails, but not for the reason you think
Ah, I'm surprised Slack doesn't support Ruby, but to be fair they are pretty tight on official support with only Python, Node and Java.
Fortunately there's https://github.com/slack-ruby/slack-ruby-client, but it's not official. Although it seems to be a good example of a community driven library coming together. I haven't used it personally (I never interfaced with Slack in a Ruby app) but at a glance it looks like it has really good docs, a decent amount of contributors, well maintained, etc.. If I were building some Rails app that used Slack I'd likely reach for this and not feel bad about it.
Kind of a bummer on the other 2 tho. Thankfully I wouldn't be building too many apps using those tools, but I get the point you're saying. In the grand scheme of things I think this also shows at how much more popular Python is than Ruby.
-
Any examples of good gem wrappers around external APIs?
Slack's Ruby client works well and is well organized: https://github.com/slack-ruby/slack-ruby-client
integrant
-
I Hate NestJS
Have a look at Integrant from Clojure: https://github.com/weavejester/integrant
-
A History of Clojure (2020) [pdf]
* Lifecycle management: Mount, Integrant or Component (https://github.com/tolitius/mount https://github.com/weavejester/integrant and https://github.com/stuartsierra/component)
-
Any resources for "current best practices and learnings?"
Allesandra Sierra’s Component has lots of competitors now: first mount which has since fallen out of favor for integrant. There’s newer ones too, like clip and donut-power.
- Clojure needs a Rails, but not for the reason you think
-
How can I learn functional programming?
This was the missing piece for me at least. As mentioned in another reply the Imperative shell, functional core helped me a lot with that. I discovered it through Clean Architecture and by using some micro-frameworks in Clojure that really emphasised the use of the pattern.
-
Reloaded workflow with nbb & expressjs
After reviewing the options, I settled on weavejester/integrant because it's small - only one dependency and two source files in total.
-
[ANN] Reveal Pro 1.3.308 — sticker windows for system libraries (component, integrant, mount)
Today I released a new version of Reveal Pro — dev.vlaaad/reveal-pro {:mvn/version "1.3.308"} — that adds sticker integration for system libraries such as mount, component and integrant!
- Little confusion trying to understand Integrant's source code
-
Forcing engineers to release by some arbitrary date results in shipping unfinished code - instead, ship when the code is ready and actually valuable
Component is nice but I found the records and protocols annoying to work with. Have you checked out Integrant? That ones been my preferred component-style library.
-
Tour of our 250k line Clojure codebase
I don't really like 'Component'. I seems very clunky and we had a lot of issues with it and a lot incidental complexity in our codebase (now converted to Java). It was the first real system that did these sort of things but if I start a project now, I much rather use Integrant or Clip.
https://github.com/weavejester/integrant
https://github.com/juxt/clip
I haven't used Clip a lot yet but my next project is defiantly going to be with Clip.
What are some alternatives?
cryptopunks - (crypto) pixel punks - libraries, tools & scripts, and more [UnavailableForLegalReasons - Repository access blocked]
component - Managed lifecycle of stateful objects in Clojure
pipedrive.rb - Pipedrive.com API Wrapper
mount - managing Clojure and ClojureScript app state since (reset)
gw2 - A Ruby interface for accessing the Guild Wars 2 API.
re-frame - A ClojureScript framework for building user interfaces, leveraging React
stripe-ruby - Ruby library for the Stripe API.
timbre - Pure Clojure/Script logging library
shaf_client - A HAL client with some customization for Shaf APIs
wonderland-clojure-katas - Clojure Katas inspired by Alice in Wonderland
bot-meetingplace-events - A friendly bot to give us a heads up when the next events are.
learn-you-a-haskell - “Learn You a Haskell for Great Good!” by Miran Lipovača