Skip to content

Instantly share code, notes, and snippets.

(ns co.gaiwan.slack-widgets.ui.components
(:require
[clojure.string :as str]
[clojure.walk :as walk]
[reagent.core :as reagent]
[reagent.ratom :as ratom]
[lambdaisland.glogi :as log]
[co.gaiwan.slack-widgets.ui.state :as state]
[lambdaisland.ornament :as o])
(:require-macros [co.gaiwan.slack-widgets.ui.macros :refer [for!]]))
(ns lambdaisland.trikl1.simple-object-system
"Clojure's missing object system
An 'object' for us is an (r)atom which contains the object state, and metadata on
that atom which contains the methods, keyed by symbol.
A 'klass' is a map of methods, which can then be used as metadata on an object
to 'instantiate' an object.
[[call]] handles calling a method, passing it `this` (the atom) and any
(ns the-clouncil)
(def posts
(sort-by :date (read-string (slurp "posts.edn"))))
;; Original version: mapcat + reduce
;; <-- in | code | out -->
(ns the-clouncil)
(def posts
(sort-by :date (read-string (slurp "posts.edn"))))
(->> posts
(mapcat (fn [{:keys [categories] :as post}]
(map (fn [category]
[category post])
categories)))
{:paths
["src" "resources"]
:deps
{org.clojure/clojure {:mvn/version "1.11.0"}
protojure/protojure {:mvn/version "1.7.3"}}}
#!/usr/bin/env bb
;; lein2deps | jet --pretty > deps.edn
(require '[clojure.string :as str]
'[clojure.edn :as edn])
(defn read-project-clj []
(-> "project.clj"
slurp
{"323474"
{:session-id "323474",
:session-data
{:session-information
{:description
"NatWest Group (Formally RBS) is the largest business and commercial bank in the UK. It offers market-leading digital capabilities combined with expert human support for personal customers. And it provides banking services for around one in four businesses in the UK and Ireland. NatWest's goal is to become a 'relationship bank in a digital world\" NatWest last presented at DevOps Enterprise Summit 2019, the Hero’s Journey. The journey continues today as Agile and DevOps principles and practices are adopted to improve productivity, creativity and competitive advantage. “Organise the people, organise the work, speed up the work” is the mantra of improvement across the bank, inspired in 2018 by the pan-bank Ways of Working improvement programme. NatWest Group have embarked on an ambitious project, implementing DevOps principles, practices and capabilities across a multi-organisational landscape spanning over 7000 engin