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

2019年10月26日土曜日

RUBY 実行ファイル、ライブラリの配置

2019 Oct. 26.

とりあえず動いている。

${HOME}/ruby/VERSION/PROJECT/ 自作プログラムを配置。各プロジェクト内でbundlerを設定。
${HOME}/ruby/VERSION/lib/ 上記自作プログラムの内、ライブラリとなる実行ファイルのリンクを配置
 ${}HOME}/bin/ 上記自作プログラムの実行ファイルのリンクを配置

 export RUBYLIB=${HOME}/ruby/VERSION/lib:${HOME}

2018年9月15日土曜日

ruby rbenv, bundlerでのアプリケーション実行

2018 Oct. 08.
2018 Sep. 15.

$ CmdPath=`find / -name 'RUBY.rb' -exec dirname {} \;`
$ pushd $CmdPath
$ rbenv exec bundle exec RUBY.rb
$ popd


cronで利用するときは、PATH, RUBYLIBの設定をcronに記載することを忘れないように

ruby 各プロジェクトでのbundler設定

2018 Sep. 15.

$ cd projectーdir
$ rbenv exec bundle init

$ vi Gemfile
  gem "sinatra"
  gem "pry"
  gem "mysql2"
  gem "OptionParser"
  gem "systemu"

$ rbenv exec bundle install --path vendor/bundle

複数のrubyプログラム間での調整

2018 Sep. 15.

dir-a/a.rb  <= 主たる実行ファイル
    require "b.rb"

dir-b/Gemfile
    gem "gem-a"

dir-b/b.rb  <= a.rbがrequireするファイル
    require "bundler"
    Bundler.require  <= require "gem-a" が行われる
 
  dir-a/Gemfile に gem-a を書き込んでgemをインストールし、
  dir-a/をカレントディレクトリとして起動すれば、
  実行できる。
  dir-b/ のGemfileにgem-aを書き込んでいるだけではloadエラーとなる。

  シェルスクリプト内での記載例
    SRCPATH=$(readlink -f `which RUBY.rb`)
    pushd $(dirname ${SRCPATH})
    rbenv exec bundle exec $SRCPATH
    popd

ruby gemファイルのrequire書式

2018 Sep. 15.


rubyスクリプトでの gemファイルのrequire の書き方

( http://shokai.org/blog/archives/7262 より)
プログラム内で
require 'bundler'
Bundler.require
と書くと、gemが一括requireできる。

rubyスクリプト renv環境でのシバン(先頭行)


2018 Sep. 15.




rbenv環境でのrubyスクリプトの1行目の書式

#!/usr/bin/env ruby

2018年8月19日日曜日

ruby 配列を値とするハッシュ

2018 Aug. 19.


http://simanman.hatenablog.com/entry/2013/09/24/211044

  list = Hash.new{|hash, key| hash[key] = []}
  Hash.newにブロックを与えるとブロック引数の1番目がhash自身、2番目がkeyとなります。
  そこで上記のように配列を定義してあげると、keyごとに配列を初期化することが出来るようになります。

  RubyはHashのデフォルト値をHash.newの引数として渡すことで実現できますが、配列を渡すと同じ参照になってしまうのでうまくいきません。
    失敗例:list = Hash.new([])

2018年8月18日土曜日

ruby Could not locate Gemfile or .bundle/ directory スクリプトのファイル属性を実行可能に

2018 Aug. 18.

rubyスクリプトを起動すると
Could not locate Gemfile or .bundle/ directory
で止まった。

Bundler設定を疑ったが、単にファイル属性に実行可能属性が無いだけだった。

2018年4月22日日曜日

ruby sinatra

2018 Nov. 04.
2018 Oct. 08.
2018 Apr. 21.

プロジェクト初期化

$ mkdir PROJECT
$ cd PROJECT
$ rbenv exec bundle init
$vi Gemfile
    gem 'sinatra'
    gem "sinatra-reloader"

$ rbenv exec bundle install --path vendor/bundle

port開放

デフォルトで4567ポートを利用する

ERBの記法

<%= code %>    codeを実行して、結果を埋め込む
<%  code %>     codeを実行するだけ、結果は埋め込まない
<%= h VARIABLE %>    HTML にはそのまま書けない文字を実体参照に置き換え。HTML の「&“<>」をエスケープ

変数の受け渡し

受け取ったパラメーターをテンプレート(index.erb)内の変数にするには@nameなどに代入する。
  @name = params[:name]

if文の記述

<% if line =~ /#{@searchWord}/ then %>
   <%= line %>
<% end %>


2017年12月9日土曜日

ruby mysql操作

2018 Sep. 15.
2017 Dec. 09.


mysql2

    query結果の受け取り方
  http://blog.dealforest.net/2012/10/activerecord_execute_return_hash/

  ハッシュで受け取るには
          results.each(:as => :hash) do |result|
            p result.class
          end

2017年2月21日火曜日

rubyインストール

2019 Oct. 12.
2018 Sep. 15.
2018 Aug. 14.
2017 Mar. 12.
2017 Mar. 09.
2017 Feb. 21.

システムワイド rbenvインストール

next49.hatenadiary.jp/entry/20171122/1511350272

ユーザ別 rbenvインストール

# apt install git build-essential libssl-dev libreadline-dev zlib1g-dev

$ cd
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

~/.profile に記述
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

$ source ~/.profile
$ rbenv rehash

rubyインストール

$ rbenv install --list
$ rbenv install 2.0.0-p648
$ rbenv rehash
$ rbenv versions
$ rbenv global 2.0.0-p648


bundlerインストール

$ rbenv exec gem install bundler
$ rbenv rehash
$ rbenv exec bundle config --global path 'vendor/bundle'

$ cat ~/.bundle/config
---
BUNDLE_PATH: vendor/bundle