Skip to content

Instantly share code, notes, and snippets.

🤖
👨‍💻

Radoslav Stankov RStankov

🤖
👨‍💻
Block or report user

Report or block RStankov

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View ibooks_clear_clipboards.rb
# frozen_string_literal: true
require 'open3'
module Clipboard
extend self
def paste
`pbpaste`
end
View next_9_2_css_modules.rb
# frozen_string_literal: true
# NOTE(rstankov): styles ignored intentionally
files = %w(components routes utils layouts hooks).map { |dir| Dir["frontend/#{dir}/**/*.css"] }.flatten
files.each do |file|
next if file.end_with?('.module.css')
`git mv #{file} #{file.gsub('.css', '.module.css')}`
`git mv #{file + '.d.ts'} #{file.gsub('.css', '.module.css.d.ts')}`
View support_graphql.rb
module SpecSupport
module GraphHelper
def execute_mutation(current_user: nil, context: {}, **inputs)
context = Graph::Context.new(
query: OpenStruct.new(schema: YourSchema),
values: context.merge(current_user: current_user),
object: nil,
)
described_class.new(object: nil, context: context, field: nil).resolve(inputs)
end
View friend_clusters
# frozen_string_literal: true
require 'csv'
require 'ostruct'
require 'prettyprint'
users = {}
CSV.foreach('data.csv', headers: true) do |row|
users[row['id'].to_i] = row['friend_ids'].gsub('{', '').gsub('}', '').split(',').map(&:to_i)
end
View featureSwitch.ts
// profiles/[slug]/index.tsx
import dynamic from 'next/dynamic';
import featureSwitch from '~/utls/featureSwitch';
const page = dynamic(() => import('~/routes/profiles/show'), {
loading: () => null,
}) as any;
const legacy = dynamic(() => import('~/routes/profiles/legacy-show'), {
loading: () => null,
@RStankov
RStankov / README.md
Last active Nov 3, 2019
GraphQL Tracer
View README.md

Scope

Tracking performance for GraphQL in development is quite hard.

I'm using the Apollo Tracing format here. Unfortunately there isn't a good viewer for the information from there. It also doesn't include SQL/Cache information.

Features:

  • Viewer for tracing information
  • Store tracing information on disk, for future reference
View newsletter.html.erb
<%= newsletter_section @digest.trending do |data, section| %>
<% section.title 'Trending products this week' %>
<% section.thumbnail do %>
<%= newsletter_mosaic data.profiles %>
<% end %>
<% section.content do %>
<%= newsletter_links data.profiles %> were the most popular products last week.
<% end %>
<% end %>
View handle_network_errors.rb
# frozen_string_literal: true
module Handle::NetworkErrors
extend self
ERRORS = [
EOFError,
Errno::ECONNREFUSED,
Errno::ECONNRESET,
Errno::EFAULT,
View learn.md
View FollowButton.tsx
import * as React from 'react';
import { CREATE_MUTATION, DESTROY_MUTATION } from './Mutation';
import MutationButton, {
IProps as IButtonProps,
} from '~/components/MutationButton';
import { polymorphicInput } from '~/utils/graphql';
import { FollowButtonFragment } from '~/graphql/types';
import useViewerProfile from '~/hooks/useViewerProfile';
type Subject = FollowButtonFragment & {
You can’t perform that action at this time.