I hereby claim:
- I am such on github.
- I am such (https://keybase.io/such) on keybase.
- I have a public key whose fingerprint is 619A 4FB1 D076 8905 F539 AFF5 47DF 2102 DE5C 8CE2
To claim this, I am signing this object:
# Activate the gem you are reporting the issue against. | |
gem 'activerecord', '4.0.2' | |
gem 'pg' | |
require 'active_record' | |
require 'minitest/autorun' | |
require 'logger' | |
ActiveRecord::Base.establish_connection(adapter: 'postgresql', username: 'user', password: 'pass', database: 'test') | |
ActiveRecord::Base.logger = Logger.new(STDOUT) |
# Activate the gem you are reporting the issue against. | |
gem 'activerecord', '4.2.0' | |
require 'active_record' | |
require 'minitest/autorun' | |
require 'logger' | |
# Ensure backward compatibility with Minitest 4 | |
Minitest::Test = MiniTest::Unit::TestCase unless defined?(Minitest::Test) | |
# This connection will do for database-independent bug reports. |
I hereby claim:
To claim this, I am signing this object:
setInterval(() => { | |
document.getElementById('my-countdown').textContent = new Date(); | |
}, 1000) |
<Moment date={date} interval={1000} format="HH:mm:ss" durationFromNow /> |
setTimer = () => { | |
const { interval } = this.props; | |
this.clearTimer(); | |
if (!Moment.pooledTimer && interval !== 0) { | |
this.timer = setInterval(() => { | |
this.update(this.props); | |
}, interval); | |
} | |
}; |
Moment.pooledTimer = setInterval(() => { | |
Moment.pooledElements.forEach((element) => { | |
if (element.props.interval !== 0) { | |
element.update(); | |
} | |
}); | |
}, interval); |
export const TickerContext = React.createContext(null); | |
export function TickerProvider({ children }) { | |
const [now, setNow] = useState(new Date()); | |
useEffect(() => { | |
const interval = setInterval(() => setNow(new Date()), 1000); | |
return () => clearInterval(interval); | |
}, []); | |
export function Timer({ date }) { | |
const { now } = useContext(TickerContext); | |
return intervalToDuration({ start: date, end: now }); | |
}; |
// in the Context provider: | |
const interval = setInterval(() => setNow(new Date()), 1000); | |
// becomes: | |
const interval = setInterval(() => setNow(moment()), 1000); | |
// in the Component: | |
return intervalToDuration({ start: date, end: now }); | |
// becomes: | |
return moment.duration(now.diff(date)).format('HH:mm:ss'); |