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.
bugs
controller
db
lib
log
model
public
view
.gitignore
CHANGELOG
README
RELEASE_NOTES
Rakefile
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)
 * 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;
 }


Bugs tracking
-------------

ditz [ http://ditz.rubyforge.org/ ] distributed issue tracker is used. So the bug 
reports/fixes come with the application distribution (directory bugs/). You can generate
HTML pages for the current application status with:

$ cd tamanegi
$ rake ditz:html

The commands above will create public/bugs dir and put all bugs related HTML pages there.
Start the application (./start.rb or via ramaze.ru) and point your brouser to URL:
http://{app.url}/bugs/ (see http://planet.zhekov.net/bugs/ for example output)
Something went wrong with that request. Please try again.