Ruby on Rails 5.1.2 released

New version of Ruby on Rails framework has been released, bringing some new features
27 June 2017   1342
Ruby

A dynamic, open source programming language, focused on simplicity and productivity
 

Ruby on Rails

Ruby on Rails (RoR) - a framework written in the Ruby programming language

Good news for RoR fans. New 5.1.2 version has been released.

Changelogs

List of changes for every gem:

  •  Action Pack:
    • driven_by now registers poltergeist and capybara-webkit
      If driver poltergeist or capybara-webkit is set for System Tests, driven_by will register the driver and set additional options passed via :options param.
  • Action View:
    • Fixed issues with scopes and engine on current_page? method.
    • Generate field ids in collection_check_boxes and collection_radio_buttons. This makes sure that the labels are linked up with the fields.
  • Active Model:
    • Fixed regression in numericality validator when comparing Decimal and Float input values with more scale than the schema.
  • Active Record:
    • Restore previous behavior of collection proxies: their values can have methods stubbed, and they respect extension modules applied by a default scope.
    • Loading model schema from database is now thread-safe.
  • Active Support:
    • Cache: Restore the options = nil argument for LocalStore#clear that was removed in 5.1.0. Restores compatibility with backends that take an options argument and use the local cache strategy.

Fix implicit coercion calculations with scalars and durations
Previously calculations where the scalar is first would be converted to a duration of seconds but this causes issues with dates being converted to times, e.g:

Time.zone = "Beijing"           # => Asia/Shanghai
date = Date.civil(2017, 5, 20)  # => Mon, 20 May 2017
2 * 1.day                       # => 172800 seconds
date + 2 * 1.day                # => Mon, 22 May 2017 00:00:00 CST +08:00

Now the ActiveSupport::Duration::Scalar calculation methods will try to maintain the part structure of the duration where possible, e.g:
 

Time.zone = "Beijing"           # => Asia/Shanghai
date = Date.civil(2017, 5, 20)  # => Mon, 20 May 2017
2 * 1.day                       # => 2 days
date + 2 * 1.day                # => Mon, 22 May 2017
  • Railties:
    • Add Windows support to rails secrets:edit.

View all changes list at GitHub.

SHA-256

Feel free to use this checksum in order to check version of your gem:

$ shasum -a 256 *-5.1.2.gem
27943a2642cd94478a88d4e239bb1467476d2acd10f0f588b220e05367163524  actioncable-5.1.2.gem
e62c4e1b09565e8188d405eac974db1cf31b552064fa9e15fac686556837909f  actionmailer-5.1.2.gem
b63833831efcfc5fce72deb5bfc14feb7bbe87dd065d8de5904db6dfbc115bca  actionpack-5.1.2.gem
82efdca96308476cb644d65bc9842167099ed1210ce3c8b626be9ebdcc8c311e  actionview-5.1.2.gem
d6f762971dfaa312d5f9262eb65eef1c16080cde4790e0e3fd29a0c9651659c4  activejob-5.1.2.gem
e5d8ae2826f733220dd29792bda5c57d7aa5f6bca036abc1a5fcd4632628f1ce  activemodel-5.1.2.gem
a3757003b09ac6926d18b32106927d341f906fdf71aa8fa2e3a8e8e0716548ce  activerecord-5.1.2.gem
0ecf4132689fc06c888c8a1d6678dc22ab972ff5abe797c4fc685582c9ce9d17  activesupport-5.1.2.gem
4ee8ea1a2760cafbd70fbc878fd0c4ad2fec105082719c818934b39fd4ff0e9b  rails-5.1.2.gem
db82fbd1dd000b9f5558bfa20c341ccf74ea43716f96e3839be5c219fffe78fc  railties-5.1.2.gem

 

Ruby Meditation #22 in Dnipro

Meditation will be held on May 19, at Parle, Troitska St, 21 g, Dnipro
27 April 2018   536

On Ruby Meditation #22 you will hear about helpful tools and gems for building Slack apps, examples how to build functional architecture with ruby, which place takes Ruby on Rails among alternatives in 2018 and much more.

Come and get your portion of good mood, knowledge, professional communication and tasty lunch :)

Share your positive experience and best practices on this Ruby Meditation #22. If you have any work issues you cannot solve, our community will gladly help you to find the best way out in live discussion at Lightning talks session. You may also try yourself as a speaker with a short 5-10 mins talk. Fill in this form.

Programme

Anna Shcherbinina

Topic: "Docker + GPU. Not about mining."

Anna Shcherbinina
Anna Shcherbinina

Just before Christmas we launched a new body-measurement feature for our shapify.me project. A person goes into the 3D booth, gets scanned, and the body-measurements are calculated with the 3D scan data. We couldn't avoid using a GPU with these calculations.

How to install this branch of processing into our elegant scaling pipeline? When you're dealing with 3D scans you should remember two things: it's expensive and time-consuming. By the way, its workload fluctuates throughout the days. The easiest solution for us was to use Docker.

This speech is not about mining, but the most helpful articles for us were ones such as "Building your own mining farm". That's because we use quite a similar infrastructure.

GPU, Docker, scaling. What we achieved, where we failed, and what it became of it in the end is all included in my speech.
 

Anna Shcherbinina

Head of Web, Artec3D, Luxembourg

Kirill Shevchenko

Topic: "Building Slack apps with Ruby."

Kirill Shevchenko
Kirill Shevchenko

Overview of Slack APIs. Their features, restrictions, and bottlenecks. Which API is right for you? Helpful tools and gems for building Slack apps.
 

Kirill Shevchenko

Ruby/JS Developer

Valentine Ostakh

Topic: "Functional objects in Ruby: new horizons "

Valentine Ostakh
Valentine Ostakh

Overview of functional programming concepts.  What is functional objects. Examples how to build functional architecture with ruby.
 

Valentine Ostakh

Ruby/JS Developer

Leonid Shevtsov

Topic: "A polyglot's view of Ruby on Rails"

Leonid Shevtsov
Leonid Shevtsov

Nowadays, it's hip to switch from Rails to other languages and frameworks. Leonid, too, has abandoned Rails, played the field a bit, and has come around to occasionally but consistently picking Rails for some projects. What's the modern reason to use Rails? What are the strengths of Ruby and Rails and how to build upon them? When you should really jump to some other platform? Let's answer these questions in a true Ruby meditation.
 

Leonid Shevtsov

Systems Architect

Oleksii Dashkevych

Topic: "Project development - preparing hell dish together"

Oleksii Dashkevych
Oleksii Dashkevych

The recipe is averaged, because of many variations. We take some Ruby code and add Rails magic, Postgresql on top. Add Docker for viscosity. Then put this on AWS EBS pan and start frying. It's all roasted until burning deadlines and generously watered with bugs, serves to the customer. They start eating. Eat and whisper: “This is an awesome product!”. At the same time, he forehead is sweating. Kindly offer to fix bugs, but we refuse and put them in JIRA. Do I need to talk about what kind of feedback comes then? Tasks with such recipes, that double estimated.
 

Oleksii Dashkevych

Ruby/JS Developer

Thanks to the sponsors: Ruby Garage, Railsware, Aejis.

Students, who interested in ruby and have a willingness to visit Ruby Meditation, will get a discount 50% with promocode ‘student’. Please send your student ID’s scan to make your registration on the event faster.

If you are a parent of a small baby (0-3 years) on maternity leave and you want to learn more about ruby development you can get a special discount for a ticket with promo code ‘GrowWithYourKid’. Please send your document's scan or take it with you to approve your status and make your registration in the event faster.

If you have any questions or suggestions, don't hesitate to contact us via cell phone: 099 202 6308 or by email: rubymeditation@gmail.com

More details on website.

Buy a ticket