I hereby claim:
- I am etiennebarrie on github.
- I am etienne (https://keybase.io/etienne) on keybase.
- I have a public key whose fingerprint is A458 A5E6 9102 E188 AD0E CD57 8401 EA22 480C 61C1
To claim this, I am signing this object:
| Thread.current[:fiber_local] = :ok | |
| def enumerator | |
| Enumerator.new do |yielder| | |
| yielder.yield Thread.current[:fiber_local] | |
| end | |
| end | |
| p enumerator.next # => nil | |
| # which is explained by, can be reduced to: |
| # frozen_string_literal: true | |
| require "bundler/inline" | |
| gemfile(true) do | |
| source "https://rubygems.org" | |
| git_source(:github) { |repo| "https://github.com/#{repo}.git" } | |
| gem "rails", github: "rails/rails", branch: 'master' |
| # Defining private methods is less clean using module_function | |
| module ExtendSelf | |
| extend self | |
| def bar | |
| foo | |
| end | |
| private |
| class Lol | |
| attr_accessor :foo? | |
| end | |
| lol = Lol.new | |
| lol.foo? = 42 | |
| p lol.foo? |
I hereby claim:
To claim this, I am signing this object:
| # Using Array#assoc instead of a Hash when comparing using only == | |
| require 'test/unit/assertions' | |
| include Test::Unit::Assertions | |
| class Foo | |
| def initialize(i) | |
| @i = i | |
| end |
| require 'test/unit' | |
| class A | |
| def a | |
| end | |
| def method_missing(*) | |
| end | |
| end | |
| class B < A |
| class Foo | |
| def foo(*args) | |
| puts(*args) | |
| end | |
| def bar | |
| foo = 42 | |
| foo foo | |
| end | |
| end |
| module LocalMonkeyPatch | |
| def foo | |
| 42 | |
| end | |
| end | |
| array = [] | |
| array.extend LocalMonkeyPatch | |
| p array.foo |
| Wrong = Class.new(Exception) | |
| Right = Class.new(StandardError) | |
| begin | |
| raise Wrong, "Can't be rescued easily" | |
| rescue | |
| puts "Not reached" | |
| rescue Wrong | |
| puts "#{$!}, have to be explicitely rescued" | |
| end |