- adomokos/light-service
- Series of Actions with an emphasis on simplicity.
- collectiveidea/interactor
- Interactor provides a common interface for performing complex interactions in a single request. (Alert: this project seems to be inactive).
- cypriss/mutations
- Compose your business logic into commands that sanitize and validate input.
- orgsync/active_interaction
- Manage application specific business logic.
| #!/usr/bin/env ruby | |
| # Extracted from traceroute gem + checking the presence of views as well | |
| require_relative './config/environment.rb' | |
| class Traceroute | |
| def initialize(app) | |
| @app = app | |
| end |
| # Shamelessly stolen from https://gist.github.com/ileitch/1459987 | |
| module InterruptibleSleep | |
| def interruptible_sleep(seconds) | |
| @sleep_check, @sleep_interrupt = IO.pipe | |
| IO.select([@sleep_check], nil, nil, seconds) | |
| end | |
| def interrupt_sleep | |
| @sleep_interrupt.close if @sleep_interrupt |
Hi Nicholas,
I saw you tweet about JSX yesterday. It seemed like the discussion devolved pretty quickly but I wanted to share our experience over the last year. I understand your concerns. I've made similar remarks about JSX. When we started using it Planning Center, I led the charge to write React without it. I don't imagine I'd have much to say that you haven't considered but, if it's helpful, here's a pattern that changed my opinion:
The idea that "React is the V in MVC" is disingenuous. It's a good pitch but, for many of us, it feels like in invitation to repeat our history of coupled views. In practice, React is the V and the C. Dan Abramov describes the division as Smart and Dumb Components. At our office, we call them stateless and container components (view-controllers if we're Flux). The idea is pretty simple: components can't
| HTTP status code symbols for Rails | |
| Thanks to Cody Fauser for this list of HTTP responce codes and their Ruby on Rails symbol mappings. | |
| Status Code Symbol | |
| 1xx Informational | |
| 100 :continue | |
| 101 :switching_protocols | |
| 102 :processing |
| stats = Sidekiq::Stats.new | |
| stats.queues | |
| stats.enqueued | |
| stats.processed | |
| stats.failed |
| var E_PREFIX_RATE = 0.25; | |
| // All of our word lists: | |
| var _word_lists = { | |
| verb : [ | |
| "implement", "utilize", "integrate", "streamline", "optimize", "evolve", "transform", "embrace", | |
| "enable", "orchestrate", "leverage", "reinvent", "aggregate", "architect", "enhance", "incentivize", | |
| "morph", "empower", "envisioneer", "monetize", "harness", "facilitate", "seize", "disintermediate", |
| module Rack | |
| class Request | |
| def scheme | |
| if @env['HTTPS'] == 'on' | |
| 'https' | |
| elsif @env['HTTP_X_FORWARDED_SSL'] == 'on' | |
| 'https' | |
| elsif @env['HTTP_X_FORWARDED_PROTO'] | |
| @env['HTTP_X_FORWARDED_PROTO'].split(',')[0] | |
| else |