hovercraft 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml ADDED
@@ -0,0 +1,3 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
data/README.md CHANGED
@@ -1,30 +1,121 @@
1
1
  # Hovercraft
2
2
 
3
+ [![Build Status](https://secure.travis-ci.org/vanstee/hovercraft.png)](http://travis-ci.org/vanstee/hovercraft)
4
+ [![Dependency Status](https://gemnasium.com/vanstee/hovercraft.png)](https://gemnasium.com/vanstee/hovercraft)
5
+
3
6
  Generate a RESTful API from a directory of ActiveRecord models.
4
7
 
8
+ ## Short Disclaimer
9
+
10
+ I am not yet running this in production and the gem is not very
11
+ extensible at this point. Consider it a proof of concept.
12
+
5
13
  ## Get Up and Running
6
14
 
7
15
  1. Throw this in your Gemfile:
8
16
 
9
- `gem 'hovercraft'`
17
+ ```ruby
18
+ gem 'hovercraft'
19
+ ```
10
20
 
11
21
  2. Put your ActiveRecord models in `models/` (make sure the file names
12
22
  are the same as the class names).
13
23
 
24
+ Here's an example:
25
+
26
+ ```ruby
27
+ # models/employee.rb
28
+
29
+ class Employee < ActiveRecord::Base
30
+ attr_accessible :name, :career
31
+ end
32
+ ```
33
+
34
+ If you need help setting up an entire sinatra app here's a full
35
+ example: http://github.com/vanstee/hovercraft_example
36
+
14
37
  3. Create a rackup file that generates the application:
15
38
 
16
39
  ```ruby
40
+ # config.ru
41
+
42
+ require 'bundler'
43
+ Bundler.require
44
+
17
45
  run Hovercraft::Server.new
18
- ```
46
+ ```
47
+
48
+ If you need more setup I'd recommend using an `application.rb` file
49
+ and requiring that in the `config.ru` instead.
19
50
 
20
51
  4. Run the application like normal:
21
52
 
22
- `bundle exec rackup`
53
+ ```
54
+ bundle exec rackup
55
+ ```
56
+
57
+ 5. Make some requests:
58
+
59
+ Create a record:
60
+
61
+ ```bash
62
+ curl -H 'Content-type: application/json' \
63
+ -X POST \
64
+ -d '{ "employee": { "name": "Philip J. Fry", "career": "Delivery Boy 1st Class" } }' \
65
+ http://localhost:9292/employees.json
66
+ ```
67
+
68
+ Show all records:
69
+
70
+ ```bash
71
+ curl http://localhost:9292/employees.json
72
+ ```
73
+
74
+ Show a single record:
75
+
76
+ ```bash
77
+ curl http://localhost:9292/employees/1.json
78
+ ```
79
+
80
+ Update a record:
81
+
82
+ ```bash
83
+ curl -H "Content-type: application/json" \
84
+ -X PUT \
85
+ -d '{ "employee": { "name": "Philip J. Fry", "career": "Executive Delivery Boy" } }' \
86
+ http://localhost:9292/employees/1.json
87
+ ```
88
+
89
+ Delete a record:
90
+
91
+ ```bash
92
+ curl -X DELETE http://localhost:9292/employees/1.json
93
+ ```
23
94
 
24
95
  ## Give Back
25
96
 
26
- 1. Fork it
27
- 2. Create your feature branch (`git checkout -b my-new-feature`)
28
- 3. Commit your changes (`git commit -am 'Added some feature'`)
29
- 4. Push to the branch (`git push origin my-new-feature`)
30
- 5. Create new Pull Request
97
+ 1. Fork it:
98
+
99
+ https://help.github.com/articles/fork-a-repo
100
+
101
+ 2. Create your feature branch:
102
+
103
+ ```bash
104
+ git checkout -b fixes_horrible_spelling_errors
105
+ ```
106
+
107
+ 3. Commit your changes:
108
+
109
+ ```bash
110
+ git commit -am 'Really? You spelled application as "applickachon"?'
111
+ ```
112
+
113
+ 4. Push the branch:
114
+
115
+ ```bash
116
+ git push origin fixes_horrible_spelling_errors
117
+ ```
118
+
119
+ 5. Create a pull request:
120
+
121
+ https://help.github.com/articles/using-pull-requests
@@ -1,6 +1,5 @@
1
1
  require 'hovercraft/caller'
2
2
  require 'active_support/inflector'
3
- require 'pry'
4
3
 
5
4
  module Hovercraft
6
5
  class Loader
@@ -1,3 +1,3 @@
1
1
  module Hovercraft
2
- VERSION = '0.0.1'
2
+ VERSION = '0.0.2'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hovercraft
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-02 00:00:00.000000000 Z
12
+ date: 2012-07-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sinatra-activerecord
@@ -115,6 +115,7 @@ extensions: []
115
115
  extra_rdoc_files: []
116
116
  files:
117
117
  - .gitignore
118
+ - .travis.yml
118
119
  - Gemfile
119
120
  - LICENSE
120
121
  - README.md
@@ -146,7 +147,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
146
147
  version: '0'
147
148
  segments:
148
149
  - 0
149
- hash: 2214615904925685358
150
+ hash: 1562352661766896187
150
151
  required_rubygems_version: !ruby/object:Gem::Requirement
151
152
  none: false
152
153
  requirements:
@@ -155,7 +156,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
155
156
  version: '0'
156
157
  segments:
157
158
  - 0
158
- hash: 2214615904925685358
159
+ hash: 1562352661766896187
159
160
  requirements: []
160
161
  rubyforge_project:
161
162
  rubygems_version: 1.8.23