Category Archives: ruby

「Ruby」Ubuntu14.04でホスト名を変更するサンプルコード

Rubyコード
#!/usr/bin/ruby
#coding=utf-8
require ‘open-uri’

url= “http ://raw.github usercontent.com/ vokins/simpleu/master/hosts”

begin
open(“/etc/hosts”,”w”) do |x|
x.write open(url).read
end
rescue Errno::EACCES
puts “root必要? ”
exec “sudo ruby ” + $0 + ARGV.join(‘ ‘)
end
puts “ホストの情報を変更した!”

sublimeのNode.jsプラグインとtext3環境を構築する

1.sublimeをダウンロード
URL:http://www.sublimetext.com/2

2.sublimeのnodejsプラグインをダウンロード
https://github.com/tanepiper/SublimeText-Nodejs

3.zipファイルを解凍し、フォルダーを”Nodejs”にリネームする

4.sublimeを開く、”preference” –> “Browse packages”, ディレクトリを開く

5.”Nodejs”フォルダを4のフォルダにコピーする

6.NodejsフォルダのNodejs.sublime-build”を変更
内容:
{
“cmd”: [“node”, “$file”],
“file_regex”: “^[ ]*File \”(…*?)\”, line ([0-9]*)”,
“selector”: “source.js”,
“shell”:true,
“encoding”: “cp1252”,
“windows”:
{
“cmd”: [“taskkill /F /IM node.exe & node”, “$file”]
},
“linux”:
{
“cmd”: [“killall node; node”, “$file”]
}
}

修正前:”encoding”: “cp1252″
修正後:”encoding”: “utf8”

7.“Nodejs.sublime-settings”または“preference” –> “package settings” –> “Nodejs”–>“setting-default”
下記を変更
{
// save before running commands
“save_first”: true,
// if present, use this command instead of plain “node”
// e.g. “/usr/bin/node” or “C:\bin\node.exe”
“node_command”: /usr/bin/nodejs,
// Same for NPM command
“npm_command”: /usr/bin/npm,
// as ‘NODE_PATH’ environment variable for node runtime
“node_path”: false,

“expert_mode”: false,

“ouput_to_new_tab”: false
}

Ubuntu 14.04でRuby、ROR環境を構築する手順

1.システムのインストールに必要なパッケージ
Xcodeのインストール
http://developer.apple.com/xcode/

Homebrewのインストール
(http://brew.sh) ruby -e “$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)”

2.RVMをインストール
$ curl -L https://get.rvm.io | bash -s stable
※RVM環境をロード
$ source ~/.rvm/scripts/rvm
※インストールが成功かどうか確認
$ rvm -v
rvm 1.22.17 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

3.RVMを利用してRuby環境をインストールする
$ rvm install 2.0.0
Ruby, Ruby Gems

4.Rubyバージョンを設定
$ rvm 2.0.0 –default

テスト
$ ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin13.0.0] $ gem -v

5.Rails環境をインストール
$ gem install rails

検証:
$ rails -v
Rails 3.2.13

Railsで active_admin deviseのデバッグログの手順

操作手順:

1.gem
gem ‘activeadmin’,github: ‘activeadmin’
gem ‘devise’

2.install
rails g active_admin:install

The generator adds these core files, among others:

app/admin/dashboard.rb
app/assets/javascripts/active_admin.js.coffee
app/assets/stylesheets/active_admin.css.scss
config/initializers/active_admin.rb

3.migrate
rake db:migrate
rails server

4.config initializers active_admin,devise
5.create another model
rails g devise User
rake db:migrate

ubuntu 12.04で ruby railsのインストール

1.システムの必要なパッケージをインストール
sudo apt-get install -y build-essential openssl curl libcurl3-dev libreadline6 libreadline6-dev git zlib1g zlib1g-dev libssl-dev libyaml-dev libxml2-dev libxslt-dev autoconf automake libtool imagemagick libmagickwand-dev libpcre3-dev libsqlite3-dev libmysql-ruby libmysqlclient-dev

2.RVMをインストール
curl -L https://get.rvm.io | bash -s stable

RVM環境をロード
source ~/.rvm/scripts/rvm rvm -v

3.RVMを利用してRuby環境をインストール
# for Mac
sed -i .bak ‘s!ftp.ruby-lang.org/pub/ruby!ruby.taobao.org/mirrors/ruby!’ $rvm_path/config/db
# for Linux
sed -i ‘s!ftp.ruby-lang.org/pub/ruby!ruby.taobao.org/mirrors/ruby!’ rvm_path/config/db
# readlineをインストール
rvm pkg install readline
# Ruby 2.0.0をインストール
rvm install 2.0.0 –with-readline-dir=$rvm_path/usr

4.Rubyバージョンを設定
$ rvm 2.0.0 –default

検証
ruby -v
gem source -r https://rubygems.org/ gem source -a http://ruby.taobao.org

5.Rails環境をインストール
gem install bundler rails

テスト
bundle -v
rails -v

スクリプトエラー
gem install execjs
sudo apt-get install nodejs

ubuntu14.04にsetuptoolsをインストール

python2.x:
wget https://bootstrap.pypa.io/ez_setup.py -O – | sudo python

python3.x
wget https://bootstrap.pypa.io/ez_setup.py -O – | sudo python3.4

参考サイト https://pypi.python.org/pypi/setuptools#unix-wget

Rubyで文字列左右対称を判断するサンプルプログラム

#奇数ビット列の文字列対称を判断 例 “aba”
def method str
p str == str.reverse ? “Yes” : “No”
end
#偶数ビット列の文字対称を判断 例”abba”
def method str
p (str == str.reverse and str.length%2 == 0) ? “Yes” : “No”
end

Rubyでメモリの文字列を圧縮、解凍する

rubyコード:
require ‘zlib’

deflated = Zlib::Deflate.deflate(“これはテストプログラム.”)
puts deflated
puts Zlib::Inflate.inflate(deflated)

rubyでTkListboxを使用するサンプル

rubyコード:
require ‘tk’
top = TkRoot.new {title “TKListboxサンプル”}

list1 = TkListbox.new(top)
list1.insert(1,” Python”)
list1.insert(2,” Perl”)
list1.insert(3,” C”)
list1.insert(4,” PHP”)
list1.insert(5,” JSP”)
list1.insert(6,” Ruby”)
list1.pack()
Tk.mainloop

rubyでgzipとtarを使ってファイルを圧縮するサンプル

rubyコード:
require ‘zlib’

file = ‘compressed.gz’
Zlib::GzipWriter.open(file) do |gzip|
gzip << “this is a test.”
gzip.close
end

open(file, ‘rb’) { |f| f.read(10) }

Zlib::GzipReader.open(file) { |gzip| puts gzip.read }

1 / 3123