Showing posts with label Hire rails developers. Show all posts
Showing posts with label Hire rails developers. Show all posts

Thursday, March 14, 2013

Top 6 Features Which Metamorphosed Rails 3.0

Rails development in India has been going on for some time and among the companies who work in Rails, Mindfire is one of the best. The team at Mindfire has developed complex Rails applications from scratch, done maintenance on existing applications, have helped clients migrate from older versions of Rails to Rails3.0. The Rails development team at Mindfire has built a CMS which has been shared in Github, in addition to this a survey gem was also developed by the team. When you hire rails developers from us, you get access to the expertise and experience we have gained over working in these huge number of projects.


Having worked in so many versions of rails, our developers were happy with the wonderful features of Rails3.0. Some of the features that were truly amazing were the ones related to the architectural changes – as given below:
There are six major changes in the architecture of Rails.

Railties Restrung
Railties was updated to provide a consistent plugin API for the entire Rails framework as well as a total rewrite of generators and the Rails bindings, the result is that developers can now hook into any significant stage of the generators and application framework in a consistent, defined manner.

All Rails core components are decoupled
With the merge of Merb and Rails, one of the big jobs was to remove the tight between Rails core components. This has now been achieved, and all Rails core components are now using the same API that you can use for developing plugins. This means any plugin you make, or any core component replacement (like DataMapper or Sequel) can access all the functionality that the Rails core components have access to and extend and enhance at will.

Active Model Abstraction
Part of the core components was extracting all ties to Active Record from Action Pack. This has now been completed. All new ORM plugins now just need to implement Active Model interfaces to work seamlessly with Action Pack.

Controller Abstraction
Another big part of the core components was creating a base super that is separated from the notions of HTTP in order to handle rendering of views etc. This creation of AbstractController allowed ActionController and ActionMailer to be greatly simplified with common code removed from all these libraries and put into Abstract Controller.

Arel Integration
Arel (or Active Relation) has been taken on as the underpinnings of Active Record and is now required for Rails. Arel provides an SQL abstraction that simplifies out Active Record and provides the underpinnings for the relation functionality in Active Record.

Mail Extraction
Action Mailer ever since its beginnings has had monkey patches, even delivery and receiver agents, all in addition to having TMail vendored in the source tree. Version 3 changes that with all email message related functionality abstracted out to the Mail gem. This again reduces code duplication and helps create definable boundaries between Action Mailer and the email.

To know more about our expertise in Rails website development or if you are looking to hire Rails programmer, please contact us at sales at mindfiresolutions.com or call 1-248-686-1424. We will be glad to help you.

Tuesday, August 14, 2012

New Ruby on Rails Gem Announced by Mindfire Solutions

Mindfire’s Ruby on rails development team has created a gem called “Survey” and shared it in GIT (GIT link : https://github.com/mindfire-solutions/survey). Through this gem anyone can run a survey – all you need to think of is a set of questions and answers, rest all you need to do is add this gem to your Rails application.

Mindfire has been working in Rails application development for more than 2 years now and our development team has been contributing to the knowledge base by sharing our learning with the community at large through articles and tips (on new or useful things we learned during application development). This is one more step in that direction where we realized that there are no survey gems available for quick use by Rails developers worldwide, so we created one and shared in GIT.
Prerequisites for using this gem are:
  • Ruby 1.9 or higher
  • Ruby on Rails 3.1.3 or higher
  • Application must have an authentication system with admin and normal user privileges.
  • As we are using jQuery in the gem, so your application must support (include) jQuery-rails gem.

Details of the Survey gem:
Survey is composed of various modules those are listed and explained below:
  1. Categories: All the questions and the answer sets are categorized. An admin user can add categories and a normal user can just view the categories.

  2. Questions: Questions are the basic module of Survey. Questions can only be added by an admin user. They are broken into following types:
    • Text Box: A question with a text box as an answer field.
    • Text Box (Date): A question with a textbox and a calendar. Accepts only date as answer.
    • Drop Down: A question with a drop down of choices. One of the choices needs to be selected to answer the question.
    • Check Box: A question with check boxes. When a question can have multiple answers.
    • Radio Button: A question with radio buttons. It can be used for selecting one out of multiple options.
  1. Selections: Selections are the pre-defined choices/options for the questions of types Drop Down/ Check Boxes/ Radio Buttons etc. While creating a question if one chooses the question type to be any of the above three, a link is provided for adding a selection. A question can have as many selections as needed.

  2. Validations: For the questions with Text Boxes, we can limit the input by adding validations. Validations can be chosen from the pre-defined list that appears if the question type is Text Box.

  3. Question Sets: A Question Set is set of questions and sub-sets. Each question/sub-set that is added to the question set is called a Question Set Item. A Question Set is classified as follows:
    • Assembly: A question set that cannot be integrated into other sets. Only Assembly Question Sets can be evaluated.
    • Sub-Assembly (Sub-set): A question set that can be integrated into other sets.
  1. Question Set Items: A question set item is any item that is being added to the question set. It can be a question or Sub-assemble question set.

  2. Conditions: If the question set item is a question then we can add a condition based on the choice a user would made. For example, if the item is a question that states “Which car do you own?” and the selections are “A. Skoda, B. Audi, C. VolksWagon etc” now we can add condition if the user chooses selection A then we can show a question/set of questions, if user chooses B then we can show a different set/question or may be nothing. A condition can be applied to a question with Text Box too, but instead of using selections as a base the validations would be considered. If the question type is Radio/Dropdown the multiple selections in a condition would mean, if either of the selections. While in case of check box multiple selections would mean all of the selected options need to match with the user selections. Text Box (Date) type questions do not have any conditions.

  3. Evaluation: Evaluation is sort of answering the questions in a set. A published and assembly type question set can only be evaluated. Any user can participate in the evaluation of a question set. Though they can view/edit evaluations made by them, they are not allowed to view evaluations made by other users in the system.

To develop your own Ruby on Rails gem, or to understand how our offshore ruby on rails developers can assist you on your Rails application development projects, please contact us. You can hire our Rails certified developers who would work remotely on your projects you would get the best dedicated QA as well. Email us at sales at mindfiresolutions dot com or call 1-248-686-1424.