スマートフォンサイトの表示にjpmobileを使ってます。
これはこのようにApplicationcontrollerとかに書くと
1
2
3
| class ApplicationController < ActionController::Base
include Jpmobile::ViewSelector
end
|
PCからのアクセスの場合にはindex.html.erbを表示し
スマートフォンからのアクセスの場合にはindex_smart_phone.html.erbを表示してくれるという機能を使っています。
今回先にPCサイトがあり、それのスマフォサイトを作るにあたってPCのファイルを上記命名規則に則ってコピーする必要があったのでスクリプト書きました。
convert_smartphone_name1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| #! /usr/bin/env ruby
require 'fileutils'
def print_green(str)
puts "\e[32m#{str}\e[0m"
end
def print_red(str)
puts "\e[31m#{str}\e[0m"
end
def print_yellow(str)
puts "\e[33m#{str}\e[0m"
end
if ARGV[0].nil?
print_red "対象ディレクトリへのパスを指定してください"
end
Dir.glob('*').each do |file|
next if FileTest::directory?(file)
dest = file.split(".").inject(String.new) do |str, chunk|
if chunk == "html"
str << "_smart_phone"
end
if str == ""
str << "#{chunk}"
else
str << ".#{chunk}"
end
end
print_yellow "convert #{file} to #{dest}"
FileUtils.cp(file, dest)
end
print_green "done."
|
これを実行可能なところにおいて、chmod +xで実行可能にしてもらって、
convert_smartphone_name [対象ディレクトリのパス]
とかってやれば対象ディレクトリ内のファイルが全部_smart_phone付きでコピーされるはずです。