anyenvでrubyをインストール

まずはanyenvをインストール

git clone https://github.com/riywo/anyenv ~/.anyenv
echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(anyenv init -)"' >> ~/.bash_profile
exec $SHELL -l


次にrbenvをインストール

anyenv install rbenv
exec $SHELL -l


インストールできたか確認(バージョンはsystemでOK)

anyenv version


現在のrubyのバージョンを確認

ruby -v


インストールできるrubyのバージョンを確認

rbenv install -l


特定のバージョン(2.3.1)をインストール

rbenv install 2.3.1


特定のバージョン(2.3.1)を設定

rbenv global 2.3.1


現在のrubyのバージョンを確認

ruby -v


基本的にこれで完了だけどたまに切り替わらないらしい(切り替わら無かった)

以下のコマンド叩いてからバージョンを確認すればOKでした

source ~/.bash_profile

posted by ねこまんま at 15:53 | Comment(0) | TrackBack(0) | サーバー | このブログの読者になる | 更新情報をチェックする

2014年02月26日

ファイルの更新日時を取得する

File::stat()でファイルオブジェクトを取り出しmtimeでファイルの更新日時を取得。日付を文字列に変換するにはto_sを利用する

file = File::stat("../hoge/hoge.txt")
file.mtime.to_s
posted by ねこまんま at 03:08 | Comment(0) | TrackBack(0) | メソッド | このブログの読者になる | 更新情報をチェックする

rubyでURLエンコード

rubyでURLエンコードする方法。標準ライブラリのcgiを利用、escapeメソッドでURLエンコードできる

require 'cgi'
CGI.escape('ほげほげ')
posted by ねこまんま at 03:01 | Comment(0) | TrackBack(0) | メソッド | このブログの読者になる | 更新情報をチェックする

2014年01月07日

Homebrew と rbenvをインストール

Xcodeがインストールされている前提で以下のコマンドをターミナルで入力します。
(Xcode 5.0.2だとダウンロード画面からコマンドラインツールがインストールできないので困ったけど、Homebrew のインストール中にコマンドラインツールのインストール画面が表示されました。)

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"


インストールが終了したら以下のコマンドでバージョンを確認。

brew -v


以下のようにインストールされたバージョンが表示されます。

Homebrew 0.9.5


次にRubyのバージョン管理ソフトのrbenvをインストール。

brew install readline ruby-build rbenv


.bash_profile にrbenvの設定を追加して

echo 'eval "$(rbenv init -)"' >> ~/.bash_profile 


設定をターミナルに反映させます。

source ~/.bash_profile


これで準備はOK

以下のコマンドでインストール可能なRubyのバージョンが表示されます。

rbenv install -l


以下のように表示されました。目的の2.0.0-p353もあるのでOK。

1.8.6-p383
1.8.6-p420
1.8.7-p249
1.8.7-p302
1.8.7-p334
1.8.7-p352
1.8.7-p357
1.8.7-p358
1.8.7-p370
1.8.7-p371
1.8.7-p374
1.8.7-p375
1.9.1-p378
1.9.1-p430
1.9.2-p0
1.9.2-p180
1.9.2-p290
1.9.2-p318
1.9.2-p320
1.9.2-p326
1.9.3-dev
1.9.3-p0
1.9.3-p125
1.9.3-p194
1.9.3-p286
1.9.3-p327
1.9.3-p362
1.9.3-p374
1.9.3-p385
1.9.3-p392
1.9.3-p429
1.9.3-p448
1.9.3-p484
1.9.3-preview1
1.9.3-rc1
2.0.0-dev
2.0.0-p0
2.0.0-p195
2.0.0-p247
2.0.0-p353
2.0.0-preview1
2.0.0-preview2
2.0.0-rc1
2.0.0-rc2
2.1.0
2.1.0-dev
2.1.0-preview1
2.1.0-preview2
2.1.0-rc1
2.2.0-dev
jruby-1.5.6
jruby-1.6.3
jruby-1.6.4
jruby-1.6.5
jruby-1.6.5.1
jruby-1.6.6
jruby-1.6.7
jruby-1.6.7.2
jruby-1.6.8
jruby-1.7.0
jruby-1.7.0-preview1
jruby-1.7.0-preview2
jruby-1.7.0-rc1
jruby-1.7.0-rc2
jruby-1.7.1
jruby-1.7.2
jruby-1.7.3
jruby-1.7.4
jruby-1.7.5
jruby-1.7.6
jruby-1.7.7
jruby-1.7.8
jruby-1.7.9
maglev-1.0.0
maglev-1.1.0-dev
maglev-2.0.0-dev
mruby-dev
rbx-1.2.4
rbx-2.0.0
rbx-2.0.0-dev
rbx-2.0.0-rc1
rbx-2.1.0
rbx-2.1.1
rbx-2.2.0
rbx-2.2.1
ree-1.8.6-2009.06
ree-1.8.7-2009.09
ree-1.8.7-2009.10
ree-1.8.7-2010.01
ree-1.8.7-2010.02
ree-1.8.7-2011.03
ree-1.8.7-2011.12
ree-1.8.7-2012.01
ree-1.8.7-2012.02
topaz-dev


以下のコマンドでruby 2.0.0-p353をインストール。

rbenv install 2.0.0-p353


インストールしたruby 2.0.0-p353にrubyを切り替えます。

rbenv global 2.0.0-p353 


最後はRubyのバージョンを確認します。

ruby -v
タグ:HOMEBREW rbenv
posted by ねこまんま at 21:08 | Comment(0) | TrackBack(0) | サーバー | このブログの読者になる | 更新情報をチェックする

2013年07月30日

rubyのeachで通し番号を取得

eachではなくeach_with_indexを使うらしい

@hoge.each_with_index do |fuga, i|
print(i)
posted by ねこまんま at 17:42 | Comment(0) | TrackBack(0) | メソッド | このブログの読者になる | 更新情報をチェックする

2013年07月26日

Ruby on RailsでJSONを出力

デバッグなどでオブジェクトを1次的にJSONに変換して出力するには以下のコードを書く

personal = {'name' => 'Yamada', 'old' => 28}
render :json => @category
タグ:JSON
posted by ねこまんま at 14:02 | Comment(0) | TrackBack(0) | Ruby on Rails | このブログの読者になる | 更新情報をチェックする

rubyの三項演算子

hoge = fuga>0 ? "piyo" : "bar"


fugaが0より大きい場合は"piyo"が小さい場合はbarがhogeにはいります。
タグ:三項演算子
posted by ねこまんま at 14:01 | Comment(0) | TrackBack(0) | 文法 | このブログの読者になる | 更新情報をチェックする

Ruby on Railsでコンソールモード

以下のコマンドでコンソールモードになり、直接Rubyのコマンドを実行できます。

rails c


コンソールモードの終了はControl + D
posted by ねこまんま at 14:00 | Comment(0) | TrackBack(0) | Ruby on Rails | このブログの読者になる | 更新情報をチェックする

Ruby on RailsでDBを操作する

以下のコマンドでDBコンソールになるので、直接DBを操作・参照できるようになります。

rails dbconsole


デフォルトのsqliteなら.tablesでテーブルの一覧を表示、.helpでヘルプを表示、.quitでDBコンソールの終了を行うことができます

sqlite > .tables
sqlite > .help
sqlite > .quit
posted by ねこまんま at 13:59 | Comment(0) | TrackBack(0) | Ruby on Rails | このブログの読者になる | 更新情報をチェックする

2013年07月19日

Ruby on Railsのdb:seedを使ってデータの流し込みを行う

db/seed.rbの内容を以下のように変更

# coding: utf-8
Tweet.create(:message => "hoge");


その後、コマンドラインを以下のコマンドを入れるとデータが投入される

rake db:seed


複数のデータを投入したい場合は以下のようにループを使って挿入

# coding: utf-8
5.times do |no|
Tweet.create(:message => "hoge #{no}")
end


tableの初期値のように一度しか投入したくない場合は以下のように設定しておく

# coding: utf-8
message = Tweet.first
unless message
5.times do |no|
Tweet.create(:message => "hoge #{no}")
end
end

posted by ねこまんま at 18:20 | Comment(0) | TrackBack(0) | Ruby on Rails | このブログの読者になる | 更新情報をチェックする

Ruby on RailsでDBを初期化

以下のコマンドでRuby on RailsのDBを初期化できる

rake db:migrate:reset
タグ:ruby on rails
posted by ねこまんま at 18:19 | Comment(0) | TrackBack(0) | Ruby on Rails | このブログの読者になる | 更新情報をチェックする

2013年07月12日

include?で指定した値が配列に入っているかどうかチェック

Rubyのinclude?は配列に引数で指定した値が入っている場合はtrueを入っていない場合はfalseを返す

@hoge = ["hoge","fuga"]
@message = @hoge.include?("hoge")
#true


@hoge = ["hoge","fuga"]
@message = @hoge.include?("bar")
#false
タグ:include?
posted by ねこまんま at 19:49 | Comment(0) | TrackBack(0) | メソッド | このブログの読者になる | 更新情報をチェックする

Ruby on Railsのpresent?で値が入っているかどうかチェック

Ruby on Railsのpresent?は変数や配列に値が入っている場合はtrueを入っていない場合はfalseを返す

@message = @hoge.present?
#false


@hoge = "fuga"
@message = @hoge.present?
#true
posted by ねこまんま at 19:48 | Comment(0) | TrackBack(0) | Ruby on Rails | このブログの読者になる | 更新情報をチェックする

Ruby on Rails で利用できるHamlの文法


コントローラーから受け取った変数などを出力

=@message


-を利用するとrubyのコードが書ける。

例えばif文

-if @messege
hoge
-else
fuga


変数の定義

-hoge = 'fuga'
=hoge


ラジオボタンの出力

= radio_button_tag :check, "1"
= radio_button_tag :check, "2"


以下のHTMLが出力される

<input id="check_1" name="check" type="radio" value="1" />
<input id="check_2" name="check" type="radio" value="2" />
posted by ねこまんま at 17:57 | Comment(0) | TrackBack(0) | Ruby on Rails | このブログの読者になる | 更新情報をチェックする

Ruby on Rails でHamlを使う

Gemfileに以下のgemを追加

group :assets do

gem 'haml-rails'

end


bundle installよりgemのインストールを行います

bundle install --path .bundle


viewのerbファイルをhamlファイルに変更します。

index.html.erb -> index.html.haml

後はviewの内容をhaml形式に返ればOK

%h1
=@message
posted by ねこまんま at 17:12 | Comment(0) | TrackBack(0) | Ruby on Rails | このブログの読者になる | 更新情報をチェックする

80ポートへのアクセスを3000ポートに転送するコマンド

sudo ipfw add 100 fwd 127.0.0.1,3000 tcp from any to me 80


Ruby on Railsで開発している際に便利
posted by ねこまんま at 15:22 | Comment(0) | TrackBack(0) | サーバー | このブログの読者になる | 更新情報をチェックする

Ruby on RailsでHello World

まずは、config/routes.rbに以下の一文を追加

get 'helloworlds' => 'helloworlds#index'


app/controllers/helloworlds_controller.rbを作成し以下の内容にする

class HelloworldsController < ApplicationController
def index
@message = 'Hello World'
end
end


views/helloworlds/index.html.erbを作成し以下の内容にする

<%= @message %>


http://localhost:3000/helloworldsにアクセスするとコントローラーで設定した'Hello World'が表示されます。

値を配列で渡したい場合はコントローラーとビューを以下のように変更することで対応できます。

class HelloworldsController < ApplicationController
def index
@messages = ["apple", "orange", "lemon"]
end
end


<% @messages.each do |message| %>
<%= message %>
<% end %>
タグ:ruby on rails
posted by ねこまんま at 13:49 | Comment(0) | TrackBack(0) | Ruby on Rails | このブログの読者になる | 更新情報をチェックする

2013年07月10日

Ruby on Rails で Compass

Ruby on RailsはデフォルトでSassは使えるがCompassが使えないので別途インストールが必要です。

Gemfileを開き'compass-rails'を追加

group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'compass-rails'
gem 'uglifier', '>= 1.0.3'
end


bundle installよりgemのインストールを行います

bundle install --path .bundle


初回はCompassの初期化を行います。

bundle exec compass init rails


これでScssファイルでCompassが使えるようになります。(@import "compass";は忘れずに)

config.rbは/config/compass.rbとして生成されています。
posted by ねこまんま at 03:30 | Comment(0) | TrackBack(0) | Ruby on Rails | このブログの読者になる | 更新情報をチェックする

2013年05月24日

bundle install でインストールしたnokogiriが動作しない

bundle install でインストールしたnokogiriが次のようなエラーどうも動作しない。

WARNING: Nokogiri was built against LibXML version 2.9.1, but has dynamically loaded 2.7.8


どうもMountain lionのLibXMLがサーバーのものとちがうのが原因らしい。一度bundleの内容を削除して

rm -rf ./vendor/bundle/*


bundle configを変更

bundle config build.nokogiri --with-xml2-dir=/usr/local/include/libxml2 --with-xslt-dir=/usr/local/include/libxslt --with-iconv-dir=/usr/local/Cellar/libxslt/1.1.26


再度bundle installでインストールすればok

bundle install --path=vendor/bundle
posted by ねこまんま at 10:53 | Comment(0) | TrackBack(0) | サーバー | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。