Sassの関数を書いてみる

タイトル通りの記事になるのですが、Sass(今回はSCSS)で使う関数を書いてみようと思います。
関数と言っても@functionで書くものではなく、Ruby側で関数を定義します。

経緯

経緯は仕事で各システムが持つ固有値によって、特定のスタイルのみ変更したいというものでした。
通常ならば、各システムごとにスタイルを定義していくと思いますが、Rails Engineを使っていることや
各システムがほぼ共通のビューを使うという事情により仕方なくRubyで関数を定義することになりました。

実装

特に難しいことはなくsassのコードを追えば、どこにメソッドを追加すればSassで関数として使えるのかが分かります。
今回は、環境ごとのベースカラーを返す関数を作成します。



これをconfig/initializers/sass.rbとして保存します。
たった、これだけです。
これ以外に活用方法が未だに見つかりませんが、複雑な計算が必要な場合などに関数を定義して、Sassには計算式を書かないといった方法があるのかと思います。

おまけ

簡易evalが出来るメソッドです。
出力は、数値・真偽値・文字列にしか対応してないです。

コメント

このブログの人気の投稿

ElasticIPを複数利用する時の注意

タスクの実行結果をwhenで指定するならcheck_modeつける

EC2にNameをつける