api_controller 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.rdoc
CHANGED
@@ -2,6 +2,16 @@
|
|
2
2
|
|
3
3
|
Genarator for controllers dedicated to custom APIs.
|
4
4
|
|
5
|
+
== Usage
|
6
|
+
|
7
|
+
`rails generate api_controller MODEL(plural, lowercase) [VERSION]
|
8
|
+
|
9
|
+
`rails generate api_controller people 2`
|
10
|
+
generates:
|
11
|
+
app/controllers/api/v2/person_api_controller.rb
|
12
|
+
test/functional/api/v2/person_api_controller.rb
|
13
|
+
|
14
|
+
|
5
15
|
== Contributing to api_controller
|
6
16
|
|
7
17
|
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/api_controller.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{api_controller}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Cody Frazer"]
|
12
|
-
s.date = %q{2011-02-
|
12
|
+
s.date = %q{2011-02-17}
|
13
13
|
s.description = %q{Genarator for controllers dedicated to custom APIs.}
|
14
14
|
s.email = %q{cody.frazer@cph.org}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -15,6 +15,10 @@ class ApiControllerGenerator < Rails::Generators::Base
|
|
15
15
|
template 'api_controller_test.rb', "test/functional/#{structure}#{model}_api_test.rb"
|
16
16
|
end
|
17
17
|
|
18
|
+
def adjust_routes
|
19
|
+
create_routes
|
20
|
+
end
|
21
|
+
|
18
22
|
private
|
19
23
|
|
20
24
|
def version
|
@@ -35,4 +39,21 @@ class ApiControllerGenerator < Rails::Generators::Base
|
|
35
39
|
def make_dir(dir)
|
36
40
|
Dir.mkdir dir unless File.directory?(dir)
|
37
41
|
end
|
42
|
+
|
43
|
+
def create_routes
|
44
|
+
final = []
|
45
|
+
File.open("#{RAILS_ROOT}/config/routes.rb", "r+") do |file|
|
46
|
+
file.each do |line|
|
47
|
+
final << line
|
48
|
+
if line =~ /[\d]+?::Application.routes.draw/
|
49
|
+
final << <<-ROUTES
|
50
|
+
namespace :api do
|
51
|
+
namespace v#{version} do
|
52
|
+
resources :#{model}, :controller => '#{model}_api', :only => [:index, :show, :create, :update, :destroy]
|
53
|
+
ROUTES
|
54
|
+
end
|
55
|
+
end
|
56
|
+
file.puts final
|
57
|
+
end
|
58
|
+
end
|
38
59
|
end
|
@@ -3,13 +3,25 @@ class Api::V<%= version %>::<%= model.capitalize %>ApiController < ApplicationCo
|
|
3
3
|
# GET /api/v<%= version %>/<%= model %>
|
4
4
|
# GET /api/v<%= version %>/<%= model %>.xml
|
5
5
|
# GET /api/v<%= version %>/<%= model %>.json
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
6
|
+
def index
|
7
|
+
@<%= model %> = <%= model.classify %>.all
|
8
|
+
|
9
|
+
respond_to do |format|
|
10
|
+
format.xml {render :xml => @<%= model %>}
|
11
|
+
format.json {render :json => @<%= model %>}
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
# GET /api/v<%= version %>/<%= model %>/1
|
16
|
+
# GET /api/v<%= version %>/<%= model %>/1.xml
|
17
|
+
# GET /api/v<%= version %>/<%= model %>/1.json
|
18
|
+
def show
|
19
|
+
@<%= model.singularize %> = <%= model.classify %>.find(params[:id])
|
20
|
+
|
21
|
+
respond_to do |format|
|
22
|
+
format.xml {render :xml => @<%= model.singularize %>}
|
23
|
+
format.json {render :json => @<%= model.singularize %>}
|
24
|
+
end
|
25
|
+
end
|
14
26
|
|
15
27
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: api_controller
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 1
|
10
|
+
version: 0.1.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Cody Frazer
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-02-
|
18
|
+
date: 2011-02-17 00:00:00 -06:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|