サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
円安とは
qiita.com/hanachin_
まとめ STIやenumに入りうる値をテーブルで持ち、外部キー制約を追加しましょう。 サンプルリポジトリ やり方 idの型とSTIのカラムやenumのカラムの型を一致させる。 外部キー制約をはる。 class CreatePosts < ActiveRecord::Migration[6.0] def change create_table :posts do |t| t.string :type t.integer :state t.string :title t.text :body t.timestamps end create_table :post_states do |t| t.string :name t.timestamps end add_foreign_key :posts, :post_states, column: :state create_table :post
新しくユーザーを作るサービスがある。これはuser_repositoryに依存している。コンストラクタ(#initialize)を@Injectでアノテーションする。 class NewUserService @Inject def initialize(user_repository) @user_repository = user_repository end def call(*params) @user_repository.new(*params) end end
unless defined?(SCRIPT_LINES__) SCRIPT_LINES__ = {} end ast_happier = TracePoint.new(:call) do |tp| SCRIPT_LINES__['(irb)'] = tp.binding.local_variable_get(:statements).lines end ast_happier.enable(target: IRB::WorkSpace.instance_method(:evaluate)) % irb irb(main):001:0> pp RubyVM::AbstractSyntaxTree.of(-> { puts :hi }) (SCOPE@1:35-1:48 tbl: [] args: (ARGS@1:35-1:35 pre_num: 0 pre_init: nil opt: n
2019/11/12 Revertされたので使えなくなりました 👋 https://github.com/ruby/ruby/commit/fb6a489af2765a3b56e301adf0019af6bbad6156 https://bugs.ruby-lang.org/issues/16275 以下、deprecated methodメソッドを短く書けるメソッド参照演算子の紹介です。 https://bugs.ruby-lang.org/issues/12125 https://github.com/ruby/ruby/commit/67c574736912003c377218153f9d3b9c0c96a17b methodメソッドとは メソッドをMethodオブジェクトとして取り出せるべんりメソッド https://docs.ruby-lang.org/ja/latest/me
require "import_as/core_ext" import { LordVoldemort as YouKnowWho }.from File.expand_path("./lord_voldemort.rb", __dir__) puts YouKnowWho.new.name # Voldemort puts LordVoldemort.new.name # Traceback (most recent call last): # main.rb:8:in `<main>': uninitialized constant LordVoldemort (NameError) べんりですね。 実装方法 importで渡されたブロックを取っておきます。ブロックを使うとメソッド呼び出しや存在しない定数への参照の評価を遅延できます。なので定義していないメソッド呼び出し(LordVol
追記: Ruby 2.7からはこのgemは必要ないです Ruby 2.7でNumbered parametersが追加されました。最高! http://bugs.ruby-lang.org/issues/4475 % ruby -ve 'p [1,2,3].map { @1 * 2 }' ruby 2.7.0dev (2019-03-18 trunk 67289) [x86_64-darwin17] [2, 4, 6]
RubyVM::AST [Experimental] Ruby 2.6では RubyVM::AST モジュールが導入されました。 このモジュールには、文字列をパースしてAST(抽象構文木)のNodeを返すparseメソッド、ファイルをパースするparse_fileメソッドが実装されています。 RubyVM::AST::Node も導入されました。このクラスのインスタンスから位置情報や子ノードを取得することができます。この機能はexperimentalであり、互換性は保証されていません。 https://www.ruby-lang.org/ja/news/2018/05/31/ruby-2-6-0-preview2-released/ API = RubyVM::AST (from ruby core) --------------------------------------------
Railsあるある 何気ないモデルの変更がアプリケーション全体を傷つけた TL;DR 最近の趣味アプリではコントローラーごとにモデル生やしてトップレベルのモデル使わない設計で書いていて、コールバックやデフォルトスコープ書き散らかしても影響範囲がコントローラー内だけで済むので便利だしFormオブジェクト書いてグルーしまくる必要もなく快適 — Miyagi (@hanachin_) 2018年1月30日 アプリ全体で1モデルだとグローバル変数と一緒、モデル全体に影響でる機能がアプリ全体に影響でてつらい。機能ごとにスキップしたり使い分けはできるけどモデルごと全部分けたほうが楽、コントローラーごとに分けると責務が明確になりやすい。みたいな感じです! 詳しい記事はやる気でたら書く... — Miyagi (@hanachin_) 2018年2月9日 自分自身ネームスペースどう切るかとかは興味なくてd
記事中のURLや内容、特にRailsやRubyのバージョンについて古くなっていることに気づいた方はぜひ編集リクエストください。 この記事はOkinawa.rbのAdventCalendar 5日目の記事です。 YassLabの業務時間中にQiita:Teamに書き溜めたものを編集して公開します。 4日目は @siman さんの「今年作った gem の紹介 (2017)」でした。 明日は @fullkawa さんのFinOpsのはなしです。 背景 人数が増えたり参加プロジェクトが増えるにつれ以下のような変化がおきました。 同じソフトウェアのさまざまなバージョンを扱うようになった コードレビューをする人・される人が増えた 同じソフトウェアでもバージョンによってAPIや使い方が異なる場合があります。 また、人によっては参考にする情報源がバラバラになってしまい、ソフトウェアの開発者が提供しているド
Okinawa.rb Advent Calendar 2017 1日目です。 https://qiita.com/advent-calendar/2017/okinawarb 沖縄県の各市町村の国民健康保険料の金額をRubyで計算します。 国民健康保険税 日本は国民皆保険制度なので国民全員がいずれかの公的医療保険制度に加入しています。1 市町村国保とは、他の医療保険に加入していない住民を被保険者とする国民皆保険制度の基礎です。2 国民健康保険料は国民健康保険税という税金として納める事が多いです。詳しくはWikipediaの国民健康保険税の記事3や、freeeさんの国民健康保険料の計算方法をわかりやすく解説|知っておきたい税の基本4を読んで下さい。 沖縄県の国民健康保険料 市町村が運営しているので自治体によって金額が違います。赤字なので保険料が高いです 国保、沖縄県内10市町村で保険料上昇予
#!/bin/sh echo protocol=https echo host=github.com echo username=$GITHUB_USERNAME echo password=$GITHUB_TOKEN Dockerfileに以下のような内容を追記し、gitでcloneする際https経由でcloneするようにし、httpsの認証に独自の認証情報キャッシュを使うよう設定する。 FROM ruby WORKDIR /app COPY ./git-credential-github-token /usr/local/bin RUN git config --global url."https://github.com/YOUR_ORG_NAME/".insteadOf ssh://git@github.com/YOUR_ORG_NAME/ \ && git config --g
top_level = self using Module.new { refine(top_level.singleton_class) do def hi puts :hi end end } desc 'はい' task :hi do hi end
=block--($modifier) $current: & $block: str_slice("#{&}", 0, str-index("#{&}", "__") - 1) @at-root #{$block} &--#{$modifier} #{$current} @content
<div> <span class="fa fa-spin">く <span class="fa fa-spin">る <span class="fa fa-spin">く <span class="fa fa-spin">る <span class="fa fa-spin">く <span class="fa fa-spin">る <span class="fa fa-spin">く <span class="fa fa-spin">る <span class="fa fa-spin">く <span class="fa fa-spin">る <span class="fa fa-spin">く <span class="fa fa-spin">る <span class="fa fa-spin">く <span class="fa fa-spin">る <span class="fa
Backbone.jsとCoffeeScriptをお使いのみなさん、こんにちは。 イベントのcallbackに登録するメソッドをfat arrowで定義してませんか? Backbone.Events#onの3番目の引数contextを使いましょう。 メソッドをfat arrowで定義するとmixin出来ない問題についてもちょこっと触れます。 例 イベント通知のために、グローバルなPubSubが定義されています。 NyaModel#initializeで、NyaModel#sayMessageメソッドをPubSubに登録しています。 PubSubから(」・ω・)」うー!イベントを受け取ると、NyaModel#sayMessageが呼ばれます。 NyaModel#sayMessageは、NyaModelのmessage属性をコンソールに出力します。 今までの僕のfat arrowなやりかた P
Free Dyno以外を使いましょう。 Dyno Types | Heroku Dev Center Only free dynos will sleep. No other dynos sleep. Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
このページを最初にブックマークしてみませんか?
『qiita.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く