public
Description: RSS/Atom feeds aggregator, powered by Ramaze. Using Sequel for ORM.
Homepage: http://planet.zhekov.net/
Clone URL: git://github.com/zh/tamanegi.git
Click here to lend your support to: tamanegi and make a donation at www.pledgie.com !
name age message
file .gitignore Fri Apr 04 02:43:52 -0700 2008 using ditz for bugs tracking [zh]
file README Loading commit data...
file Rakefile
file bugs.yaml
file config.rb
directory controller/
directory db/ Wed Apr 02 02:03:39 -0700 2008 models (Sequel) - user, feed, item [zh]
directory lib/ Wed Apr 02 02:03:39 -0700 2008 models (Sequel) - user, feed, item [zh]
directory log/ Wed Apr 02 02:03:39 -0700 2008 models (Sequel) - user, feed, item [zh]
directory model/
directory public/
file ramaze.ru
file start.rb
file tamanegi.rb
directory view/
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)
 * feed-normalizer (feeds parsing)
 * rss-client (feeds fetching)
 * json (still not used)
 * builder (feeds)
 * thin (optional, deployment, can be mongrel, webrick etc.)


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;
 }