...one to blame when the SEO folks complain about an empty . To avoid said behavior, use Nokogiri::XML instead of Nokogiri::HTML when parsing your HTML string. As long as...
...the input HTML contains a line break (somewhere inside the document, not at the beginning or end), the behavior of to_s magically changes to the above. >> Nokogiri::XML.fragment(" foo...
...the class including the trait. While this may seem unproblematic at first glance, it becomes a problem when including traits in multiple classes, especially when using parameterized traits.
...you are actually defining ExampleTrait::HELLO. If you want to define a constant that belongs to a trait module, you can do that, and there a valid reasons to do...
PostgreSQL uses the C library's locale facilities for sorting strings: First, all the letters are compared, ignoring spaces and...
Usually our code lives on GitLab, therefore our documentation for CI testing is extensive in this environment. If you are...
...JSXSpreadAttribute', 'JSXExpressionContainer', 'JSXOpeningElement', 'JSXClosingElement', 'JSXFragment', 'JSXOpeningFragment', 'JSXClosingFragment', 'JSXText', 'JSXEmptyExpression', 'JSXSpreadChild' ], offsetTernaryExpressions: true }], '@stylistic/key-spacing': ['error', { beforeColon: false, afterColon: true }], '@stylistic/keyword-spacing': ['error', { before: true, after: true }], '@stylistic/lines-between-class-members': ['error', 'always', { exceptAfterSingleLine: true }], '@stylistic/multiline-ternary...
...as the developer of the website) to do it properly, but wants to have better proof. To this end, the advertising network (e.g. "Google Advertising Products") will register with the...
"vendor X is allowed to serve personalized advertising based on user behavior", or "vendor X is allowed to use user data to improve its algorithm" etc.
Recent rails security updates have shown that people make incorrect assumptions about the possible contents of the params hash.
Phusion Passenger changed the way how it gets restarted several times. Through the project's history, these all were valid...
...page that you want to test for with its debug page. To turn this behaviour off you can use the code from Eliot Sykes' blog post I renamed the key...
...realistic_error_responses to true_404s for my projects. You can then activate the behaviour like this: describe "Admin Authorization", type: :request do describe "GET /admin_panel", :true_404s do
From Exploring ES6: Module imports are hoisted (internally moved to the beginning of the current scope). Therefore, it doesn’t matter where you mention them in a module and the...
Understanding your type of cronjob Some cronjobs must only run on a single server. E.g. when you run nightly batch...
In the past we validate and set default values for boolean attributes in Rails and not the database itself.
Besides their default styling properties, HTML elements have a semantic meaning. For example, an h1 tag is usually styled with a larger font and bold, while it denotes "the single...
...HTML elements corresponding to the meaning of their content has a few advantages: HTML becomes a little clearer Edge cases have already been considered and implemented: Keyboard support (tabbing, arrow...
The linked article suggests an interesting way to speed up tests of Rails + Postgres apps: PostgreSQL allows the creation of...
...Gemfile.lock carefully when submitting a commit. Note that the approach in this card works best, if you use bundle outdated together with bundle update some_gem --convervative for major updates...
Setting array columns When using PostgreSQL array columns, you can set an array attribute to a value with square brackets...
If your application exports CSV, be advised that Excel and other spreadsheet applications treat certain cells (those starting with =, +, - or...
...an integer with a string without explicit casting. Related security issue In authentication, this behavior may be used to match rows without knowing a secret token: Potential Query Manipulation with...
Working with a self-signed certificate is much easier, when the browser accepts it. Google Chrome Warnings from chrome might...
...live: true, host: '127.0.0.1' do watch(%r(^public/assets/esbuild_error_development\.txt$)) # Livereload + ESbuild is not the best combo # We want # - to reload CSS files without doing a full page reload
...this.lockCounter = 0 this.boundLockTurboStreamRendering = this.lockTurboStreamRendering.bind(this) this.boundStartLock = this.startLock.bind(this) this.boundStopLock = this.stopLock.bind(this) // Stream rendering document.addEventListener("turbo:before-stream-render", this.boundLockTurboStreamRendering) // Form submission document.addEventListener("turbo:submit-start", this.boundStartLock) document.addEventListener("turbo:submit-end...
...this.boundStopLock) // Network activity document.addEventListener("turbo:before-fetch-request", this.boundStartLock) document.addEventListener("turbo:before-fetch-response", this.boundStopLock) document.addEventListener("turbo:fetch-request-error", this.boundStopLock) // Frame rendering document.addEventListener("turbo:before-frame-render", this.boundStartLock) document.addEventListener...
...methods for calculating times and dates, like Duration#ago or Duration#from_now. But beware when using those, because they wont give you Dates or Times but ActiveSupport::TimeWithZone instances...
...your local timezone, but Rails.application.config.time_zone, which has UTC as default value. The mitigation Best case, you have already defined Rails.application.config.time_zone, as we recommend anyway. In this case you...
People do. Whether consumers or developers, the end users of software are human beings who care about what's in the software. When the software changes, people want to...
Today I got a better understanding of how git works, in particular what git checkout and git reset do. Git basics A commit holds a certain state of a directory...