If you want to dynamically add a member to a Ruby object, use the hash/array brackets and symbol (:user_id) as shown in the iRb session below. As you can see the dot notation will not work. bash >> d = AccessMode.find(1) => #<AccessMode id: 1, device_id: 31218, mode: "dialup", timestamp: "2007-12-25 15:52:55"> >> d[:user_id] =…
I have been writing some scripts in ruby to parse JSON generated data. To do this it requires the json ruby gem which works great to parse through JSON output. Anyhow I was loading files into ruby and parsing them without issue until i got to a larger file and I received the below error.
/usr/local/lib/ruby/gems/1.8/gems/json-1.1.3/lib/json/common.rb:122:in `parse’: 574: unexpected token at ” (JSON::ParserError)
from /usr/local/lib/ruby/gems/1.8/gems/json-1.1.3/lib/json/common.rb:122:in `parse’
from tickets.rb:11:in `open’
The power of the Unix command vi never ceases to amaze me. I have known how to search and replace easily using vi for a long time however I didn’t know how to find and replace plus insert a line break during the replace. After toying around with vi for awhile I was able to figure it out. The example below shows how to find and replace certain text while inserting a line break.
Contents of a File:
- (1,2,'title one','2009-04-20 17:55:46','description one'),(2,2,'title two','2009-04-20 18:05:54','description two'),(3,2,'title three','2009-04-20 18:23:10','description three'),(4,2,'title four','2009-04-20 19:33:42','description four'),(5,2,'title five','2009-04-20 19:45:34','description five')