-->
./
<!-- フラ&#65533;ュが見れな&#65533;のためにここに何か書&#65533; --> フラ&#65533;ュがインス&#65533;&#65533;ルされて&#65533;&#65533;たいで&#65533;&#65533;&#65533;

[Ruby]ディレクトリの存在確認と新規作成

プログラミング研究室: [Ruby]ディレクトリの存在確認
irbで実行
irb(main):009:0> FileTest::directory?("thumbnail_Dir")
=> false
irb(main):010:0> Dir.mkdir("thumbnail_Dir") unless FileTest::directory?("thumbnail_Dir")
=> 0
irb(main):011:0> FileTest::directory?("thumbnail_Dir")
=> true
irb(main):012:0> File::ftype("thumbnail_Dir")
=> "directory"

Powered by ScribeFire.

posted by hirono at 02:44| Comment(0) | TrackBack(0) | Ruby

2010年03月20日

Spreadsheet(RubyでExcelのファイル操作)

pure Ruby の Excelファイル操作ライブラリ - Spreadsheet: ひ日記
SpreadsheetはRubyからExecelファイルを操作するライブラリです。 MS-Officeには依存していないので、MS-Officeのインストールされていない環境(要はLinux環境)でも動作します。

 参考にさせていただきました。

 さくらインターネットのサーバで試してみたのですが、うまくいったみたいです。Excelはもちろんインストールされておらず、GUIの環境もないはずですが、大丈夫でした。

spreadsheet_OpenOffice_20100320
spreadsheet_OpenOffice_20100320 posted by (C)hirono-hideki

spreadsheet_firefox_20100320
spreadsheet_firefox_20100320 posted by (C)hirono-hideki


 Railsでやってみました。新規に作ったAPPなので、プラグインも入れておらず、特別な設定もしていません。手を入れたのは次の二つのファイルだけです。
 本来このような使い方をするつもりはないのですが、少し手を加えれば、Excelのファイルから、MySQLのデータベースに入れることが簡単にできそうです。また、問題の起きそうな記号を使って試してみました。十分なテストではありませんが、とりあえずは大丈夫そうです。

 book = Spreadsheet.open('test.xls', 'rb')で、読み込み専用になるそうです。オプションをつけないと'rb+'になるらしく、これは読み書き両方だと思います。

***********************************************                                                   
 [FILENAME] app/controllers/excel_controller.rb                                                   
***********************************************                                                   

class ExcelController < ApplicationController
  def index                                 
$KCODE='u'                                  
require 'spreadsheet'                       

book = Spreadsheet.open('test.xls')
sheet=book.worksheet(0)           

@list=[]
0.upto(sheet.row_count - 1) do |i|
  @list[i]=sheet[i,0]            
end                              

  end

end


***********************************************
 [FILENAME] app/views/excel/index.html.erb
***********************************************

<h1>Excel#index</h1>
  <% @list.each do |f| %>
    <p style="margin 30px; background-color: pink; color: green; padding:20px; width: 600px;">
    <%=sanitize f.gsub(/\r\n|\r|\n/, "<br />\n").gsub(/[ |\t]/, "&nbsp;") %>
    </p>
  <% end %>

<p>Find me in app/views/excel/index.html.erb</p>


Powered by ScribeFire.



posted by hirono at 04:55| Comment(0) | TrackBack(0) | Ruby

2010年03月17日

[ruby] subメソッドの後方参照

参考:(DTPtechNote:1086) [ruby] subメソッドで後方参照

irb(main):001:0> e="http://www.google.ne.jp"
=> "http://www.google.ne.jp"
irb(main):002:0> e.sub(/http[s]?:\/\/([^\s]*)/, '\1')
=> "www.google.ne.jp"
irb(main):003:0> e="https://www.google.ne.jp"
=> "https://www.google.ne.jp"
irb(main):004:0> e.sub(/http[s]?:\/\/([^\s]*)/, '\1')
=> "www.google.ne.jp"
irb(main):005:0> e.sub(/http[s]?:\/\/([^\s]*)/) {$1}
=> "www.google.ne.jp"
irb(main):006:0> e.sub(/http[s]?:\/\/([^\s]*)/) {"URL=" + $1}
=> "URL=www.google.ne.jp"

Powered by ScribeFire.

posted by hirono at 20:12| Comment(0) | TrackBack(0) | Ruby

2010年02月18日

RESTFul な I/Fにする

大場寧子のホームページ - コントローラをRESTfulにする
コントローラのI/FをRESTful にするには、roots.rb で map.resource または map.resources を使います。((-ここでいうリソースは、扱うモデルインスタンスのことであると考えると理解しやすいと思います。-))次の例では、ProjectsController の I/F を map.resources を使って RESTful にしています。


Powered by ScribeFire.

posted by hirono at 05:43| Comment(0) | TrackBack(0) | Ruby

2010年01月04日

[Rails]fcgiのインストール

000studio
 自分の環境では、 gem18 install fcgi -- --with-fcgi-include=$HOME/local/include --with-fcgi-lib=$HOME/local/lib でいけたみたいです。  上記サイトの他、いろいろ参考にしました。Rails2.2.2ではうまく動いたのですが、期待したRails2.3.5では「Rails application failed to start properly"」のエラーが出ています。

Powered by ScribeFire.

posted by hirono at 19:19| Comment(0) | TrackBack(0) | Ruby

2009年12月25日

[Ruby]日付と時刻のフォーマット

逆引きRuby - 日付と時刻


irb(main):001:0> today = Time.now
=> Fri Dec 25 03:36:58 +0900 2009
irb(main):002:0> wdays = ["日", "月", "火", "水", "木", "金", "土"]
=> ["\346\227\245", "\346\234\210", "\347\201\253", "\346\260\264", "\346\234\250", "\351\207\221", "\345\234\237"]
irb(main):003:0> print today.strftime("%Y-%m-%d %H:%M:%S"), " ", wdays[today.wday]
2009-12-25 03:36:58 金=> nil


Powered by ScribeFire.

posted by hirono at 03:41| Comment(0) | TrackBack(0) | Ruby