Posts Tagged ‘ Ruby

Error install nokogiri

Fetching: mini_portile-0.6.2.gem (100%)
Fetching: nokogiri-1.6.6.3.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing nokogiri:
	ERROR: Failed to build gem native extension.
 
        /usr/bin/ruby1.9.1 extconf.rb
checking if the C compiler accepts ... yes
Building nokogiri using packaged libraries.
checking for gzdopen() in -lz... no
zlib is missing; necessary for building libxml2
*** 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.
 
Provided configuration options:
	--with-opt-dir
	--without-opt-dir
	--with-opt-include
	--without-opt-include=${opt-dir}/include
	--with-opt-lib
	--without-opt-lib=${opt-dir}/lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/usr/bin/ruby1.9.1
	--help
	--clean
	--use-system-libraries
	--enable-static
	--disable-static
	--with-zlib-dir
	--without-zlib-dir
	--with-zlib-include
	--without-zlib-include=${zlib-dir}/include
	--with-zlib-lib
	--without-zlib-lib=${zlib-dir}/lib
	--enable-cross-build
	--disable-cross-build
 
 
Gem files will remain installed in /var/lib/gems/1.9.1/gems/nokogiri-1.6.6.3 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/nokogiri-1.6.6.3/ext/nokogiri/gem_make.out

Fix
Read more

Telegram Bot on ruby

apt-get install ruby gem ruby-dev make
gem install telegram-bot-ruby

Теперь необходимо получить токен для бота.
Заходим в Telegram, добавляем бота @BotFather, и создаем бота:

Telegram Bot

Telegram Bot

So, let’s write to out bot and get updates

curl -s -X POST https://api.telegram.org/botNNNNN:NZNZNNZNZNZNNZNZ/getUpdates

And we have:

{"ok":true,"result":[{"update_id":923096141,
"message":{"message_id":2130,"from":{"id":<id>,"first_name":"<fname>","username":"<username>"},"chat":{"id":<chat.id>,"first_name":"<fname>","username":"<username>","type":"private"},"date":1447842513,"text":"test"}}]}
# encoding: utf-8
#
require 'telegram/bot'
#require_relative 'getimg'
token = 'NNNNNN:XNXNXNXNXNXNXNXNX'
 
#inputMess = ARGV[0]
puts "fff"
Telegram::Bot::Client.run(token) do |bot|
    #  bot.listen do |chat|
    #bot.fetch_updates
    bot.api.sendMessage(chat_id: "<chat.id>", text: "Hello")
 
end

XML парсер на Ruby

Парсить XML можно с помощью библиотеки Nokogiri
http://www.nokogiri.org/tutorials/searching_a_xml_html_document.html
Ставим Ruby-dev

aptitude install ruby-dev
wget http://production.cf.rubygems.org/rubygems/rubygems-1.5.0.tgz
tar xvf rubygems-1.5.0.tgz
cd rubygems-1.5.0
sudo ruby setup.rb
gem install optparse-command

А после Nokogiri
gem install nokogiri