Skip to content
RSS/Atom feeds aggregator, powered by Ramaze. Using Sequel for ORM.
Ruby
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
controller
db
lib
log
model
public
view
.gitignore
CHANGELOG
README
RELEASE_NOTES
config.rb
ramaze.ru
start.rb
tamanegi.rb

README

Tamanegi -- RSS/Atom feeds aggregator powered by Ramaze
========================================================

The project previous name was RaPlanet. But there is another project with
the same name, so I changed the name to Tamanegi (onion in japanese).
Maybe somebody will remember the Matz' presentation on Rubykaigi 2006
"The state of the onion" :) Tamanegi also trying to observe the state of
the net and aggregate atom/rss feeds in one news stream.

Live demo of the application can be seen on URL: http://planet.zhekov.net/


Application details
--------------------

 * ORM (model): Sequel (_core and _model)
 * Controllers: Ramaze (hm, maybe plain Rack will be also enough?)
 * Views:       Ezamar (TODO: switch to Tenjin)


Prerequirements (needed gems)
-----------------------------

 * sqlite3-ruby (database)
 * validatable (models validation checks)
 * sequel (models)
 * feed-normalizer (feeds parsing)
 * json (still not used)
 * ratom (feeds)
 * thin (optional, deployment, can be mongrel, webrick etc.)
 * SystemTimeout (feeds fetching giveup timeout)


Usage
------

[!] Change the settings in the config.rb file - base_url, items per page etc.

 * Command line usage

You can use Tamanegi just to fill your database with items and display them with
something else (Ruby on Rails etc.). So from irb or a script

 require 'tamanegi'
 Tamanegi::sync!(false,true)

 * "Development" mode

$ cd tamanegi
$ ./start.rb

This will create the needed tables in the DB (sqlite3: db/tamanegi.db)
"on the fly". By default the thin server is started, but you can change it 
inside start.rb.

 * "Production" mode

On my site I have nginx talking to two thin instances via sockets:

$ cd tamanegi
$ mkdir -p log
$ thin start --servers 2 --socket /tmp/negi.sock -R ramaze.ru

And inside nginx.conf:

 upstream play {
      server unix:/tmp/negi.0.sock;
      server unix:/tmp/negi.1.sock;
 }
Something went wrong with that request. Please try again.