[Mac] nkf を Homebrew でインストール

Mac に Homebrew で nkf をインストールしました。

% brew install nkf                     
==> Downloading http://dl.sourceforge.jp/nkf/53171/nkf-2.1.2.tar.gz
######################################################################## 100.0%
==> Patching
patching file Makefile
==> make
==> make install
/usr/local/Cellar/nkf/2.1.2: 4 files, 252K, built in 2 seconds

楽ちん

[Ruby on Rails] CSVインポート/エクスポート

Ruby on Rails で、CSVのインポート/エクスポート機能を実装する上での参考情報をご紹介します。

Ruby 1.9 は FasterCSV が標準の CSV クラスとして採用されているので、require “csv” すればすぐに使える。

FasterCSV Documentation

Class: CSV (Ruby 1.9.3)

CSVインポート/エクスポート実装サンプル

RailsCast

Ruby on Rails Screencasts – RailsCasts

CSVインポート

#396 Importing CSV and Excel – RailsCasts

roo というスプレッドシート(Open Office, Excel, Google Spreadsheetsなど)を操作する gem を使っている。

Empact/roo · GitHub

roo:スプレッドシートを操るRubyライブラリ « TORQUES LABS

CSVエクスポート

#362 Exporting CSV and Excel – RailsCasts

Ruby1.9とRailsでCSV出力(SJIS) #Rails #Ruby – Qiita

[rails] csvつくって出力するのよメモ | おれせか


CSVの文字コード変換

CSVファイルはExcelから作成されることが多くて、文字コードをShift_JISからUTF-8へ変換して扱う必要があります。

その辺のノウハウがまとめられています。

CSV を文字コード変換しつつロード #Ruby – Qiita

rails c で CSV ファイルをアップロードする

普通はテストで使う fixture_file_upload メソッドで CSV ファイルをアップロードしてから、モデルに追加したクラスメソッド import を呼び出してやります。

> include ActionDispatch::TestProcess
> file = fixture_file_upload "tmp/test.csv", "text/comma-separated-values"
 => #<Rack::Test::UploadedFile:0x007fa36b03f960 @content_type="text/comma-separated-values", @original_filename="test.csv", @tempfile=#<File:/var/folders/46/bg9j7wkn5qg9n895016mlvk00000gn/T/test.csv20130124-12060-h3mn08>> 
> Product.import(file)
   (0.2ms)  BEGIN
["a", "b", "c", "d"]
["1", "2", "3", "4"]
   (0.1ms)  COMMIT
 => <#CSV io_type:File io_path:"/var/folders/46/bg9j7wkn5qg9n895016mlvk00000gn/T/test.csv20130124-12060-h3mn08" encoding:UTF-8 lineno:2 col_sep:"," row_sep:"\r" quote_char:"\"">

参考情報

[Chrome] SPDYの有効・無効のチェック拡張機能「SPDY indicator」

SPDYの有効・無効のチェックするChrome拡張機能「SPDY indicator」を入れてみました。

Chrome ウェブストア – SPDY indicator はてなブックマーク - Chrome ウェブストア - SPDY indicator

ソースは、naoyaさん

Webはインターネットになった – naoyaのはてなダイアリー はてなブックマーク - Webはインターネットになった - naoyaのはてなダイアリー

[Ruby on Rails] before_filter に条件を設定する

Ruby on Rails で before_filter に条件を設定するための参考サイトをメモ。

Rails3 事始め: [Rails3] before_filter に条件を設定する はてなブックマーク - Rails3 事始め: [Rails3] before_filter に条件を設定する

rails before_filterとかに条件 | このコードわからん はてなブックマーク - rails before_filterとかに条件 | このコードわからん

[RSpec] privateメソッドをテストする方法

Ruby on Rails + RSpec で privateメソッドをテストする方法をメモ。

下記のように、Userモデルに private_method というprivateメソッドを作成した場合、

■ app/models/user.rb

class User < ActiveRecord::Base
  def public_method
    "public"
  end
 
  private
    def private_method
      "private"
    end
end

Rspec でのモデルのテストは下記のように、user.send(:private_method) で呼び出して行う。

■ spec/models/user_spec.rb

require 'spec_helper'
 
describe User do
  it 'public' do
    user = User.new
    user.public_method.should == "public"
  end
 
  it 'private' do
    user = User.new
    user.send(:private_method).should == "private"
  end
end

【参考】

UKSTUDIO – RSpecでprivateメソッドをテストする はてなブックマーク - UKSTUDIO - RSpecでprivateメソッドをテストする

Windows 7 の動作に必要な最低スペック

Windows 7 の動作に必要な最低スペックがググっても見つかりにくかったのでメモ。

Windows 7 システム要件

お使いの PC で Windows 7 を実行する場合は、以下のものが必要です。

1 ギガヘルツ (GHz) 以上の 32 ビット (x86) プロセッサまたは 64 ビット (x64) プロセッサ

1 ギガバイト (GB) RAM (32 ビット) または 2 GB の RAM (64 ビット)

16 GB (32 ビット) または 20 GB (64 ビット) の空き容量のあるディスク領域

Windows Display Driver Model (WDDM) 1.0 以上のドライバーを搭載した DirectX® 9 グラフィックプロセッサ

Windows 7 システム要件 – Microsoft Windows はてなブックマーク - Windows 7 システム要件 - Microsoft Windows

[Ruby on Rails] with_options を使ってバリデーションをグルーピング

Ruby on Rails で、ある条件の時だけバリデーションを掛けたいときは with_options を使えばグルーピングできて素敵です。

Ruby on Rails Guides: Active Record Validations and Callbacks はてなブックマーク - Ruby on Rails Guides: Active Record Validations and Callbacks

paramがなければModelのValidationをskipすれば良いじゃない #Ruby #Rails – Qiita はてなブックマーク - paramがなければModelのValidationをskipすれば良いじゃない #Ruby #Rails - Qiita

5.4 Grouping conditional validations
Sometimes it is useful to have multiple validations use one condition, it can be easily achieved using with_options.

class User < ActiveRecord::Base
  with_options :if => :is_admin? do |admin|
    admin.validates :password, :length => { :minimum => 10 }
    admin.validates :email, :presence => true
  end
end

All validations inside of with_options block will have automatically passed the condition :if => :is_admin?

[Ruby on Rails] form_for、form helper まとめ

Ruby on Rails の form_for や form helper で調べることが多い項目を自分用にまとめ。

■ f.select

id の指定の仕方でハマったときに読む。

そろそろRailsのselectメソッドについて一言いっとくか – (゚∀゚)o彡 sasata299’s blog はてなブックマーク - そろそろRailsのselectメソッドについて一言いっとくか - (゚∀゚)o彡 sasata299's blog

formのselectタグにidを設定する – 中国でRuby on Rails はてなブックマーク - formのselectタグにidを設定する - 中国でRuby on Rails

select(object, method, choices, options = {}, html_options = {})

色々と随時更新していく予定です。

[Ruby on Rails] ArgumentError (invalid byte sequence in US-ASCII)

Ruby on Rails であるあるエラー、

ArgumentError (invalid byte sequence in US-ASCII)

の対処法は、マルチバイト文字(日本語とか)を使っているファイルの先頭に、エンコーディングを指定する。

# encoding: utf-8

ちょっとすると、忘れてしまうのですよね。

[MySQL] 予約語でハマる – ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘xxx’ at line 1

MySQL でどう見ても大丈夫そうな SQL を実行したら文法エラーが発生しました。

MySQL

ERROR 1064 (42000): You have an error in your SQL syntax;

mysql> SELECT * FROM addresses ORDER BY primary;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'primary' at line 1

続きを読む