Skip to content

Instantly share code, notes, and snippets.

View yuki24's full-sized avatar
🔢
NaN :trollface:

Yuki Nishijima yuki24

🔢
NaN :trollface:
View GitHub Profile
@yuki24
yuki24 / calculate_accuracy.rb
Last active August 29, 2015 14:22
How accurate is the did_you_mean gem?
# gem 'did_you_mean', '0.9.7'
require 'yaml'
require 'set'
require 'did_you_mean'
class DidYouMean::WordCollection
include DidYouMean::BaseFinder
def initialize(words)
@yuki24
yuki24 / incorrect_corrections.yml
Last active August 29, 2015 14:22
A list of Incorrect corrections generated by did_you_mean's spell checker
#- correct_word: incorrect_word(user input)
# result:
# - list_of_candidates
---
- absence: absense
result:
- absences
- absents
- absence
- absentee
@yuki24
yuki24 / json_with_synbolize_names.rb
Created January 13, 2017 22:51
JSON with the symbolize_name: true option
require 'json'
require 'open-uri'
require 'benchmark/ips'
require 'memory_profiler'
json = open('https://network.pivotal.io/api/v2/products').read
Benchmark.ips do |x|
x.report('symbolize_names: false') { JSON.parse(json) }
x.report('symbolize_names: true') { JSON.parse(json, symbolize_names: true) }
def with_exceptions_app(enabled = true)
org_show_detailed_exceptions = Rails.application.env_config['action_dispatch.show_detailed_exceptions']
org_show_exceptions = Rails.application.env_config['action_dispatch.show_exceptions']
# This overrides the cached setting in Rails.application.config.consider_all_requests_local
Rails.application.env_config['action_dispatch.show_detailed_exceptions'] = !enabled
# Render templates instead of raising exceptions.
Rails.application.env_config['action_dispatch.show_exceptions'] = enabled
require 'benchmark/ips'
require 'andpush'
require 'fcm'
server_key = ENV.fetch('FCM_TEST_SERVER_KEY')
DEVICE_TOKEN = ENV.fetch('FCM_TEST_REGISTRATION_TOKEN')
FCM_CLIENT = FCM.new(server_key)
PAYLOAD_FOR_FCM = { dry_run: true, notification: { title: "u", body: "y" } }
@yuki24
yuki24 / object_mapper.rb
Last active January 30, 2018 19:56
better JSON serializer that returns an object with pre-defined attribute readers
require 'json'
require 'securerandom'
require 'delegate'
class ObjectMapper < SimpleDelegator
def self.parse(json_string, **opts)
JSON.parse(json_string, object_class: JsonHash, create_additions: true, create_id: JSON_CREADE_ID, **opts)
end
JSON_CREADE_ID = SecureRandom.uuid.freeze
require 'benchmark_driver'
Benchmark.driver do |x|
x.prelude <<~RUBY
METHODS = ''.methods
INPUT = 'start_with?'
spell_checker = DidYouMean::SpellChecker.new(dictionary: METHODS)
RUBY
@yuki24
yuki24 / andpush_benchmark.rb
Created April 14, 2018 21:13
Example of the Andpush gem and benchmark
require 'benchmark/ips'
require 'andpush'
require 'fcm'
server_key = ENV.fetch('FCM_TEST_SERVER_KEY')
DEVICE_TOKEN = ENV.fetch('FCM_TEST_REGISTRATION_TOKEN')
FCM_CLIENT = FCM.new(server_key)
PAYLOAD_FOR_FCM = { dry_run: true, notification: { title: "u", body: "y" } }
@yuki24
yuki24 / artemis.rb
Created February 2, 2019 03:56
graphql-client vs artemis
# config/graphql.yml
development:
sw_api:
url: "https://example.com/graphql"
schema_path: "path/to/schema.json"
# app/operations/sw_api/hero.graphql
query($episode: Episode) {
hero(episode: $episode) {
name
@yuki24
yuki24 / grid-col.ts
Last active April 6, 2019 19:27
grid-elements
import { LitElement, html, customElement } from '@polymer/lit-element'
const NUMBER_OF_GRID = 12
const generateCss = (screenSize) => {
return Array.apply(0, Array(NUMBER_OF_GRID)).map((element, index) => index + 1).map(num =>
`
:host([${screenSize}="${num}"]) {
-ms-flex-preferred-size: ${(100 / NUMBER_OF_GRID) * num}%;
flex-basis: ${(100 / NUMBER_OF_GRID) * num}%;