Ruby HTTPClientでpostする

簡単なことなんだけどbodyを入れるのがうまくいかず詰まったのでメモ

require 'httpclient'
require 'json'

client ||= ::HTTPClient.new

# body を jsonにする必要がある
body = JSON.generate({ hoge: { moge: 1234 } })
# railsの場合は to_json で ok

header = {
  'Content-Type' => 'application/json'
}

client.post "https://example.com/api/hoge/moge", body: body, header: header

Rails consoleでrake taskを呼び出す

デバッグバッチ処理内でRake taskを呼び出したいときの対応

Rails.application.load_tasks
Rake::Task['my_task'].execute
# 引数を渡す場合
Rake::Task['my_task'].execute('arg_string')
Rake::Task['my_task'].execute(hoge: 'moge')

my_task には hoge:moge など rake hoge:moge と指定する名前が入ります。
他サンプルだと require 'rake' しているものもありますが rails c で入っている分には不要でした。

stackoverflow.com

WSL Docker Elasticsearchで max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

PowerShellで以下を実行して解決

❯ wsl --shutdown # because we don't really need to restart the computer to see the config is lost ...
⚡ beccari@RAYGUN  ~                                                                                         [00:28]
❯ wsl -d docker-desktop cat /proc/sys/vm/max_map_count # current value
65530
⚡ beccari@RAYGUN  ~                                                                                         [00:28]
❯ wsl -d docker-desktop sysctl -w vm.max_map_count=262144
vm.max_map_count = 262144
⚡ beccari@RAYGUN  ~                                                                                         [00:28]
❯ wsl -d docker-desktop cat /proc/sys/vm/max_map_count 
262144
⚡ beccari@RAYGUN  ~                                                                                         [00:28]
❯

github.com

WordPress開発環境をwp-envで簡単に作る

npmの @wordpress/env を使うとメチャクチャ簡単にDockerでWP環境が作れました。
基本的に公式ドキュメント通りに設定するだけです。 ja.wordpress.org

@wordpress/env をインストール

# グローバルに入れるか
npm -g i @wordpress/env

# ローカルプロジェクトに入れる
npm i @wordpress/env --save-dev

WP環境の立ち上げ

wp-env start

おしまい

なんですが個人的に必要な設定など

入れておくと便利な設定

.wp-env.json に設定を書きます

{
  // ローカルのテーマを同期
  "themes": [ "./wordpress/wp-content/themes/my_themes" ],
  "mappings": {
    // テーマ以外に同期させたいフォルダ、ファイルの設定
    // アップロードしたファイルも同期させる
    "wp-content/uploads": "./wordpress/wp-content/uploads",
    // DBのDumpデータをインポートしたいので同期
    "import.sql": "./import.sql"
  },
  // 使いたいプラグインを入れる
  "plugins": [
    "https://downloads.wordpress.org/plugin/advanced-custom-fields.5.9.5.zip",
    "https://downloads.wordpress.org/plugin/no-category-base-wpml.zip",
    "https://downloads.wordpress.org/plugin/wp-pagenavi.2.93.4.zip",
    "https://downloads.wordpress.org/plugin/contact-form-7.5.4.zip",
    "https://downloads.wordpress.org/plugin/flamingo.2.2.1.zip",
    "https://downloads.wordpress.org/plugin/favicon-rotator.zip",
    "https://downloads.wordpress.org/plugin/all-in-one-seo-pack.4.1.0.1.zip",
    "https://downloads.wordpress.org/plugin/custom-post-type-ui.1.9.0.zip",
    "https://downloads.wordpress.org/plugin/taxonomy-terms-order.1.5.7.5.zip",
    "https://downloads.wordpress.org/plugin/custom-post-type-permalinks.3.4.4.zip",
    "https://downloads.wordpress.org/plugin/really-simple-csv-importer.zip",
    "https://downloads.wordpress.org/plugin/rs-csv-importer-media-addon.1.1.0.zip",
    "https://downloads.wordpress.org/plugin/tinymce-advanced.5.6.0.zip"
  ]
}

DBのインポート

npx wp-env run cli wp db import import.sql