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/