...attached file into config/initializers/ to be able to say in_columns on any Array: >> [1, 2, 3, 4, 5, 6, 7].in_columns(3)
...1, 2, 3, 4, 5, 6, 7].in_columns(2) => [[1, 3, 5, 7], [2, 4, 6]] While in_groups and in_groups_of are provided by Rails this also...
...look at their titles like this: messages[0].find('h2').text => "Hello World" messages[1].find('h2').text => "Hello Universe" So far, so good. Now we want to find titles...
...using a "full" selector to avoid the broken behavior: page.find('.message:nth-of-type(1)', :text => 'Hello World').text => "Hello World" page.find('.message:nth-of-type(2)', :text => 'Hello World...
Trick: Do not use convert but mogrify: mogrify -resize 50% * This overwrites the original image file. In contrast, convert writes...
def hello 'world' end ^ $ git blame foo d47bf443 (Arne Hartherz 2012-12-19 14:44:38 +0100 1) def hello d47bf443 (Arne Hartherz 2012-12-19 14...
d47bf443 (Arne Hartherz 2012-12-19 14:44:38 +0100 3) end Now it's being changed to: def hello if world? 'world' else 'universe' end end
Typhoeus has a different way of representing array params in a get request than RestClient. Typhoeus: http://example.com/?foo[0]=1&foo[1]=2&foo[2]=3
Invocation Result amount(0) 0 amount(0.0) 0 amount(0.5) 0,5 amount(1.5, :minimum_precision => 2) 1,50 amount(1.543, :minimum_precision => 2) 1,543 amount(1.5, :minimum...
...precision => 2, :separator => '.') 1.50 amount(nil) – Rendering money amounts If your amounts are Western hemisphere money amounts, you want some additional prettifications on top of that: Always use a minimum...
...a makandra card?") }; let cardsPathPattern = /(\/[\w-]+\/\d+)-.+/; if (window.location.pathname.match(cardsPathPattern)) { let currentPath = window.location.pathname.match(cardsPathPattern)[1]; let title = document.querySelector('h1.note--title')?.textContent; if (title) { prompt("Your markdown link:", `[${title}](${currentPath})`);
Observed on Rails 2.3 and machinist 1.0.6 Like the title says, when you define the method empty? like in the following example, you may not longer use collection.make.
...has_many :pages def empty? pages.empty? end end Assuming b1 = Book.find(1) b2 = Book.find(2) instead of expected b1.pages.make #=> #<Page id: 1, book_id: 1> b2.pages.make #=> #<Page id: 2, book...
We forked trusty memoizer to make two changes: Memoized methods now preserve their arity. Previously all memoized methods had an...
...a vertical output. You know this: mysql> SELECT * FROM users; +----+---------+---------------------+-----------------+ | id | name | email | greeting | +----+---------+---------------------+-----------------+ | 1 | Alice | alice@example.com | Hello world! | | 2 | Bob | bob@example.com | Hello universe! | | 3 | Charlie | charlie@example.com | Hi mom...
This is how it looks like vertically: mysql> SELECT * FROM users \G *************************** 1. row *************************** id: 1 name: Alice email: alice@example.com greeting: Hello world! *************************** 2. row *************************** id: 2
...you could then test it like this: get :index persisted_session[:page_views].should == 1 # session[:page_views] is 1, so that would still work get :index persisted_session[:page...
...views].should == 2 # session[:page_views] would be 1, even though it works in the real world
...of objects, uniq does not work as expected, since it uses strict equality. So [[1], [1]].uniq() == [[1], [1]] In some cases, this might be a workaround: [[1], [1]].invoke...
...toJSON").uniq().invoke("evalJSON")
...event listener with { once: true }: up.on('up:fragment:inserted', { once: true }, function () {...
In Unpoly 1 you can immediately unregister the listener with up.off: up.on('up:fragment:inserted', function fragmentInsertedCallback() {
...total is either memoized itself, or using some # private memoized method subject.seat_counts = [5, 1] subject.seat_total.reload.should == 6 # => Still 5 end You might be tempted to manually unmemoize any memoized internal...
...fiddling with internal state. When writing tests, stay on your chosen abstraction level. Solution 1 record.unmemoize_all Solution 2 Perform a full reload by re-finding your record:
...you should still remove them after you're done. Here are three options: Option 1: Using a block it 'does something with a temporary directory' do Dir.mktmpdir('exports') do |export...
...this problem when you update your FreeBSD Ports: ===>>> Launching child to update ruby19-iconv-1.9.3.547,1 to ruby20-iconv-2.0.0.576,1 ===>>> All >> ruby19-iconv-1.9.3.547,1 (17/17) ===>>> Currently installed version...
...ruby19-iconv-1.9.3.547,1 ===>>> Port directory: /usr/ports/converters/ruby-iconv ===>>> This port is marked IGNORE ===>>> Not needed with Ruby 2.0 or newer ===>>> If you are sure you can build it, remove the IGNORE...
...occurs in sliders with HTML content. The issue When a slider contains a composited[1] element, the element will overlap any other element when sliding, being rendered as frontmost element...
...or fully, e.g. by using z-index) B is rendered in its own layer[1] C is moved with a CSS transition the transition moves A and B in from...
...middleware yourself. Here is an example that limits concurrency of the "mailers" queue to 1. It uses a database mutex via the with_advisory_lock gem but you could easily...
...rand(4)}" (not perfect, but might be good enough). For rate-limiting (e.g. only 1 job per 5 seconds) you could name it "mailers-throttle-#{(Time.now.to_i / 5.0).to_i...
...was not detected in the system." $stderr.puts "Download Yarn at https://yarnpkg.com/en/docs/install" exit 1 end end Deploying again should now install the missing dependencies as expected...
...array for e.g. one level, it takes an optional argument. # Flattens the array recursively >> [1, [2, [3]]].flatten => [1, 2, 3] # Flattens the array the given number of times
...sed -E 's/:[0-9]+: .*//'`" line_number="`echo $line | sed -E 's/.*:([0-9]+).*/\1/'`" else file="`echo $line | sed -r 's/:[0-9]+: .*//'`" line_number="`echo $line | sed -r...
...s/.*:([0-9]+).*/\1/'`" fi # since $file in working directory isn't always equal to $file in index, # we backup it; thereby we can add our whitespace fixes without accidently...
...some CSS selectors: function floatIn($element) { $element.css({ 'opacity': 0, 'margin-top': 200px }); $element.animate({ 'opacity': 1, 'margin-top': 0 }, { duration: 500 }); } The animation is implemented using setInterval and Javascript. This works...
...as smooth as a CSS transition. Fortunately the animate API can be mapped almost 1:1 to CSS transitions. There are libraries like Transit that act as a drop-in...
...used anywhere inside the Rake tasks. See #Resources at the bottom for examples. Step 1: Upgrade guide For migration from 2 to 3, follow this tutorial: Capistrano 3 Upgrade Guide...
Use the new syntax instead: set :ssh_options, {...
wrong number of arguments (1 for 2) undefined method `tail' for nil:NilClass You need to wrap your task body...
...always cached prior to actually storing it (to support form roundtrips). Carrierwave by default 1) copies the file to the cache and then 2) copies it again to its final...