This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1"> | |
<title>Signals</title> | |
</head> | |
<body> | |
<button id="decrement"> | |
- |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'$schema' = 'https://jj-vcs.github.io/jj/latest/config-schema.json' | |
[user] | |
name = 'Pavan Kumar Sunkara' | |
email = '[email protected]' | |
username = 'pksunkara' | |
[ui] | |
default-command = 'default' | |
editor = 'nvim' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require "digest" | |
require "rack" | |
# This class encapsulates a unit of work done for a particular tenant, connected to that tenant's database. | |
# ActiveRecord makes it _very_ hard to do in a simple manner and clever stuff is required, but it is knowable. | |
# | |
# What this class provides is a "misuse" of the database "roles" of ActiveRecord to have a role per tenant. | |
# If all the tenants are predefined, it can be done roughly so: | |
# | |
# ActiveRecord::Base.legacy_connection_handling = false if ActiveRecord::Base.respond_to?(:legacy_connection_handling) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
if [[ "${relativeFile}" == *.test.js ]]; then | |
FILE="${relativeFile}" | |
elif [ -f "${fileDirname}/${fileBasenameNoExtension}.test.js" ]; then | |
FILE="${fileDirname}/${fileBasenameNoExtension}.test.js" | |
elif [ -f "${fileDirname}/$(basename "${fileDirname}").test.js" ]; then | |
FILE="${fileDirname}/$(basename "${fileDirname}").test.js" | |
else | |
FILE="${relativeFile}" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# frozen_string_literal: true | |
# For now, run like this: `ruby --rjit --rjit-disable fjit.rb` | |
# | |
# Once RJIT is removed, the extra flags will not be necessary | |
require "fiddle" | |
require "ffi" | |
require "jit_buffer" | |
require "hacks" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# config/initializers/phlex_template_handler.rb | |
require "action_view" | |
require "phlex" | |
# Intercept unknown "capitalized" method calls (e.g., PageView(...)) in templates, | |
# look up a Phlex component class, instantiate it, and render it. | |
# Crucially, we re-bind the user’s block so that `self` is the component, not the ActionView context. | |
module PhlexDynamicMethodCalls | |
def method_missing(name, *args, **kwargs, &block) | |
# Only intercept method calls starting with an uppercase letter (e.g. "PageView", "MyComponent", etc.) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def date_in_danish_time(date_time) | |
date_array = | |
date_time.strftime("%Y %m %d").split.map { |string| Integer(string, 0) } | |
danish_date = Date.new(*date_array).in_time_zone("Copenhagen") | |
# extracting offset from the date will help us in also taking care of Daylight Saving | |
danish_date_offset = danish_date.formatted_offset | |
date_time_array = | |
date_time | |
.strftime("%Y %m %d %H %M %S") |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Maybe there's a way to support ActiveSupport::Concern's dependencies too? | |
# Although this doesn't use the module hierarchy, so `prepend` can't work. | |
class Concern < Module | |
def initialize(&block) = @block = block | |
def included(klass) = klass.class_eval(&@block) | |
end | |
module Kernel | |
def Concern(...) = Concern.new(...) | |
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<%# app/views/layouts/application.html.erb %> | |
... | |
<%= javascript_include_tag "locales/#{I18n.locale}", nonce: true %> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Builds an SQL insert query for a given record | |
# | |
# @param record [ActiveRecord::Base] Record used to build the SQL insert query | |
# @return [String] SQL insert query | |
def build_insert_query(record) | |
columns = record.class.columns.reject { |col| col.name == record.class.primary_key } | |
values = columns.map { |col| record[col.name] } | |
insert_manager = Arel::InsertManager.new | |
insert_manager.into(record.class.arel_table) | |
insert_manager.insert(columns.zip(values)).to_sql |
NewerOlder