タグ

ブックマーク / blog.udzura.jp (11)

  • shibuya.rb(仮名)、第一回簡易報告+ ActiveSupport の便利 tips « blog.udzura.jp

    11月25日、有志にておこなった、渋谷近辺の Rubyist とそうでもない Rubyist による勉強会。今回は、 ActiveSupport のソースを読んでみた。 会場は最近「株式会社 VOYAGE GROUP に行ってきた!」で話題にもなった VOYAGE GROUP さん提供でした。 見たファイルとそのメモ 公式 github repo から落としてきた。下記、抜けがあるかもしれません。 “lib/active_support” “lib/active_support/inflector/methods” 読めば分かる “lib/active_support/dependencies/autoload” autoload の第二引数を省略可能になる “lib/active_support/lazy_load_hooks” #on_load “lib/active_support/

    kitokitoki
    kitokitoki 2012/04/22
    ActiveSupport.on_load 。ActiveDecorator を読んでいて知った
  • cancan でモテカワ♥愛され権限管理 « blog.udzura.jp

    cancan gem (!= CanCam) は、ウェブアプリケーションの「認可」をつかさどるライブラリ。 おもしろWEBサービス開発日記のrailsメモ – 2009-12-15 Rails3.0 で Devise と CanCan を動かす rails cancanを試してみた Rails3でログイン認証(最終回) ロールはcancan 重要なのは、「認証」ではなく「認可」のみを受け持っているということで、要するに権限管理だけを「関心事」として持つライブラリであるということ。したがって、認証側は、 devise でも、 warden + omniauth でも、 Railscast のように authlogic でも、自力実装でも大丈夫だということ。キレイ目でもカジュアルダウンしたときにもコーデに使える万能アイテムのようなものですかね。 認証と認可の違い 当ブログにしては珍しく Rai

  • SinatraとCoffeeScriptでわかる、Sprocketsの使い方 « blog.udzura.jp

    アセットパイプラインなどで使えるとして話題の Sprockets gem 、自分向けまとめ。確認しないで書いているところもあります。 アセットパイプラインを支える技術 – sprockets Sprockets: Rack-based asset packaging Web assets 、具体的には主に CSSJavaScript の圧縮/依存性の解決/各種ソースからの変換をサポートするための Rubygem 。 asset とは資産、財産の意。 執筆時点現在のバージョンは 2.0.3 。なお、 rack-sprockets gem は、 sprockets( 具体的には、 require 'sprockets' map '/assets' do environment = Sprockets::Environment.new environment.append_path 'ap

  • etckeeperのつかいかた(インストール、サブコマンド追加) « Coding Suicidal

    Time to Read 2分 etckeeperと言うものがあり、要するに /etc 以下をリポジトリにして変更履歴を管理してくれる、大変大雑把と言えば大雑把なソフトウェアがあります。大雑把ですが、結構便利です。 インストール 1 sudo aptitude install git-core etckeeper そしたら、 /etc/etckeeper/etckeeper.conf と言う若干くどい名前の設定ファイルを編集。 1 2 3 4 5 # The VCS to use. #VCS="hg" VCS="git" #VCS="bzr" #VCS="darcs" Gitの他、MercurialやBazaarなんかが使えます。ただし、Subversionなどのような、中央リポジトリが必要なバージョン管理システムは使えませんね(ローカルにコミットしていくため)。 VCSを決めたら: 1

    kitokitoki
    kitokitoki 2012/01/31
    サブコマンドの作り方
  • Gemnasium が地味に便利そう « blog.udzura.jp

    Gemnasium Gemnasium keeps you up to date on the gems that matter to you. あなたが github 上に Rubygems やその他プロジェクトのリポジトリを持っていたとして、その Gemfile や gemspec を読み込んで、依存関係を把握し、記述がまずい等で最新の Rubygems にキャッチアップできないようなら教えてくれるサービス。 こんな感じ。 要するに、 bundler はすでに 1.1.rc7 が出ていて、遠からず 1.1 がリリースされるだろうから、よってこの ~> 1.0.0 という記述のままではじきに最新のものが使えなくなるよ、ということ(黄信号)、さらに、 rspec はとっくに 2.8.0 が出ているので、いまの ~> 2.3.0 という記述では最新のものが入らないよ(赤信号!)、などの情報が

  • Capistrano力を上げよう « ディスコ探偵冬景色

    標記の力を高められるかもしれないいくつかのTipsを。 なお、あまりRailsと関係ないデプロイでも使えるTips多めです。CapstranoはRailsとの連携以外でも強力なデプロイツール。もっともっと評価されてもいいですね。 Capistrano::CLI.ui.ask でデフォルト値を設定する

  • Ruby で凄く簡単に GET/POST 送信ができる関数を作りました « blog.udzura.jp

    require 'net/http' def wbs_request(method, uri_string, data={}) uri = URI.parse(uri_string) uri.path = "/" if uri.path.empty? http = Net::HTTP.new(uri.host) case method.to_s.downcase.to_sym when :get query_string = data.to_a.map{|(k, v)| "#{k}=#{v}"}.join("&") return http.get(uri.path + "?" + query_string).body when :post return http.post(uri.path, data).body when :put, :delete, :head raise NotImp

  • Ruby Advent Calendar 2011 / 2日目 – almost-sinatra.rb の深淵を覗く « blog.udzura.jp

    初めましての方は初めまして。近藤うちお(@udzura)です。 Sinatra ベースのフレームワークである Padrino framework の日語サイトを管理したりしています。 Ruby Advent Calendar jp: 2011 2日目である今日は、 Sinatra 主要コミッタである rkh が、わずか 8 行で実装した Sinatra クローン、「almost-sinatra.rb」を読み解いたりして、2日目にして一気に読者を置いてけぼりにしたいと思います(1日目はこちら – “Coffeescripting with Ruby”)。 RedBull(できれば複数)の用意を推奨します…… まずは、全コードを下にコピーして置いておきます。先日、 このパッチ が accept されたので、それが適用された最新バージョンです。 %w.rack tilt backports

  • スタート Padrino を終えて « blog.udzura.jp

    で初めてかもしれない Padrino framework に関する MEETUP 、「スタートPadrino」が開催されました。その場で、 Padrino framework の日エバンジェリスト(自称)っぽくお話をさせていただきました。お誘いいただいた @repeatedly さんにあらためて感謝。 言いたいことを全部詰め込んだこともあり、だいぶ長いですが、雰囲気は分かっていただけるかな~と。 今後も地道に Padrino を楽しくする活動をしていきます! あと、ハッカソンとかしたいです。 Sinatrasta という言葉は流行らない気もしますがしつこく主張していこうと思います。 個人的には懇親会と称して、久しぶりにロンア~ルに入れたのも良かったです。 栄児 家庭料理 郷店 板橋店にまた汁なし坦々麺べにいこうかな~……。

  • Object.const_getをハックした話 « **deadwinter**

    大変厳しい監視にも負けず、普通にRubyの話をします。 文字列のクラス名をクラスにするには、Rubyの場合evalとかもあるけれど(参照: Class.forNameはどう書くのか、コメントも)、 Object.const_get を使うのが一番安全な気がします。変なコードをねじ込まれてもNameErrorになるだけですし。 irb(main):001:0> Object.const_get("String") #=> String irb(main):002:0> Object.const_get("String").new #=> "" でもこれ、たとえば Net::HTTP みたいな名前空間付きのクラスを呼ぶとエラーになりますんよ。 irb(main):001:0> require 'net/http' => true irb(main):002:0> Object.const_ge

  • Ruby1.8.7、1.9.1、1.9.2preview1を簡単に切り替える@Ubuntu9.10 « **deadwinter**

    こんにちは この記事は、Ruby Advent Calendar jp: 2009 参加記事です。 前日の記事:willnetさん / controllerを少しだけスリムにするtips 翌日の記事:m-kawatoさん 今回、Ruby1.8.7、1.9.1、そして1.9.2preview1を、1コマンドで簡単に切り替えるtips(設定手順)を書きます。 改めて読み返したらRubyのコードが一行もありませんでしたが、よろしくお願いします。 前提条件など まず、実行環境としてUbuntu 9.10をナニかに入れましょう。PCでもVMWareでもなんでもいいと思います。ちなみに、gihyo.jpの記事が大いに参考になります。マニアックなデュアルブート構成の手順が詳細に載っています。 切り替えのために、「update-alternatives」という便利コマンドを使用します。このupdate-a

  • 1