Sunday, December 25, 2011
You need to specify gem names as Strings. Use 'gem "test"' instead.
This can happen due to syntax error in your Gemfile. Fix the sytax error by manually checking this file. If that does not work delete the lines that you added to result in this problem and copy / paste from a working copy of a Gemfile.
Wednesday, December 07, 2011
syntax error, unexpected keyword_end
This happens because you have : <%= end %> instead of <% end %>
Thursday, December 01, 2011
`test': unknown command 't' (ArgumentError)
To write tests using Test::Unit new syntax :
test "truth" do
assert true
end
1. gem install test-unit
2. Code:
require 'rubygems'
gem 'test-unit'
require 'test/unit'
class ExampleTest < Test::Unit::TestCase
def test_truth
assert true
end
test "truth" do
assert true
end
end
3. Run: ruby example_test This will work on ruby-1.9.3-p0.
Reference: Test::Unit and MiniTest with different Ruby versions
test "truth" do
assert true
end
1. gem install test-unit
2. Code:
require 'rubygems'
gem 'test-unit'
require 'test/unit'
class ExampleTest < Test::Unit::TestCase
def test_truth
assert true
end
test "truth" do
assert true
end
end
3. Run: ruby example_test This will work on ruby-1.9.3-p0.
Reference: Test::Unit and MiniTest with different Ruby versions
Wednesday, November 30, 2011
Installing Ruby 1.9.3 using RVM on Mac OS Lion
ERROR: The provided CC(gcc) is LLVM based, it is not yet fully supported by ruby and gems, please read `rvm requirements`.
1) Download Xcode 4.2.x via App Store.
2) Go to Applications folder and click Install Xcode
3) Download and install GCC from https://github.com/kennethreitz/osx-gcc-installer
4) In a new terminal run : export CC=gcc
and then run : rvm install 1.9.3
5) You may also want to upgrade ruby gems by running:
gem update --system
1) Download Xcode 4.2.x via App Store.
2) Go to Applications folder and click Install Xcode
3) Download and install GCC from https://github.com/kennethreitz/osx-gcc-installer
4) In a new terminal run : export CC=gcc
and then run : rvm install 1.9.3
5) You may also want to upgrade ruby gems by running:
gem update --system
Wednesday, November 02, 2011
ActiveRecord::Relation, undefined method error
If you are using the active record relationships to access columns, for instance:
Article has many comments
article.comments.where("spam = ?", false).order("created_at asc")
This returns ActiveRelation object that does not fire the query. Only when you loop through the results you can access the columns of comments objects. If you want to force the call to the database just append "all" to it like this:
article.comments.where("spam = ?", false).order("created_at asc").all
Article has many comments
article.comments.where("spam = ?", false).order("created_at asc")
This returns ActiveRelation object that does not fire the query. Only when you loop through the results you can access the columns of comments objects. If you want to force the call to the database just append "all" to it like this:
article.comments.where("spam = ?", false).order("created_at asc").all
Monday, October 24, 2011
(local out of date) error in Git when working with branches
1. git pull origin your-branch
2. git push origin your-branch
Step 1 brings your local branch to up-to date. Step 2 pushes your changes to the remote branch.
2. git push origin your-branch
Step 1 brings your local branch to up-to date. Step 2 pushes your changes to the remote branch.
Sunday, October 23, 2011
invalid date format in specification: gem ruby
1) Upgraded ruby gems to 1.8.11 (gem update --system)
2) gem pristine --all
No luck.
Deleted all the gemspec that were causing problems: whenever-0.6.8.gemspec etc. Then bundle install made it work.
2) gem pristine --all
No luck.
Deleted all the gemspec that were causing problems: whenever-0.6.8.gemspec etc. Then bundle install made it work.
`build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
I was getting :
Installing eventmachine (0.12.10) with native extensions .rvm/rubies/ruby-1.8.7-p330/lib/ruby/site_ruby/1.8/rubygems/installer.rb:533:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
during the installation of scheduler_daemon on Mac OS Lion. Upgraded XCode via appstore (download from appstore and install) to resolve this issue.
Installing eventmachine (0.12.10) with native extensions .rvm/rubies/ruby-1.8.7-p330/lib/ruby/site_ruby/1.8/rubygems/installer.rb:533:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
during the installation of scheduler_daemon on Mac OS Lion. Upgraded XCode via appstore (download from appstore and install) to resolve this issue.
Friday, October 07, 2011
Integrating Tweet Button in Rails App
In Rails 3.0 app:
1) In Gemfile include:
gem 'tweet-button'
2) bundle install
3) In application_helper.rb include:
module ApplicationHelper
include TweetButton
... other methods...
end
4) In your partial:
<%= tweet_button(:via => "CreditCardLogic", :url => polymorphic_url(article), :text => "Check this out!") %>
To see this in action, check out my credit cards site.
1) In Gemfile include:
gem 'tweet-button'
2) bundle install
3) In application_helper.rb include:
module ApplicationHelper
include TweetButton
... other methods...
end
4) In your partial:
<%= tweet_button(:via => "CreditCardLogic", :url => polymorphic_url(article), :text => "Check this out!") %>
To see this in action, check out my credit cards site.
Tuesday, September 27, 2011
Making a Branch the Master in GIT
git checkout cat_killer
git merge -s ours master
git checkout master
git merge cat_killer
git push
cat_killer is the branch you want to make the master.
Stolen from Stackoverflow post.
git merge -s ours master
git checkout master
git merge cat_killer
git push
cat_killer is the branch you want to make the master.
Stolen from Stackoverflow post.
Tuesday, September 20, 2011
no mongrel gem found in sdk rubymine
Even if you are using RVM, Rubymine actually looks at the global installation for the gem. Install thin, mongrel etc on the global Ruby installation that is independent of any gemset.
Friday, August 12, 2011
require that is compatible with ruby 1.8.x and 1.9.x
require File.expand_path(File.join(File.dirname(__FILE__), 'player'))
This makes : require 'player' work on both Ruby 1.8.x and 1.9.x
This makes : require 'player' work on both Ruby 1.8.x and 1.9.x
Sunday, August 07, 2011
ImageMagick Installer
Download the script from https://github.com/maddox/magick-installer/blob/master/magick-installer.sh and run it.
ImageScience on Snow Leopard
1) Download and install MacPorts http://www.macports.org/install.php
2) sudo port install freeimage
3) env ARCHFLAGS="-arch x86_64" gem install RubyInline image_science
2) sudo port install freeimage
3) env ARCHFLAGS="-arch x86_64" gem install RubyInline image_science
Wednesday, July 27, 2011
Reserved Words in Rails
To find out if a given name is reserved in Rails programmatically, check out this How to find out if a name is reserved in Rails 4.2.5.
* ADDITIONAL_LOAD_PATHS
* ARGF
* ARGV
* ActionController
* ActionView
* ActiveRecord
* ArgumentError
* Array
* BasicSocket
* Benchmark
* Bignum
* Binding
* CGI
* CGIMethods
* CROSS_COMPILING
* Class
* ClassInheritableAttributes
* Comparable
* ConditionVariable
* Config
* Continuation
* DRb
* DRbIdConv
* DRbObject
* DRbUndumped
* Data
* Date
* DateTime
* Delegater
* Delegator
* Digest
* Dir
* ENV
* EOFError
* ERB
* Enumerable
* Errno
* Exception
* FALSE
* FalseClass
* Fcntl
* File
* FileList
* FileTask
* FileTest
* FileUtils
* Fixnum
* Float
* FloatDomainError
* GC
* Gem
* GetoptLong
* Hash
* IO
* IOError
* IPSocket
* IPsocket
* IndexError
* Inflector
* Integer
* Interrupt
* Kernel
* LN_SUPPORTED
* LoadError
* LocalJumpError
* Logger
* Marshal
* MatchData
* MatchingData
* Math
* Method
* Module
* Mutex
* Mysql
* MysqlError
* MysqlField
* MysqlRes
* NIL
* NameError
* NilClass
* NoMemoryError
* NoMethodError
* NoWrite
* NotImplementedError
* Numeric
* OPT_TABLE
* Object
* ObjectSpace
* Observable
* Observer
* PGError
* PGconn
* PGlarge
* PGresult
* PLATFORM
* PStore
* ParseDate
* Precision
* Proc
* Process
* Queue
* RAKEVERSION
* RELEASE_DATE
* RUBY
* RUBY_PLATFORM
* RUBY_RELEASE_DATE
* RUBY_VERSION
* Rack
* Rake
* RakeApp
* RakeFileUtils
* Range
* RangeError
* Rational
* Regexp
* RegexpError
* Request
* RuntimeError
* STDERR
* STDIN
* STDOUT
* ScanError
* ScriptError
* SecurityError
* Signal
* SignalException
* SimpleDelegater
* SimpleDelegator
* Singleton
* SizedQueue
* Socket
* SocketError
* StandardError
* String
* StringScanner
* Struct
* Symbol
* SyntaxError
* SystemCallError
* SystemExit
* SystemStackError
* TCPServer
* TCPSocket
* TCPserver
* TCPsocket
* TOPLEVEL_BINDING
* TRUE
* Task
* Text
* Thread
* ThreadError
* ThreadGroup
* Time
* Transaction
* TrueClass
* TypeError
* UDPSocket
* UDPsocket
* UNIXServer
* UNIXSocket
* UNIXserver
* UNIXsocket
* UnboundMethod
* Url
* VERSION
* Verbose
* YAML
* ZeroDivisionError
Other names that have been reported to cause trouble:
* accept
* callback – breaks validation if used as a model method.
* categorie
* action
* attributes – if you have a has_many called attributes, you can’t access to your object attributes anymore; only the associated objects
* application2
* @base_path – setting this variable name in a controller method seems to break the ablity to render a partial in the view. The view will render with no content and no errors will be generated .
* connection – there seems to be a connection class already
* database – (in mysql)
* dispatcher
* display1
* drive – fixtures will not autogenerate IDs in Rails 2.0.2
* errors
* format
* host – I had a text_field :host, :name that I saw problems with. (JR)
* key
* layout – If you have a model called Layout and in a controller have “scaffold :layout” it generates an exception. However, if you script/generate the scaffold for layout it works.
* load – When making an Ajax call to an action named load, the action’s code will be skipped (or otherwise rendered useless). This is made apparent by: a) @variables are not available in the view, b) calling render :layout => false still yields the layout.
* link – breaks migrations when used as a column name in combination with validation: ticket
* new, override to news if you want a news table
* notify – not a valid column name
* open – not a valid column name
* public
* quote ‘quote’ cannot be used as a column name
* render – cannot be used as an action name
* request
* records – a table named records seemed to cause duplicate entries to be found by find
* responses – scaffold borks with "undefined method ‘body=’ "
* save – ActiveRecord uses this to save the object.
* scope – do not use as an association name because ActiveRecord::Base.scope is called instead
* send
* session (session_controller or SessionController will not work)
* system – a table column named system causes problems when trying to generate scaffold
* template – a table named templates causes an error when you try to invoke the create method of the default controller
* test (however those work with ruby test/unit/axistest.rb_ and rake testunits_)
* timeout – an ActiveRecord attribute named timeout will clash with the global function “timeout” defined in Ruby’s timeout.rb
* to_s — naming a model instance method to_s resulted in ‘File not found’ for any view an object of this class (should have) appeared in (no matter which method called) and WebRick had to be restarted. I couldn’t drag the very cause into light, but in the traces ‘to_s’ gave me a hint. After renaming everything worked well again.
* type — or any of the other MagicFieldNames
* URI
* visits — a table column named visits causes problems when trying to query some_obj.visits.
* Observer — for a model name works in development environment but not in production.
singular names finishing in “s”: Axis → Axes, Access → Accesses, will break the pluralization in rake: Axi, Acces
Monitor cannot be used. It is a Ruby class that is related to threading.
List of Magic Field Names
* created_at
* created_on
* updated_at
* updated_on
* lock_version
* type
* id
* #{table_name}_count
* position
* parent_id
* lft
* rgt
* quote_value (is used for quoting)
* template
* ADDITIONAL_LOAD_PATHS
* ARGF
* ARGV
* ActionController
* ActionView
* ActiveRecord
* ArgumentError
* Array
* BasicSocket
* Benchmark
* Bignum
* Binding
* CGI
* CGIMethods
* CROSS_COMPILING
* Class
* ClassInheritableAttributes
* Comparable
* ConditionVariable
* Config
* Continuation
* DRb
* DRbIdConv
* DRbObject
* DRbUndumped
* Data
* Date
* DateTime
* Delegater
* Delegator
* Digest
* Dir
* ENV
* EOFError
* ERB
* Enumerable
* Errno
* Exception
* FALSE
* FalseClass
* Fcntl
* File
* FileList
* FileTask
* FileTest
* FileUtils
* Fixnum
* Float
* FloatDomainError
* GC
* Gem
* GetoptLong
* Hash
* IO
* IOError
* IPSocket
* IPsocket
* IndexError
* Inflector
* Integer
* Interrupt
* Kernel
* LN_SUPPORTED
* LoadError
* LocalJumpError
* Logger
* Marshal
* MatchData
* MatchingData
* Math
* Method
* Module
* Mutex
* Mysql
* MysqlError
* MysqlField
* MysqlRes
* NIL
* NameError
* NilClass
* NoMemoryError
* NoMethodError
* NoWrite
* NotImplementedError
* Numeric
* OPT_TABLE
* Object
* ObjectSpace
* Observable
* Observer
* PGError
* PGconn
* PGlarge
* PGresult
* PLATFORM
* PStore
* ParseDate
* Precision
* Proc
* Process
* Queue
* RAKEVERSION
* RELEASE_DATE
* RUBY
* RUBY_PLATFORM
* RUBY_RELEASE_DATE
* RUBY_VERSION
* Rack
* Rake
* RakeApp
* RakeFileUtils
* Range
* RangeError
* Rational
* Regexp
* RegexpError
* Request
* RuntimeError
* STDERR
* STDIN
* STDOUT
* ScanError
* ScriptError
* SecurityError
* Signal
* SignalException
* SimpleDelegater
* SimpleDelegator
* Singleton
* SizedQueue
* Socket
* SocketError
* StandardError
* String
* StringScanner
* Struct
* Symbol
* SyntaxError
* SystemCallError
* SystemExit
* SystemStackError
* TCPServer
* TCPSocket
* TCPserver
* TCPsocket
* TOPLEVEL_BINDING
* TRUE
* Task
* Text
* Thread
* ThreadError
* ThreadGroup
* Time
* Transaction
* TrueClass
* TypeError
* UDPSocket
* UDPsocket
* UNIXServer
* UNIXSocket
* UNIXserver
* UNIXsocket
* UnboundMethod
* Url
* VERSION
* Verbose
* YAML
* ZeroDivisionError
Other names that have been reported to cause trouble:
* accept
* callback – breaks validation if used as a model method.
* categorie
* action
* attributes – if you have a has_many called attributes, you can’t access to your object attributes anymore; only the associated objects
* application2
* @base_path – setting this variable name in a controller method seems to break the ablity to render a partial in the view. The view will render with no content and no errors will be generated .
* connection – there seems to be a connection class already
* database – (in mysql)
* dispatcher
* display1
* drive – fixtures will not autogenerate IDs in Rails 2.0.2
* errors
* format
* host – I had a text_field :host, :name that I saw problems with. (JR)
* key
* layout – If you have a model called Layout and in a controller have “scaffold :layout” it generates an exception. However, if you script/generate the scaffold for layout it works.
* load – When making an Ajax call to an action named load, the action’s code will be skipped (or otherwise rendered useless). This is made apparent by: a) @variables are not available in the view, b) calling render :layout => false still yields the layout.
* link – breaks migrations when used as a column name in combination with validation: ticket
* new, override to news if you want a news table
* notify – not a valid column name
* open – not a valid column name
* public
* quote ‘quote’ cannot be used as a column name
* render – cannot be used as an action name
* request
* records – a table named records seemed to cause duplicate entries to be found by find
* responses – scaffold borks with "undefined method ‘body=’ "
* save – ActiveRecord uses this to save the object.
* scope – do not use as an association name because ActiveRecord::Base.scope is called instead
* send
* session (session_controller or SessionController will not work)
* system – a table column named system causes problems when trying to generate scaffold
* template – a table named templates causes an error when you try to invoke the create method of the default controller
* test (however those work with ruby test/unit/axistest.rb_ and rake testunits_)
* timeout – an ActiveRecord attribute named timeout will clash with the global function “timeout” defined in Ruby’s timeout.rb
* to_s — naming a model instance method to_s resulted in ‘File not found’ for any view an object of this class (should have) appeared in (no matter which method called) and WebRick had to be restarted. I couldn’t drag the very cause into light, but in the traces ‘to_s’ gave me a hint. After renaming everything worked well again.
* type — or any of the other MagicFieldNames
* URI
* visits — a table column named visits causes problems when trying to query some_obj.visits.
* Observer — for a model name works in development environment but not in production.
singular names finishing in “s”: Axis → Axes, Access → Accesses, will break the pluralization in rake: Axi, Acces
Monitor cannot be used. It is a Ruby class that is related to threading.
List of Magic Field Names
* created_at
* created_on
* updated_at
* updated_on
* lock_version
* type
* id
* #{table_name}_count
* position
* parent_id
* lft
* rgt
* quote_value (is used for quoting)
* template
uninstalling rake 0.9.2
gem uninstall rake
ERROR: While executing gem ... (Gem::InstallError)
cannot uninstall, check `gem list -d rake`
1) gem list -d rake
gives:
*** LOCAL GEMS ***
rake (0.9.2, 0.8.7)
Author: Jim Weirich
Rubyforge: http://rubyforge.org/projects/rake
Homepage: http://rake.rubyforge.org
Installed at (0.9.2): /Users/bparanj/.rvm/gems/ruby-1.9.2-p180@global
(0.8.7): /Users/bparanj/.rvm/gems/ruby-1.9.2-p180@global
2) rvm use @global && gem uninstall rake -v 0.9.2
uninstalls rake
ERROR: While executing gem ... (Gem::InstallError)
cannot uninstall, check `gem list -d rake`
1) gem list -d rake
gives:
*** LOCAL GEMS ***
rake (0.9.2, 0.8.7)
Author: Jim Weirich
Rubyforge: http://rubyforge.org/projects/rake
Homepage: http://rake.rubyforge.org
Installed at (0.9.2): /Users/bparanj/.rvm/gems/ruby-1.9.2-p180@global
(0.8.7): /Users/bparanj/.rvm/gems/ruby-1.9.2-p180@global
2) rvm use @global && gem uninstall rake -v 0.9.2
uninstalls rake
Friday, July 15, 2011
Installing Ruby Debug
1) From the root of the project run:
gem install ruby-debug19 -- --with-ruby-include="$rvm_path/src/$(rvm tools identifier)/"
2) Include in Gemfile
group :test, :development do
gem ‘ruby-debug19′, :require => ‘ruby-debug’
end
3) Create a .rdebugrc in your home directory
set autolist
set autoeval
set autoreload
set forcestep
4)
Specify how you would like Rails to report deprecation notices for your bugger environment, set
config.active_support.deprecation to :log, :notify or :stderr at config/environments/bugger.rb
5) require 'ruby-debug' in development.rb. Edit source where you want to debug to include :
debugger
6) Start server in debug mode:
rails s -d
References
http://pivotallabs.com/users/chad/blog/articles/366-ruby-debug-in-30-seconds-we-don-t-need-no-stinkin-gui-
http://bashdb.sourceforge.net/ruby-debug.html
http://railscasts.com/episodes/54-debugging-with-ruby-debug
gem install ruby-debug19 -- --with-ruby-include="$rvm_path/src/$(rvm tools identifier)/"
2) Include in Gemfile
group :test, :development do
gem ‘ruby-debug19′, :require => ‘ruby-debug’
end
3) Create a .rdebugrc in your home directory
set autolist
set autoeval
set autoreload
set forcestep
4)
Specify how you would like Rails to report deprecation notices for your bugger environment, set
config.active_support.deprecation to :log, :notify or :stderr at config/environments/bugger.rb
5) require 'ruby-debug' in development.rb. Edit source where you want to debug to include :
debugger
6) Start server in debug mode:
rails s -d
References
http://pivotallabs.com/users/chad/blog/articles/366-ruby-debug-in-30-seconds-we-don-t-need-no-stinkin-gui-
http://bashdb.sourceforge.net/ruby-debug.html
http://railscasts.com/episodes/54-debugging-with-ruby-debug
Friday, July 08, 2011
Sunday, June 26, 2011
Reserved Words You Can’t Use in Rails
It would be nice if the Rails generator fails to generate when you use the reserved words for a model. I wasted lot of time when I used words like monitor as a model name and class, type as an attribute for a model.
Here is a list of words that cannot be used.
Here is a list of words that cannot be used.
Subscribe to:
Posts (Atom)