Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

added some todos

  • Loading branch information...
commit 7674021e1f5c0f02f575bdc8d937d4e6ba8e27c9 1 parent e3b4a99
Jan authored

Showing 1 changed file with 36 additions and 246 deletions. Show diff stats Hide diff stats

  1. +36 246 README.rdoc
282 README.rdoc
Source Rendered
... ... @@ -1,261 +1,51 @@
1   -== Welcome to Rails
  1 +== Open KVB API Project
2 2
3   -Rails is a web-application framework that includes everything needed to create
4   -database-backed web applications according to the Model-View-Control pattern.
  3 +This is an inofficial KVB API Project. Only a prototype. Use it as it is.
5 4
6   -This pattern splits the view (also called the presentation) into "dumb"
7   -templates that are primarily responsible for inserting pre-built data in between
8   -HTML tags. The model contains the "smart" domain objects (such as Account,
9   -Product, Person, Post) that holds all the business logic and knows how to
10   -persist themselves to a database. The controller handles the incoming requests
11   -(such as Save New Account, Update Product, Show Post) by manipulating the model
12   -and directing data to the view.
  5 +== Usage
13 6
14   -In Rails, the model is handled by what's called an object-relational mapping
15   -layer entitled Active Record. This layer allows you to present the data from
16   -database rows as objects and embellish these data objects with business logic
17   -methods. You can read more about Active Record in
18   -link:files/vendor/rails/activerecord/README.html.
  7 +=== Request
19 8
20   -The controller and view are handled by the Action Pack, which handles both
21   -layers by its two parts: Action View and Action Controller. These two layers
22   -are bundled in a single package due to their heavy interdependence. This is
23   -unlike the relationship between the Active Record and Action Pack that is much
24   -more separate. Each of these packages can be used independently outside of
25   -Rails. You can read more about Action Pack in
26   -link:files/vendor/rails/actionpack/README.html.
  9 + http://kvb-api.herokuapp.com/stations/:ID(.json)
27 10
  11 + e.g.: http://kvb-api.herokuapp.com/stations/236.json
28 12
29   -== Getting Started
  13 +=== Response
30 14
31   -1. At the command prompt, create a new Rails application:
32   - <tt>rails new myapp</tt> (where <tt>myapp</tt> is the application name)
  15 + {
  16 + "station": {
  17 + "id": 1,
  18 + "name": "Piusstraße",
  19 + "description": "",
  20 + "lat": 50.9460194,
  21 + "lng": 6.9259056,
  22 + "station_identifier": 236,
  23 + "amenities_list": [
  24 + "kiosk",
  25 + "escalator",
  26 + "underground",
  27 + "ticket_machine",
  28 + "backery",
  29 + "food"
  30 + ],
  31 + []
  32 + }
  33 + }
33 34
34   -2. Change directory to <tt>myapp</tt> and start the web server:
35   - <tt>cd myapp; rails server</tt> (run with --help for options)
  35 +== TODO
36 36
37   -3. Go to http://localhost:3000/ and you'll see:
38   - "Welcome aboard: You're riding Ruby on Rails!"
  37 +* Test
  38 +* Import Data into DB
  39 +* Build an interface to let people edit data
  40 +* Build a first client
39 41
40   -4. Follow the guidelines to start developing your application. You can find
41   -the following resources handy:
  42 +== Resources
42 43
43   -* The Getting Started Guide: http://guides.rubyonrails.org/getting_started.html
44   -* Ruby on Rails Tutorial Book: http://www.railstutorial.org/
  44 +...
45 45
  46 +== Credits
46 47
47   -== Debugging Rails
48 48
49   -Sometimes your application goes wrong. Fortunately there are a lot of tools that
50   -will help you debug it and get it back on the rails.
  49 +* Bodo Tasche - https://github.com/bitboxer
51 50
52   -First area to check is the application log files. Have "tail -f" commands
53   -running on the server.log and development.log. Rails will automatically display
54   -debugging and runtime information to these files. Debugging info will also be
55   -shown in the browser on requests from 127.0.0.1.
56   -
57   -You can also log your own messages directly into the log file from your code
58   -using the Ruby logger class from inside your controllers. Example:
59   -
60   - class WeblogController < ActionController::Base
61   - def destroy
62   - @weblog = Weblog.find(params[:id])
63   - @weblog.destroy
64   - logger.info("#{Time.now} Destroyed Weblog ID ##{@weblog.id}!")
65   - end
66   - end
67   -
68   -The result will be a message in your log file along the lines of:
69   -
70   - Mon Oct 08 14:22:29 +1000 2007 Destroyed Weblog ID #1!
71   -
72   -More information on how to use the logger is at http://www.ruby-doc.org/core/
73   -
74   -Also, Ruby documentation can be found at http://www.ruby-lang.org/. There are
75   -several books available online as well:
76   -
77   -* Programming Ruby: http://www.ruby-doc.org/docs/ProgrammingRuby/ (Pickaxe)
78   -* Learn to Program: http://pine.fm/LearnToProgram/ (a beginners guide)
79   -
80   -These two books will bring you up to speed on the Ruby language and also on
81   -programming in general.
82   -
83   -
84   -== Debugger
85   -
86   -Debugger support is available through the debugger command when you start your
87   -Mongrel or WEBrick server with --debugger. This means that you can break out of
88   -execution at any point in the code, investigate and change the model, and then,
89   -resume execution! You need to install ruby-debug to run the server in debugging
90   -mode. With gems, use <tt>sudo gem install ruby-debug</tt>. Example:
91   -
92   - class WeblogController < ActionController::Base
93   - def index
94   - @posts = Post.all
95   - debugger
96   - end
97   - end
98   -
99   -So the controller will accept the action, run the first line, then present you
100   -with a IRB prompt in the server window. Here you can do things like:
101   -
102   - >> @posts.inspect
103   - => "[#<Post:0x14a6be8
104   - @attributes={"title"=>nil, "body"=>nil, "id"=>"1"}>,
105   - #<Post:0x14a6620
106   - @attributes={"title"=>"Rails", "body"=>"Only ten..", "id"=>"2"}>]"
107   - >> @posts.first.title = "hello from a debugger"
108   - => "hello from a debugger"
109   -
110   -...and even better, you can examine how your runtime objects actually work:
111   -
112   - >> f = @posts.first
113   - => #<Post:0x13630c4 @attributes={"title"=>nil, "body"=>nil, "id"=>"1"}>
114   - >> f.
115   - Display all 152 possibilities? (y or n)
116   -
117   -Finally, when you're ready to resume execution, you can enter "cont".
118   -
119   -
120   -== Console
121   -
122   -The console is a Ruby shell, which allows you to interact with your
123   -application's domain model. Here you'll have all parts of the application
124   -configured, just like it is when the application is running. You can inspect
125   -domain models, change values, and save to the database. Starting the script
126   -without arguments will launch it in the development environment.
127   -
128   -To start the console, run <tt>rails console</tt> from the application
129   -directory.
130   -
131   -Options:
132   -
133   -* Passing the <tt>-s, --sandbox</tt> argument will rollback any modifications
134   - made to the database.
135   -* Passing an environment name as an argument will load the corresponding
136   - environment. Example: <tt>rails console production</tt>.
137   -
138   -To reload your controllers and models after launching the console run
139   -<tt>reload!</tt>
140   -
141   -More information about irb can be found at:
142   -link:http://www.rubycentral.org/pickaxe/irb.html
143   -
144   -
145   -== dbconsole
146   -
147   -You can go to the command line of your database directly through <tt>rails
148   -dbconsole</tt>. You would be connected to the database with the credentials
149   -defined in database.yml. Starting the script without arguments will connect you
150   -to the development database. Passing an argument will connect you to a different
151   -database, like <tt>rails dbconsole production</tt>. Currently works for MySQL,
152   -PostgreSQL and SQLite 3.
153   -
154   -== Description of Contents
155   -
156   -The default directory structure of a generated Ruby on Rails application:
157   -
158   - |-- app
159   - | |-- assets
160   - | |-- images
161   - | |-- javascripts
162   - | `-- stylesheets
163   - | |-- controllers
164   - | |-- helpers
165   - | |-- mailers
166   - | |-- models
167   - | `-- views
168   - | `-- layouts
169   - |-- config
170   - | |-- environments
171   - | |-- initializers
172   - | `-- locales
173   - |-- db
174   - |-- doc
175   - |-- lib
176   - | `-- tasks
177   - |-- log
178   - |-- public
179   - |-- script
180   - |-- test
181   - | |-- fixtures
182   - | |-- functional
183   - | |-- integration
184   - | |-- performance
185   - | `-- unit
186   - |-- tmp
187   - | |-- cache
188   - | |-- pids
189   - | |-- sessions
190   - | `-- sockets
191   - `-- vendor
192   - |-- assets
193   - `-- stylesheets
194   - `-- plugins
195   -
196   -app
197   - Holds all the code that's specific to this particular application.
198   -
199   -app/assets
200   - Contains subdirectories for images, stylesheets, and JavaScript files.
201   -
202   -app/controllers
203   - Holds controllers that should be named like weblogs_controller.rb for
204   - automated URL mapping. All controllers should descend from
205   - ApplicationController which itself descends from ActionController::Base.
206   -
207   -app/models
208   - Holds models that should be named like post.rb. Models descend from
209   - ActiveRecord::Base by default.
210   -
211   -app/views
212   - Holds the template files for the view that should be named like
213   - weblogs/index.html.erb for the WeblogsController#index action. All views use
214   - eRuby syntax by default.
215   -
216   -app/views/layouts
217   - Holds the template files for layouts to be used with views. This models the
218   - common header/footer method of wrapping views. In your views, define a layout
219   - using the <tt>layout :default</tt> and create a file named default.html.erb.
220   - Inside default.html.erb, call <% yield %> to render the view using this
221   - layout.
222   -
223   -app/helpers
224   - Holds view helpers that should be named like weblogs_helper.rb. These are
225   - generated for you automatically when using generators for controllers.
226   - Helpers can be used to wrap functionality for your views into methods.
227   -
228   -config
229   - Configuration files for the Rails environment, the routing map, the database,
230   - and other dependencies.
231   -
232   -db
233   - Contains the database schema in schema.rb. db/migrate contains all the
234   - sequence of Migrations for your schema.
235   -
236   -doc
237   - This directory is where your application documentation will be stored when
238   - generated using <tt>rake doc:app</tt>
239   -
240   -lib
241   - Application specific libraries. Basically, any kind of custom code that
242   - doesn't belong under controllers, models, or helpers. This directory is in
243   - the load path.
244   -
245   -public
246   - The directory available for the web server. Also contains the dispatchers and the
247   - default HTML files. This should be set as the DOCUMENT_ROOT of your web
248   - server.
249   -
250   -script
251   - Helper scripts for automation and generation.
252   -
253   -test
254   - Unit and functional tests along with fixtures. When using the rails generate
255   - command, template test files will be generated for you and placed in this
256   - directory.
257   -
258   -vendor
259   - External libraries that the application depends on. Also includes the plugins
260   - subdirectory. If the app has frozen rails, those gems also go here, under
261   - vendor/rails/. This directory is in the load path.
  51 +Copyright (c) 2009-2011 Jan Kus released under the MIT license

0 comments on commit 7674021

Please sign in to comment.
Something went wrong with that request. Please try again.