Ruby

warning: circular argument reference

【追記】 よいまとめはこっち ↓ ruby2.2.0ではメソッドの引数のデフォルト値に同じ名前の変数を使えない - Qiitaqiita.com v2.1.6 > v2.2.2 の移行より 分かったこと test.rb 1 class SomeClass 2 attr_reader :text 3 4 def initialize 5 @text = 'test rea…

Struct ruby

(゚∀゚) $ irb > class Article < Struct.new(:title, :body) > end #=> nil > article = Article.new #=> #<struct Article title=nil, body=nil> > article.title = 'example' #=> "example" > article.body = 'example body' #=> "example body" > p article #<struct Article title="example", body="example body"> 参考 R…</struct></struct>

delayed_job rails

Delayed Job Best Practiceswww.sitepoint.com

Gemfile の グループ化, 明確にしないと予期せぬエラーが起きる (書き留め)

Gemfile のグループ化は明確にしよう、という話 お題のGemfile source 'https://rubygems.org' gem 'rails', '~> 4.2' gem 'sqlite3' gem 'coffee-rails', '~> 4.0.0' gem 'haml' gem 'jbuilder', '~> 2.0' gem 'jquery-rails' gem 'faraday' gem 'rails_con…

親クラスメソッドを子クラスへ継承できるかどうか

Ruby 2.2.2 できる class Some class << self def some_func p 'func!' end end end class Emos < Some end Emos.some_func #=> 'func!'

autoload # Ruby

これは何か 怠惰なモジュール(クラス)参照メソッド autoload の前に require require の挙動 require した時点で即読込み #!/usr/bin/env ruby require 'pathname' #=> true require 'lib/foo' #=> true autoload autoload の挙動 定数を参照するまで読み込…

RbConfig # Ruby

これは何か Ruby インタプリタ作成時に設定された情報を格納したライブラリ 何のために使う(と考えられる)か gem で制約作りたいとき(おそらく) 例 2.1.2 :016 > require 'rbconfig' 2.1.2 :016 > RbConfig::MAKEFILE_CONFIG['prefix'] => "/home/matsu/.rvm…

Pathname # Ruby

v2.1.2 より これは何か パス名をオブジェクト指向らしく扱うクラス どのように使うか pwd children ~/Prog/check 21:12 $ ls -R .: bar foo.txt pathname.rb ./bar: bar.txt pathname.rb 1 #!/usr/bin/env ruby 2 3 require 'pathname' 4 pathname = Pathna…

FileUtils # Ruby

v2.1.2 より これは何か ファイル操作をする標準モジュール どのように使うか ファイルをrmする ~/Prog/check 20:45 $ ls bar.txt foo.txt fileutils.rb 1 #!/usr/bin/env ruby 2 3 require 'fileutils' 4 FileUtils.rm(['foo.txt', 'bar.txt']) ~/Prog/chec…

gem 作成中に binding.pry で undefined method `pry' for #<Binding:XXXXX> が出たとき対応すること ; Ruby

環境差異があるかもしれないが、事例として残す 前提 pry, pry-doc は gem に install されている gem install pry pry-doc 状況 gem モジュールを作成した bundle gem sample gem の実装部を弄っていた lib/sample.rb lib/sample/*.rb lib/sample.rb module…

nil.to_i ; Ruby

nil.to_i #=> 0 存在しないものを数値化すると 0 になる パラメーターの論理積を取っているときに挙動が妙だったので、メモ

Integer.降順 # Ruby

昇順数値表示方法 2.times do |num| p num end #=> 0 1 はすぐに頭に出てきたが Integer.blahblah do |num| p num end #=> 1 0 の 降順取り出し Integer.blahblah が出てこなかった. 方法 Integer#downto メソッドを使う メソッド名どおり、引数の値「まで」…

Array#delete ; Ruby

Array#delete 引数 削除したい要素 返り値 削除したい要素があればその値 なければnil ex. a = [0, 1, 2, 3, 4, 5] a.delete(3) #=> 3 p a #=> [0, 1, 2, 4, 5] オブジェクト自体を破壊的に変更したくないが 要素を削除したオブジェクトを得たいときは rejec…

respond_to? ; Ruby

「レシーバのオブジェクト」に対してメソッドが呼び出せるかどうかを調べる 引数 メソッド名の シンボル 文字列 返り値 レシーバのオブジェクトがメソッドを 呼び出せれば true 呼び出せなければ false Ex. Hash.respond_to?(:merge) #=> false Hash.new.res…

決済 gem WebPay ; Ruby ; PHP Java Python もサポート

決済処理に当たって、ActiveMerchant もあったが決済会社選んだり GateWay がどうとかって メンドイ。 WebPay-san お願いします。 (ここにあるカード番号、全てテスト用なので、あしからず) もともとは WebAPI なので、PHP Java Python でも使えるらしい{1} gem…

gem ruby-perl ; Ruby

主題 Raw な Ruby からは Perl スクリプトを call するのは非常にメンドイらしい gem を使って楽に call する 開発者には「バグレポートを出してくれれば対応するよ」という意味合いの文面は github にある。 目的 環境導入 gem install 正常処理 -- Ruby コ…

Shoes ; stack, flow ; Ruby

Shoes による stack と flow の「イメージ」 vertical(stack) : horiznal(flow) いずれかで UI 上に配置される イメージとしてはそれだけ stack Shoes.app do stack do 1 2 3 end end GUI □□□□□□□ □1 □ □2 □ □3 □ □□□□□□□ flow Shoes.app do flow do 1 …

Shoes ; notation ; Ruby

メモ記事御免 self object Shoes.app do stack do para 'HelloWorld' para 'Thanks' end end changes self object app block window and dialog methods not changes self object stack block because of the fact source Shoes.app do self.stack do self.p…

Shoes ; GUI Library ; Ruby

GUI をアウトプットするまでのコスト(主に時間)を ゴッソリ減らせる 目的 GUI 上にボタンを一つ生成する。 環境を整える(CentOS) コードを作成する 実行する 環境を整える(CentOS) Shoes を clone する git clone git://github.com/shoes/shoes.git ${SHOES_…

net/http で Rails application の動作チェックをする ; POST

rb ファイルを使って Rails app に POST した時の挙動をチェックする セキュリティ的にズル抜けなので、参考になる部分は薄いと断言 前提条件 rails g scaffold name:string email:string password:string rake db:migrate がされている。 次のレコードも用…

net/http で Rails application の動作チェックをする ; GET

前々から気になっていたので やろうとすること rails g scaffold user name:string email:string rake db:migrate している状態で、 GET /users の response code をチェックすること。 方法 rb ファイルに以下のソースを書く。実行する。 get.rb require 'n…

bundle install して rubygems.org に SSH 接続できない時

経緯 rails new foo して bundle install したら Unable to download data from https://rubygems.org/ - SSL_connect のようなエラーが出る 原因 rvm が最新版ではなかった 解決手順 rvm get stable して bundle install したら難なく ディストリ ごとに挙…