README.md in totem-0.0.4 vs README.md in totem-0.0.5
- old
+ new
@@ -1,19 +1,23 @@
# Totem
-Totem is a framework for creating Ruby projects.
+Totem is a Ruby gem for creating Ruby projects.
It's like having a Rails project folder without the Rails dependency.
-Features:
-- Ruby on Rails inspired folder structure.
-- Lightweight and simple code.
-- Integrated console.
-- Uses built in Ruby classes and avoids depending on 3rd party gems.
-- Designed for MRI and JRuby.
-- Easily extensible through gems or directly in your project (ActiveRecord gem coming soon).
-- Designed for multi-threaded applications.
+##### Goals:
+- Use a Ruby on Rails inspired folder structure because many developers are familiar with it.
+- Keep the gem lightweight with simple and easy to understand code.
+- Prefer built in Ruby classes in order to avoid third party dependencies.
+- Design from day one for MRI and JRuby.
+- Make it easily extensible.
+- Maintain thread safety so that it can be used with gems such as [Tribe](https://github.com/chadrem/tribe) or [Celluloid](https://github.com/celluloid/celluloid).
+##### Features:
+- console
+- logger
+- environments (development, production, stage, etc).
+
## Installation
Add this line to your application's Gemfile:
gem 'totem'
@@ -24,25 +28,54 @@
Or install it yourself as:
$ gem install totem
-## Usage
+## Create a project
-Create a new project called "my_app" in the current directory:
+Create a new project called `my_app` in the current directory:
- $ totem new my_app
+ $ bundle exec totem new my_app
-You must now setup Bundler (and rvm, rbenv, etc) for your new project:
+You must now setup Bundler (and rvm, rbenv, etc if you use them) for your new project:
$ bundle
-You can now create your custom classes in the "app" directory.
-You will need to manually "require" your classes in "app/loader.rb" since there isn't an auto-loader.
+You can now create your custom classes in the `app` directory.
+You will need to manually `require` your classes in `app/loader.rb` since Tribe doesn't have an auto-loader.
Totem comes with an IRB based console similar to Rails:
- $ totem console
+ $ bundle exec totem console
+
+## Totem API
+
+Totem comes with some built in methods that should be familiar to any Rails developer.
+Copy and paste the below code into `app/my_class.rb`.
+You can then run this example in the console by entering `MyClass.new.run`.
+Don't forget, you need to register this class in `app/loader.rb` with `require my_class`.
+
+ class MyClass
+ def run
+ puts 'Totem provides a few class variables to simplify programming...'
+ puts " Root: #{Totem.root}"
+ puts " Environment: #{Totem.env}"
+ puts
+
+ puts 'Totem includes a logger...'
+ Totem.logger.error('Example error log entry')
+ puts " Check your #{Totem.log_file_path} to see the entry."
+ puts
+
+ puts 'Enjoy!'
+ end
+ end
+
+## Add-ons
+
+Below is a list of available add-ons that extend the functionality of a Totem project:
+
+- [totem_activerecord](https://github.com/chadrem/totem_activerecord): The Rails database library
## Contributing
1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)