rspec-rails-2.8.1 is released »
Created at: 05.01.2012 07:43, source: David Chelimsky, tagged: bdd rspec rails ruby
Bug fix release
The rails-3.2.0.rc2 release broke stub_model in rspec-rails-2.0.0 > 2.8.0.
The rspec-rails-2.8.1 release fixes this issue, but it means that when you
upgrade to rails-3.2.0.rc2 or greater, you’ll have to upgrade to
rspec-rails-2.8.1 or greater.
Because rspec-rails-2.8.1 supports all versions of rails since 3.0, I recommend that you upgrade to rspec-rails-2.8.1 first, and then upgrade to rails-3.2.0.rc2 (or 3.2.0 once it’s out).
Changelog
http://rubydoc.info/gems/rspec-rails/file/Changelog.md
Docs
http://rubydoc.info/gems/rspec-rails
http://relishapp.com/rspec/rspec-rails
more »
Rails 3.2.0.rc2 has been released! »
Created at: 04.01.2012 23:01, source: Riding Rails - home, tagged: Releases 3.2.0 rails rails release
Hi everyone,
Rails 3.2.0.rc2 has been released!
What to update in your apps
- Update your Gemfile to depend on rails ~> 3.2.0.rc2
- Update your Gemfile to depend on sass-rails ~> 3.2.3
- Start moving any remaining Rails 2.3-style
vendor/plugins/*. These are finally deprecated!
Extract your vendor/plugins to their own gems and bundle them in your Gemfile. If they're tiny, not worthy of the own gem, fold it into your app as lib/myplugin/* and config/initializers/myplugin.rb.
Changes since RC1
ActionMailer
- No changes
ActionPack
Add font_path helper method Santiago Pastorino
Depends on rack ~> 1.4.0 Santiago Pastorino
Add :gzip option to
caches_page. The default option can be configured globally usingpage_cache_compressionAndrey Sitnik
ActiveModel
- No changes
ActiveRecord
- No changes
ActiveResource
- No changes
ActiveSupport
- ActiveSupport::Base64 is deprecated in favor of ::Base64. Sergey Nartimov
Railties
Rails 2.3-style plugins in vendor/plugins are deprecated and will be removed in Rails 4.0. Move them out of vendor/plugins and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. Santiago Pastorino
Guides are available as a single .mobi for the Kindle and free Kindle readers apps. Michael Pearson & Xavier Noria
Allow scaffold/model/migration generators to accept a "index" and "uniq" modifiers, as in: "tracking_id:integer:uniq" in order to generate (unique) indexes. Some types also accept custom options, for instance, you can specify the precision and scale for decimals as "price:decimal{7,2}". Dmitrii Samoilov
Gem checksums
- MD5 (actionmailer-3.2.0.rc2.gem) = 118c83b2cddaa935d1de7534cfb6c810
- MD5 (actionpack-3.2.0.rc2.gem) = 6b18851bc26d5c8958672f27adda05ca
- MD5 (activemodel-3.2.0.rc2.gem) = d82f4eed949dcff17f8bf2aed806679a
- MD5 (activerecord-3.2.0.rc2.gem) = d07806fd5fc464f960200d20ceb2193a
- MD5 (activeresource-3.2.0.rc2.gem) = f51af240ff4623b0b6f8a4293ffa50dc
- MD5 (activesupport-3.2.0.rc2.gem) = 01380240c12e0380c9e61c97dd45f2f1
- MD5 (rails-3.2.0.rc2.gem) = 134f923f7d821f514abf6bdf4af62ca7
- MD5 (railties-3.2.0.rc2.gem) = 4b3ac0f9c5da16b90a1875e8199253d2
You can find an exhaustive list of changes on github. Along with the closed issues marked for v3.2.0.
You can also see issues we haven't closed yet.
Thanks to everyone!
more »
OAuth with OmniAuth and Twitter »
Created at: 07.11.2011 10:50, source: Ruby Rockers, tagged: Solutions oauth omniauth rails
Hi Folks,
If you want to have OAuth in your Rails Application with twitter. OmniAuth is the best gem to use.
OmniAuth provides list of Strategies to use many OAuth for your application. Here is the List of Strategies.
Showing here a Twitter Strategy for OmniAuth. Twitter uses the OAuth 1.0a flow, you can read about it here: https://dev.twitter.com/docs/auth/oauth
For using Twitter OAuth you have to register a Application on Twitter (https://dev.twitter.com/apps/new)
Once you done with the registration obtain the Consumer Key and Consumer Secret from the Twitter Application.
Be sure to put the callback URL in the application. Callback URL is the URL where user will land after successful authentication.
Showing an image here how to register an Application with Twitter.

Here showing some of the steps :
Generate a new Rails Application:
rails new TwitterAuth
Update your gemfile add omniauth-twitter gem into that
gem "omniauth-twitter"
Create a config/initializers/omniauth.rb file.
Paste your key instead of XXXX, and secret instead of YYYY
Rails.application.config.middleware.use OmniAuth::Builder do provider :twitter, 'XXXX', 'YYYY' end
All Done!
Just start the server
bundle exec rails server
And hit the URL
http://localhost:3000/auth/twitter
And you should be landing on the Twitter Authorize page!
After success your app will redirect to your given callback URL with information and token!
At OmniAuth.org you can try out different -2 Strategies.
Useful links :
- OmniAuth.org One page for all you need.
- omniauth-twitter gem.
more »
Respond to Custom Formats in Rails »
Created at: 24.10.2011 18:09, source: Ruby Rockers, tagged: Solutions Technology rails
We usually respond some of the known formats in Rails Application like HTML, XML, JavaScript, RSS and some custom.
Have you tried to use your own custom format for your Rails Application?
Yes you can use your custom format in Rails Application.
Here showing a simple Rails Application with responding custom formats.
Get a new app
rails new music_library
Get a scaffold into App
rails generate scaffold mp3 title:string url:string description:text
Ok so you are ready to serve some music on your app with some formats!
Now you have to register MIME types in the Rails Application.
For that open up Rails.root/config/initializers/mime_types.rb
Mime::Type.register 'audio/mpeg' , :mp3
Now you can serve .mp3 and content
For that your respond block should look like
def show
@mp3 = Mp3.find(params[:id])
respond_to do |format|
format.mp3 { redirect_to @mp3.url }
end
end
Now if you call this action with .mp3
http://localhost:3000/mp3s/1.mp3
You will redirect_to @mp3 url.
Happy adding custom formats!!
more »
X-Request-Id tracking and TaggedLogging in Rails3.2 »
Created at: 21.10.2011 18:04, source: Ruby Rockers, tagged: Technology rails ruby
Rails 3.2 will come with X-Request-Id tracking and TaggedLogging support!! Recently DHH added this feature here!
This makes it easy to trace requests from end-to-end in the stack and to identify individual requests in mixed logs.
If you have application on SAS model. Where you have logs filled with mixed request for all your customers. May be you need to filter out requests start with some specific subdomain. TaggedLogging will help you in that.
Where as the X-Request-Id feature will help you to track log with the same request. So in mixed logs you can easily find out the unique id logs for a request.
It will tag the log with the unique id for that request in the log. So later you can easily trace them down.
May be later on you can add more tags for your logs. If those methods are supported by the request object!
I am showing here some logs here with X-Request-Id
[2011-10-21 19:57:55] INFO WEBrick 1.3.1 [2011-10-21 19:57:55] INFO ruby 2.0.0 (2011-10-19) [x86_64-darwin11.2.0] [2011-10-21 19:57:55] INFO WEBrick::HTTPServer#start: pid=1585 port=3000 [9fda80066583f52e695a089d8622439c] Started GET "/blogs" for 127.0.0.1 at 2011-10-21 19:57:59 +0530 [9fda80066583f52e695a089d8622439c] Processing by BlogsController#index as HTML [9fda80066583f52e695a089d8622439c] Blog Load (0.2ms) SELECT "blogs".* FROM "blogs" [9fda80066583f52e695a089d8622439c] Rendered blogs/index.html.erb within layouts/application (8.8ms) [9fda80066583f52e695a089d8622439c] Completed 200 OK in 32ms (Views: 30.4ms | ActiveRecord: 0.3ms) [2011-10-21 19:57:59] WARN Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true [0962521e4215d645367b58fa41da9f0d] Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2011-10-21 19:57:59 +0530 [0962521e4215d645367b58fa41da9f0d] Served asset /application.css - 304 Not Modified (0ms) [2011-10-21 19:57:59] WARN Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true [a7204cec4d2b2e930ac05b41fa1a5c65] Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2011-10-21 19:57:59 +0530 [a7204cec4d2b2e930ac05b41fa1a5c65] Served asset /jquery_ujs.js - 304 Not Modified (1ms) [2011-10-21 19:57:59] WARN Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true [202eadd97820dfbf429f87f4725324c3] Started GET "/assets/blogs.css?body=1" for 127.0.0.1 at 2011-10-21 19:57:59 +0530 [202eadd97820dfbf429f87f4725324c3] Served asset /blogs.css - 304 Not Modified (2ms) [2011-10-21 19:57:59] WARN Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true [769a2752906bb0c2c5d1eae0a76ac328]
Here I showed some logs in strong. They are the same request for the index page tagged with the same unique id.
The same concept for the subdomain. The subdomain will also come as a tag.
You can also log some of the custom events in log file with the tags!
Logger.tagged("BCX") { Logger.info "Stuff" } # Logs "[BCX] Stuff"
Logger.tagged("BCX", "Jason") { Logger.info "Stuff" } # Logs "[BCX] [Jason] Stuff"
Logger.tagged("BCX") { Logger.tagged("Jason") { Logger.info "Stuff" } } # Logs "[BCX] [Jason] Stuff"
How to configure it ??
Open up your production.rb or your custom environment file, uncomment the line for log_tags
config.log_tags = [ :subdomain, :uuid ]
And you will get tagged logs with useful information.
Useful links :
Commit URL : https://github.com/rails/rails/commit/afde6fdd5ef3e6b0693a7e330777e85ef4cffddb
Feature Branch : 3.2
Cheers,
@arunagw
more »


