...even displays helpful flamegraphs for better visualization. Provides actionable insights like: Number of factory calls in each test and the time spent on each. Breakdown of associated records created unintentionally...
...window rendering effects added by a window manager, and browsers don't provide a callback that would allow to detect the end of windows size changing process. Capybara provides a...
...WebDriverError, 'Switch to desired window before changing its size' unless handle == :current # Chromedriver API call named "set_window_rect" set_window_rect(width: width, height: height) end end
...archived => false) authors = posts.traverse_association(:author) You can traverse multiple associations in a single call. E.g. to turn a relation of posts into a relation of all posts of their...
...virtual environment. (They are located in ~/.venv/your-environment-name/bin/). To leave your virtual environment, you may call deactivate. To enter your venv again later, you must source it again, as described above...
...Write the same script in Ruby. What do you have to do to just call it from the command line without using the ruby command directly? Learn about the "shebang...
...s encrypted password hash, salt and KMS key ID from the database. Make a call to KMS to decrypt the hash (KMS internally stores the corresponding private key but never...
...get exposed either. The only way to decrypt something is to make an API call to KMS. Thus, the only valid attack really is if the attacker is able to...
...def log(message) message.each_line do |line| Rails.logger.info(line.rstrip) end end You can then call log with your multi-line string and each line will be tagged. To improve even...
Browsers blocks abusable JavaScript API calls until the user has interacted with the document. Examples would be opening new tab or start playing video or audio. E.g. if you attempt...
...to call video.play() in a test, the call will reject with a message like this: NotAllowedError: play() failed because the user didn't interact with the document first. https://goo.gl...
...painfully slow RegExp text matching or add the normalize_ws: true option to every call of a Capybara finder. I suggest that you rather configure it globally, which also affects...
...inlined, because it is only used once. Let's use a similiar input, but call fn() twice: function fn() { if (a) { return 'foo' } else if (b) { return 'foo' } else {
...console.log(o()) Note how: The function remains in the compressed output, as it is called more than once. The function name has been shortened to o, as it is not...
...def helper_method 42 end end World(Helpers) features/step_definitions/step.rb Then /^the helper method is called$/ do expect(helper_method).to eql(42)
...pages, you should use tel: links so smartphone users can click those numbers to call someone. Here is a small helper method that you can use to simplify this:
...code (sometimes used when combining international and local numbers, see example below) as the called number should not include that zero. def tel_to(text) groups = text.to_s.scan(/(?:^\+)?\d+/) if groups.size...
...by native event listeners: let $element = $('.foo') $element.on('change', event => console.log('I will be called')) $element[0].addEventListener('change', event => console.log("I WON'T be called")) $element.trigger('change')
...event listeners (Element#addEventListener()): let $element = $('.foo') $element.on('change', event => console.log('I will be called')) $element[0].addEventListener('change', event => console.log('I will also be called')) let event = new CustomEvent...
...the array of methods. @user.methods.grep /name/ # => [:name, :first_name, :last_name] You can also call #private_methods or #public_methods. To find only relevant methods, it is suggested to subtract...
...let the page jump to the top when the link is clicked, unless you call preventDefault on the event. This is probably not what you want. Do something with js...
...You can configure the maximum number of connections for each Rails process. This is called the size of your connection pool. The default pool size is 5. You can configure...
...mechanisms above, you can explicitely release the connection from your thread. To do so, call clear_active_connections! before your thread terminates: Thread.new do begin User.first # first database access makes...
JavaScript objects can have getter and setter functions that are called when a property is read from or written to. For example, if you'd like an object that has...
...Performance considerations Read and write accesses have the same performance characteristics of regular function calls, so it's slower than a dumb property...
...Make sure no developer has gone into a rabbit hole and is afraid to call for help Give everyone an idea what's currently going on
...well as to query the record for registered errors. This object is returned when calling .errors: errors = @user.errors # => # Here are some helpful messages of its API: [ ] Returns an array of...
...Will retrieve the error message from the locale files. get( ) (Almost) an alias of []. Calls messages[ ] and returns an array of error messages for that attribute. include?( ) Returns whether there...
...an ActionDispatch::Request::Session object. class MyMiddlware def initialize(app) @app = app end def call(env) status, headers, body = @app.call(env) session = env['rack.session'] Rails.logger.info("Value of session['foo'] is...
...convert your CoffeeScript source to modern JavaScript. Install decaffeinate globally: npm install -g decaffeinate Call decaffeinate on each .coffee file, relaxing some options to get the most modern (and concise...
...that RequestStore just uses Thread.current under the hood and injects a Rack middleware that calls RequestStore.clear! after each request. If you use RequestStore in a non-request context where (like...
...to .test("null"). Globally matching regex objects remember the last index they matched. Multiple calls to test() will advance this pointer: matcher = new RegExp("foo", "g") // <- "global" flag matcher.test("foobar...
...that table object will have the cryptic type Cucumber::Ast::Table. Don't immediately call table.raw to convert it into an array of arrays! Cucumber::Ast::Table has a lot...