說明
原本是寫 Python 比較多,因為工作上需要用到 Rails,所以這邊紀錄一些常用的指令。
TIPS
Run specific version of bundler
1
2
3$ gem install bundler -v 1.17.3
$ bundle _1.17.3_ install
# 使用特定版本的 bundler 安裝 gembundler-audit
1
2
3$ bundle-audit update
$ bundle-audit check
# 檢查 gem 是否有安全漏洞有時候呢,因為版本問題實在無法解決,可以使用
bundle-audit check --ignore CVE-2023-XXXX忽略特定的漏洞。或是在專案內新增.bundler-audit.yml檔案,內容如下:1
2
3
4
ignore:
- CVE-YYYY-XXXX
- ...Update/Add gem
1
2
3
4$ bundle update <gem_name>
# 更新 Gemfile.lock 內的 gem
$ bundle add <gem_name>
# 新增 gem 到 GemfileAbout gem version
1
2~> 1.0.0 # 1.0.0 <= x < 2.0.0
~> 1.0 # 1.0.0 <= x < 1.1.0Print out contents of object
1
2
3
4
5
6puts user.inspect
#=> #<User:0x423270c @name="John Due", @age=45>
puts user.to_yaml
#=> --- !ruby/object:User
#=> age: 45
#=> name: John DueTime format 與 Timezone 轉換
1
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
29Time.zone.now
# => Tue, 13 Apr 2021 01:32:04 UTC +00:00
Time.now
# => 2021-04-13 01:32:04 +0000
Time.zone.now.to_s(:db)
# => "2021-04-13 01:32:04"
Time.zone.now.to_s(:short)
# => "13 Apr 01:32"
Time.zone.now.to_s(:long)
# => "13 April 2021 01:32"
Time.zone.now.to_s(:rfc822)
# => "Tue, 13 Apr 2021 01:32:04 +0000"
Time.zone.now.to_s(:iso8601)
# => "2021-04-13T01:32:04Z"
Time.zone.now.to_s(:number)
# => "20210413013204"
# 轉換成特定時區
t = created_at = 2023-07-16 03:00:00 UTC
t.zone # 查看時區 "UTC"
t.in_time_zone("Taipei") # 轉換成台北時區與 t.zone = "Taipei" 相同
=> Sat, 16 Jul 2023 11:00:00 CST +08:00
Time.zone.local_to_utc(t) # 轉換成 UTC 時區
=> 2023-07-16 03:00:00 UTC
Time.use_zone("Taipei") { Time.zone.local_to_utc(t) }.localtime # 轉換成台北時區
=> 2023-07-16 11:00:00 +0800
t.asctime.in_time_zone("Taipei") # 轉換成台北時區字串
=> "Sat Jul 16 11:00:00 2023"
Time.parse(t.asctime.in_time_zone("Taipei")) # 轉換成台北時區時間
=> 2023-07-16 11:00:00 +0800rbenv Ruby 管理工具
1
2
3
4
5
6
7
8
9$ brew install rbenv # 安裝 rbenv on macOS
$ rbenv versions # 列出所有已安裝的 Ruby 版本
$ rbenv install -l # 列出所有可安裝的 Ruby 版本
$ rbenv install 2.7.3 # 安裝 Ruby 2.7.3
$ rbenv global 2.7.3 # 設定全域 Ruby 版本為 2.7.3
$ rbenv local 2.7.3 # 設定專案 Ruby 版本為 2.7.3
$ rbenv shell 2.7.3 # 設定 shell Ruby 版本為 2.7.3
$ rbenv rehash # 重新建立 Ruby 版本的 shims
$ rbenv uninstall 2.7.3 # 移除 Ruby 2.7.3在 console 裡測試 ActionMailer
1
2
3
4
5
6
7mailer = ActionMailer::Base.new
# check settings:
mailer.delivery_method
mailer.smtp_settings
# send mail:
mailer.mail(
from: 'sneder@example.com', to: 'user@example.com', subject: 'test', body: 'test').deliver