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'); |