RAD (Remote Administration Daemon) を REST API 経由で使ってみた ([2015-11-09-1]) ので
次はスクリプトから REST API を叩くということで、Ruby でざっと書いてみた
[ Read More... ]
RAD (Remote Administration Daemon) を REST API 経由で使ってみた ([2015-11-09-1]) ので
次はスクリプトから REST API を叩くということで、Ruby でざっと書いてみた
[ Read More... ]
- Ruby 2.0.0-rc2 リリース
http://www.ruby-lang.org/ja/news/2013/02/08/ruby-2-0-0-rc2-is-released/
Ruby 2.0.0 の最後の Release Candidate 版の予定です。
問題なくビルドできたものの、
今のところ、2.0.0 を使う理由が特にないので、
このまま保留かな。
- myruremaをemacsから使えるmyrurema.el作ってみた - I am Cruby!
http://d.hatena.ne.jp/authorNari/20100713/1279027411
Ruby の リファレンスを参照するツール myrurema を Emacs から使えるようにする elisp.
(auto-install-from-url "https://gist.github.com/raw/2875bd46c958ac4c74b2/61d1d41fc587215d3a12499f27657e301319d447/myrurema.el")
M-x rurema
M-x rurema:at-point
とか.
ちょっと試したところ
rurema:search: Symbol's function definition is void: ansi-color-apply-on-region
と言われたので,
M-x ansi-color-for-comint-mode-on
などする必要があるっぽい.
- yhara's myrurema at master - GitHub
http://github.com/yhara/myrurema
その他、エディタが固まったり、Javaプロセスが落ちたりといった致命的なバグが修正されています。これによりv0.2に比べて断然に安定度が増しています。また、CPU使用率やメモリ使用量などのパフォーマンスの問題も改善されています。
気になるものだけメモ.
○ 定義元ジャンプ
EmacsではM-x rsense-jump-to-definition、Vimでは:RSenseJumpToDefinitionで利用できます。
まだ実験的段階ということなので,今後に期待.
○ Where Is
EmacsではM-x rsense-where-is、Vimでは:RSenseWhereIsで利用できます。EmacsではM-x rsense-where-is、Vimでは:RSenseWhereIsで利用できます。
はじめて実行したときはきちんと表示されるけど,
他のメソッドに移動して再度 M-x rsense-where-is すると
前回の結果が返ってきてしまう.
- RSense - Rubyのための最も優れた開発援助ツール
http://cx4a.org/software/rsense/index.ja.html
- RSense をインストールしてみた [2010-03-20-1]
かなり出遅れているけど,もうすぐ password 認証ができなくなるということで,OAuth の準備.
と言っても,http://twitter.rubyforge.org/ を使うし,
アクセスするアカウントは固定なので,たいしたことないんだけど.
アプリケーションの登録については
- そろそろOAuth対応しないとヤベーんじゃねーのと思ってるPHPerに贈るコピペ用コード - xmallocのプログラミングノート
http://d.hatena.ne.jp/xmalloc/20100504/1272950102
が詳しいです.
Twitter::OAuth.new して,authorize_from_access で認証.
これを Twitter::Base.new で渡すだけ.
#!/usr/bin/ruby # -*- coding: utf-8 -*- require 'rubygems' require "twitter" CONSUMER_TOKEN = "" CONSUMER_SECRET = "" ACCESS_TOKEN = "" ACCESS_SECRET = "" oauth = Twitter::OAuth.new(CONSUMER_TOKEN, CONSUMER_SECRET) oauth.authorize_from_access(ACCESS_TOKEN, ACCESS_SECRET) client = Twitter::Base.new(oauth) client.friends_timeline.each {|tweet| puts tweet.inspect } client.user_timeline.each {|tweet| puts tweet.inspect } client.replies.each {|tweet| puts tweet.inspect } client.update("OAuth で認証して tweet するテスト")
pp より見やすく表示.
README にあるサンプルだと以下のように表示される.
require 'rubygems' require 'ap' data = [ false, 42, %w(forty two), { :now => Time.now, :class => Time.now.class, :distance => 42e42 } ] ap data
via: awesome_print: A New Pretty Printer for your Ruby Objects
http://www.rubyinside.com/awesome_print-a-new-pretty-printer-for-your-ruby-objects-3208.html
We Heart It の画像を手動で reblog するのが面倒なので,
1 個アカウントを用意して We Heart It の rss から Tumblr に投げ,
LDR や メインのアカウントの dashboard で見た方が楽じゃね?
ってことで,Tumblr の API を触ってみた.
[ Read More... ]
Hash を拡張した
- Mash (Mocking Hash)
- Dash (Discrete Hash)
- Clash (Chainable Lazy Hash)
を扱うライブラリ.
ちょっとしたデータを扱うときに便利かも.
[ Read More... ]
- RSense - Rubyのための最も優れた開発援助ツール
http://cx4a.org/software/rsense/index.ja.html
demo 動画を見たらすごく便利そうだったので,
とりあえず,インストールしてみました.
インストール
# とりあえず,~/ 直下で.
$ wget -nd http://cx4a.org/pub/rsense/ $ tar jxvf rsense-0.2.tar.bz2 $ export RSENSE_HOME=$HOME/rsense-0.2 $ cd $RSENSE_HOME $ chmod +x bin/rsense $ bin/rsense version RSense 0.2
設定
$ ruby etc/config.rb > ~/.rsense
Emacs の設定
(setq rsense-home "/home/fumi/rsense-0.2") (add-to-list 'load-path (concat rsense-home "/etc")) (require 'rsense)
M-x rsense-version で動作を確認
「.」や「::」を入力したあと,
rsense-complete で別バッファに補完候補を表示
ac-complete-rsense で auto-complete を利用した表示
自動的に補完させるには,ruby-mode-hook で以下のようにすればいいらしい.
(add-hook 'ruby-mode-hook (lambda () (add-to-list 'ac-sources 'ac-source-rsense-method) (add-to-list 'ac-sources 'ac-source-rsense-constant)))
以下の google-spreadsheet-ruby を使ってみた.
- Google SpreadsheetのRubyライブラリ - daily gimite
http://d.hatena.ne.jp/Gimite/20081224/1230105356
- Google Spreadsheet Ruby
http://gimite.net/gimite/rubymess/google-spreadsheet-ruby
インストール
gem install google-spreadsheet-ruby
既存の spreadsheet に対する読み書き.
require 'rubygems' require "google_spreadsheet" USER = "user" PASS = "pass" URL = "目的の spreadsheet の URL" session = GoogleSpreadsheet.login(USER, PASS) ws = session.spreadsheet_by_url(URL).worksheets[0] p ws.title # worksheet のタイトル p ws[1, 1] # A1 の内容 p ws[2, 1] # A2 の内容 p ws[1, 2] # B1 の内容 p ws.cells # 空でないセルの内容 p ws.rows # 各行を要素とする配列 p ws.num_rows # 行数 p ws.num_cols ws[20, 1]= "fuga" # A20 へ "fuga" を書き込む p ws.dirty? # 保存していない更新があるか? ws.reload # 再読み込み.未保存の変更は破棄される. ws[20, 2]= "hoge" # B20 へ "hoge" を書き込む ws.save # 変更の保存 ws.synchronize # save & reload
セルが [0,0] ではなく [1,1] からはじまるのが,微妙な感じ.
と言っても,これを写経しただけ.
- RubyistのためのMongoDB入門 (#tork03 Edition)
http://ursm.jp/mongo
かなりお手軽だし,
個人的に使ってる DB を使ったプログラムは
MongoDB で十分な気がする.
とりあえず,Object/Document マッパーを調べてみよう.
- MongoMapper, The Rad Mongo Wrapper // RailsTips by John Nunemaker
http://railstips.org/blog/archives/2009/06/27/mongomapper-the-rad-mongo-wrapper/
- Mongoid [mon-goyd] - A Ruby ODM Framework for MongoDB
http://mongoid.org/
- MongoDoc
http://github.com/leshill/mongodoc
- メモ:sudo gem install派からgem install派への移行 - I am Cruby!
http://d.hatena.ne.jp/authorNari/20100207/1265468938
を見て,やってみた.
ちょうど新しく環境を作ってたし.
gem を ~/.gem 以下にインストールするには
~/.gemrc に "--user-install" を書けばいいらしい.
ということで,~/.gemrc は以下.
gem: --user-install --no-rdoc --no-ri
gem env で確認すると
RubyGems Environment: - RUBYGEMS VERSION: 1.3.4 - RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [x86_64-linux] - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8 - RUBY EXECUTABLE: /usr/bin/ruby - EXECUTABLE DIRECTORY: /usr/bin - RUBYGEMS PLATFORMS: - ruby - x86_64-linux - GEM PATHS: - /usr/lib/ruby/gems/1.8 - /home/fumi/.gem/ruby/1.8 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - "gem" => "--user-install --no-rdoc --no-ri" - REMOTE SOURCES: - http://gems.rubyforge.org/
"GEM CONFIGURATION:" の下に
「"gem" => "--user-install --no-rdoc --no-ri"」
が確認できる.
API は以下くらいしかわからないので,それ以外は mechanize で.
- タイムライン
http://now.ameba.jp/api/timeline?limit=20&offset=0
- 各ユーザの entry
http://now.ameba.jp/api/entryList/ftnk
# ftnk の部分を取得したいユーザの ID に
とりあえずなので,いろいろ手抜き.
[ Read More... ]
ruby-aws(http://www.caliban.org/ruby/ruby-aws/) を使って,
ASIN から情報を取得.
インストール
gem install ruby-aaws
(gem の名前は ruby-aaws.ruby-aws は別物)
~/.amazonrc を用意.
[global] key_id = 'xxxxxxxxxxxxxxxx' secret_key_id = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' associate = 'ftnk1221-22' locale = jp cache = true cache_dir = ./cache
で,こんな感じで.
require 'rubygems' require 'amazon/aws' require 'amazon/aws/search' include Amazon::AWS include Amazon::AWS::Search ASSOCIATES_ID = "ftnk1221-22" KEY_ID = "xxxxxxxxxxxxxxxxxxxxxxxxxx" ASIN = "4785932627" request = Request.new(KEY_ID, ASSOCIATES_ID) request.locale = "jp" il = ItemLookup.new('ASIN', {'ItemId' => ASIN}) rg = ResponseGroup.new('Medium') # Small, Medium, or Large response = request.search( il, rg ) response.item_lookup_response[0].items.item.each do |i| puts "asin: #{i.asin}" puts "title: #{i.item_attributes.title}" puts "author: #{i.item_attributes.author}" puts "label: #{i.item_attributes.label}" puts "発売日: #{i.item_attributes.publication_date}" puts "url: #{i.detail_page_url}" puts "img_url: #{i.small_image.url}" end
実行結果は以下.
asin: 4785932627 title: 惑星のさみだれ 8 (ヤングキングコミックス) author: 水上 悟志 label: 少年画報社 発売日: 2009-11-10 url: http://www.amazon.co.jp/%E6%83%91%E6%98%9F%E3%81%AE%E3%81%95%E3%81%BF%E3%81%A0%E3%82%8C-8-%E3%83%A4%E3%83%B3%E3%82%B0%E3%82%AD%E3%83%B3%E3%82%B0%E3%82%B3%E3%83%9F%E3%83%83%E3%82%AF%E3%82%B9-%E6%B0%B4%E4%B8%8A-%E6%82%9F%E5%BF%97/dp/4785932627%3FSubscriptionId%3D0WMJAQNJT9KRQHSWV282%26tag%3Dftnk1221-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4785932627 img_url: http://ecx.images-amazon.com/images/I/61N3t19HWCL._SL75_.jpg
どんな情報がとれるかは,p でみるか,properties で.
p i.properties # => ["asin", "offer_summary", "item_attributes", "small_image", "large_image", "detail_page_url", "image_sets", "medium_image", "item_links"] p i.item_attributes.properties # => ["list_price", "studio", "isbn", "publication_date", "binding", "product_group", "author", "title", "label", "publisher", "ean", "product_type_name", "manufacturer"]
Ruby で mixi ボイスをいじってみました.
api がないので,Mechanize で適当に切り出し.
[ Read More... ]
CentOS では
http://people.redhat.com/dlutter/yum/dlutter.repo
の rubygems を使っていたんだけど,
rails をインストールする際に
gem update --system
しろと言われたので,Momonga の spec file をベースに
パッケージを作ってみた.
- rubygems-1.3.4-1.src.rpm
- rubygems-1.3.4-1.noarch.rpm
とりあえず,作っただけで,動作確認はしていない.
gem install mysql
した際,build できない場合がある.
CentOS では以下のように with-mysql-config を指定する必要がある.
gem install mysql -- --with-mysql-config=/usr/lib/mysql/mysql_config
- UK STUDIO - Macでgem install mysqlをする方法
http://ukstudio.jp/2008/11/27/mac_gem_install_mysql/