ラベル ruby の投稿を表示しています。 すべての投稿を表示
ラベル ruby の投稿を表示しています。 すべての投稿を表示

2014年11月26日水曜日

AMIにMechanizeをインストールする

AMIのruby環境はあまりパッケージがインストールされていないので、mechanizeのインストールにつまずくことがある。
 なので、ここに一連の手順を残しておく。

rubyバージョン ruby 2.0.0p481






1.yum install ruby-devel

2.yum install gcc-c++.noarch

3.yum install libxslt-devel.x86_64

4.yum install patch.x86_64
  以下のような nokogoriやmechanizeをインストールするときに
  以下のようなメッセージが出で失敗する事があるので
  必ずインストールする。


  patch.logを見ると、パッチコマンドが見つからないという趣旨のエラーが出力されている。

  Running 'patch' for libxml2 2.9.2... ERROR, review '/home/ec2-user/.gem/ruby  /2.0/gems/nokogiri-1.6.4.1/ext/nokogiri/tmp/x86_64-redhat-linux-gnu/ports  /libxml2/2.9.2/patch.log' to see what happened.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.
 
5.gem install nokogiri

6.gem install mechanize

以上

2013年12月19日木曜日

[Ruby]Zaim API V2に対応した認証用ライブラリを作ってみた

家計簿ソフトZaim(https://zaim.net)が提供するWebAPIの認証部分を
omniauthを参考に作ってみた。

ソースコードは以下のサイトにアップロード。
https://github.com/maar4569/omniauth-zaimv2

参考にしたのは以下のライブラリ。(v1用のライブラリ。)
mururuさんありがとうございます。

https://github.com/mururu/omniauth-zaim


以前Google Apps ScriptからZaim APIをたたこうとして失敗し涙したが、
今回は成功。

Railsに組み込む場合、コールバック用のコントローラに
以下のような記述をしておくと、verify APIのレスポンスが得られる。

#サンプル
def callback
  auth = request.env['omniauth.auth']
  @user_id = auth.info.id
  @name = auth.info.name
  @input_count = auth.info.input_count
  @day_count = auth.info.day_count
  @repeat_count = auth.info.repeat_count
  @day = auth.info.day
  @week = auth.info.week
  @currency_code = auth.info.currency_code"
end

また、カテゴリに関する情報を取得する場合は以下のコードで取得できる。
 api_url = auth.extra.access_token.consumer.options[:site] + "/v2/home/category"
 raw_info = MultiJson.load(auth.extra.access_token.get(api_url).body)['categories']
 p "categries =>  #{raw_info}"

ジャンルなども基本的には同じ要領で取得する。

Zaimの情報を分析して家計を助けるぞー

2013年11月27日水曜日

EC2インスタンスにRuby1.9.3をインストールする。

Amazon EC2のRHEL6の無料インスタンスにRuby1.9.3をyumでインストールしたかったが、初期設定のレポジトリには1.8.x1しかなかったため、パッケージをビルドしてインストールすることを試みた。

1.まずビルドに必要なパッケージをインストールする。
  対象は以下のとおり。
  zlib-devel
  openssl-devel
  readline-devel
  tk-devel
  libyaml-devel
  libffi-devel
  rpm-build

  注意
  libyaml-develをインストールしたときに、以下のようなエラーが発生するかもしれな
  い。
  Error:  Multilib version problems found. This often means that the root
       cause is something else and multilib version checking is just
       pointing out that there is a problem.

  要は複数のバージョンがあるので問題ありということ。
  元々インストールされていたのはlibyaml.i686、必要なのはlibyaml-devel.x86_64
      なので元々あったほうをアンインストールし、libyaml-devel.x86_64をインストール
  した。
      sudo yum remove libyaml.i686
      sudo yum install   libyaml-devel.x86_64
 
2.home直下にrpmbuildディレクトリを作成する。

3.rpmbuildディレクトリの下に以下5つのディレクトリを作成する。
  BUILD  RPMS  SOURCES  SPECS  SRPMS

4.SOURCESディレクトリに移動する。
  cd ~/rpmbuild/SOURCES

5.ruby1.9.3のアーカイブをダウンロードする。
  wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p448.tar.gz

6.SPECSディレクトリに移動する。
  cd ~/rpmbuild/SPECS

7.specファイルをダウンロードする。
 wget https://raw.github.com/imeyer/ruby-1.9.3-rpm/master/ruby19.spec

8.ビルドを実行する。
  rpmbuild -bb ruby19.spec

9. rpmファイルが作成されていることを確認する。
 ~/rpmbuild/RPMS/x86_64/ruby-1.9.3p448-1.el6.x86_64.rpm

10.~/rpmbuild/RPMS/x86_64ディレクトリに移動する。
   cd ~/rpmbuild/RPMS/x86_64

11.パッケージをインストールする。
  sudo rpm -ivh ruby-1.9.3p448-1.el6.x86_64.rpm

12.インストールできたか確認する。
  ruby -v

  OK。1.9.3が入った!

  ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-linux]




2013年10月3日木曜日

ziprubyを使ったzip圧縮ライブラリ

ziprubyを利用したライブラリを作成。

使い方は以下のとおり。
require relative '******/ziparchiver.rb'

objZip = ZipArchiver.new( 'zipファイルのフルパス' )
objZip.createZip( '対象のフォルダまたはファイルのパス' )
  *フォルダを指定するとサブディレクトリも含めて圧縮する。

objZip.encrypt( 'zipファイルのパスワード' ) <-任意で設定

https://github.com/maar4569/Ziparchiver

2013年9月30日月曜日

zipruby(Windows)のインストール

windowsへのziprubyのインストールは、gemからやるとうまくインストールできない。
Devkitでビルドしても「checking for zlib.h******************no」と怒られてインストールできない。
 
インストールができた時の手順。
1.Devkitをインストール

2.ziprubyをマニュアルダウンロード

  これ
  zipruby1.9-0.3.6-x86-mswin32.gem

3.gem install ダウンロードファイル
これ
gem install ファイルまでのパス\zipruby1.9-0.3.6-x86-mswin32.gem

Successfully installed zipruby1.9-0.3.6-x86-mswin32