apipie-rails 0.0.17 → 0.0.18
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/.gitignore +2 -0
- data/CHANGELOG +6 -0
- data/README.rst +106 -1
- data/lib/apipie-rails.rb +1 -1
- data/lib/apipie/application.rb +14 -29
- data/lib/apipie/dsl_definition.rb +226 -158
- data/lib/apipie/method_description.rb +30 -20
- data/lib/apipie/param_description.rb +98 -10
- data/lib/apipie/railtie.rb +4 -1
- data/lib/apipie/resource_description.rb +6 -5
- data/lib/apipie/validator.rb +45 -14
- data/lib/apipie/version.rb +1 -1
- data/spec/controllers/apipies_controller_spec.rb +3 -0
- data/spec/controllers/users_controller_spec.rb +13 -20
- data/spec/dummy/app/controllers/api/v1/architectures_controller.rb +13 -3
- data/spec/dummy/app/controllers/api/v2/architectures_controller.rb +1 -3
- data/spec/dummy/app/controllers/users_controller.rb +26 -3
- data/spec/lib/method_description_spec.rb +6 -5
- data/spec/lib/param_description_spec.rb +82 -6
- data/spec/lib/param_group_spec.rb +45 -0
- data/spec/lib/resource_description_spec.rb +9 -7
- metadata +18 -18
- data/.rvmrc +0 -1
- data/Gemfile.lock +0 -117
@@ -10,10 +10,20 @@ module Api
|
|
10
10
|
def show
|
11
11
|
end
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
param :
|
13
|
+
def_param_group :timestamps do
|
14
|
+
param :created_at, String
|
15
|
+
param :updated_at, String
|
16
|
+
end
|
17
|
+
|
18
|
+
def_param_group :arch do
|
19
|
+
param :architecture, Hash, :required => true do
|
20
|
+
param :name, String, :required => true
|
21
|
+
param_group :timestamps
|
22
|
+
end
|
16
23
|
end
|
24
|
+
|
25
|
+
api :POST, "/architectures/", "Create an architecture."
|
26
|
+
param_group :arch
|
17
27
|
def create
|
18
28
|
end
|
19
29
|
|
@@ -11,9 +11,7 @@ module Api
|
|
11
11
|
end
|
12
12
|
|
13
13
|
api :POST, "/architectures/", "Create an architecture."
|
14
|
-
|
15
|
-
param :name, String, :required => true
|
16
|
-
end
|
14
|
+
param_group :arch, Api::V1::ArchitecturesController
|
17
15
|
def create
|
18
16
|
end
|
19
17
|
|
@@ -190,17 +190,40 @@ class UsersController < ApplicationController
|
|
190
190
|
render :text => "OK"
|
191
191
|
end
|
192
192
|
|
193
|
-
|
194
|
-
param :user, Hash, :desc => "User info", :required => true do
|
193
|
+
def_param_group :credentials do
|
195
194
|
param :name, String, :desc => "Username for login", :required => true
|
196
195
|
param :pass, String, :desc => "Password for login", :required => true
|
197
|
-
|
196
|
+
end
|
197
|
+
|
198
|
+
def_param_group :user do
|
199
|
+
param :user, Hash, :desc => "User info", :required => true, :action_aware => true do
|
200
|
+
param_group :credentials
|
201
|
+
param :membership, ["standard","premium"], :desc => "User membership", :allow_nil => false
|
202
|
+
end
|
203
|
+
end
|
204
|
+
|
205
|
+
api :POST, "/users", "Create user"
|
206
|
+
param_group :user
|
207
|
+
param :user, Hash do
|
208
|
+
param :permalink, String
|
198
209
|
end
|
199
210
|
param :facts, Hash, :desc => "Additional optional facts about the user", :allow_nil => true
|
200
211
|
def create
|
201
212
|
render :text => "OK #{params.inspect}"
|
202
213
|
end
|
203
214
|
|
215
|
+
api :PUT, "/users/:id", "Create user"
|
216
|
+
param_group :user
|
217
|
+
def update
|
218
|
+
render :text => "OK #{params.inspect}"
|
219
|
+
end
|
220
|
+
|
221
|
+
api :POST, "/users/admin", "Create admin user"
|
222
|
+
param_group :user, :as => :create
|
223
|
+
def admin_create
|
224
|
+
render :text => "OK #{params.inspect}"
|
225
|
+
end
|
226
|
+
|
204
227
|
api :GET, "/users", "List users"
|
205
228
|
error :code => 401, :desc => "Unauthorized"
|
206
229
|
error :code => 404, :desc => "Not Found"
|
@@ -2,15 +2,16 @@ require "spec_helper"
|
|
2
2
|
|
3
3
|
describe Apipie::MethodDescription do
|
4
4
|
|
5
|
+
let(:dsl_data) { ActionController::Base.send(:_apipie_dsl_data_init) }
|
6
|
+
|
5
7
|
describe "params descriptions" do
|
6
8
|
|
7
9
|
before(:each) do
|
8
|
-
Apipie.clear_last
|
9
10
|
@resource = Apipie::ResourceDescription.new(ApplicationController, "dummy")
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
@method = Apipie::MethodDescription.new(:a, @resource,
|
11
|
+
dsl_data[:params] = [[:a, String, nil, {}, nil],
|
12
|
+
[:b, String, nil, {}, nil],
|
13
|
+
[:c, String, nil, {}, nil]]
|
14
|
+
@method = Apipie::MethodDescription.new(:a, @resource, dsl_data)
|
14
15
|
@resource.add_method_description @method
|
15
16
|
end
|
16
17
|
|
@@ -2,19 +2,29 @@ require "spec_helper"
|
|
2
2
|
|
3
3
|
describe Apipie::ParamDescription do
|
4
4
|
|
5
|
-
|
5
|
+
let(:dsl_data) { ActionController::Base.send(:_apipie_dsl_data_init) }
|
6
|
+
|
7
|
+
let(:resource_desc) do
|
8
|
+
Apipie::ResourceDescription.new(UsersController, "users")
|
9
|
+
end
|
10
|
+
|
11
|
+
let(:method_desc) do
|
12
|
+
Apipie::MethodDescription.new(:show, resource_desc, dsl_data)
|
13
|
+
end
|
6
14
|
|
15
|
+
|
16
|
+
describe "required_by_default config option" do
|
7
17
|
context "parameters required by default" do
|
8
18
|
|
9
19
|
before { Apipie.configuration.required_by_default = true }
|
10
20
|
|
11
21
|
it "should set param as required by default" do
|
12
|
-
param = Apipie::ParamDescription.new(:required_by_default, String)
|
22
|
+
param = Apipie::ParamDescription.new(method_desc, :required_by_default, String)
|
13
23
|
param.required.should be_true
|
14
24
|
end
|
15
25
|
|
16
26
|
it "should be possible to set param as optional" do
|
17
|
-
param = Apipie::ParamDescription.new(:optional, String, :required => false)
|
27
|
+
param = Apipie::ParamDescription.new(method_desc, :optional, String, :required => false)
|
18
28
|
param.required.should be_false
|
19
29
|
end
|
20
30
|
|
@@ -25,12 +35,12 @@ describe Apipie::ParamDescription do
|
|
25
35
|
before { Apipie.configuration.required_by_default = false }
|
26
36
|
|
27
37
|
it "should set param as optional by default" do
|
28
|
-
param = Apipie::ParamDescription.new(:optional_by_default, String)
|
38
|
+
param = Apipie::ParamDescription.new(method_desc, :optional_by_default, String)
|
29
39
|
param.required.should be_false
|
30
40
|
end
|
31
41
|
|
32
42
|
it "should be possible to set param as required" do
|
33
|
-
param = Apipie::ParamDescription.new(:required, String, 'description','required' => true)
|
43
|
+
param = Apipie::ParamDescription.new(method_desc, :required, String, 'description','required' => true)
|
34
44
|
param.required.should be_true
|
35
45
|
end
|
36
46
|
|
@@ -38,4 +48,70 @@ describe Apipie::ParamDescription do
|
|
38
48
|
|
39
49
|
end
|
40
50
|
|
41
|
-
|
51
|
+
describe "required params in action aware validator" do
|
52
|
+
|
53
|
+
subject { method_description.params[:user].validator.hash_params_ordered }
|
54
|
+
|
55
|
+
let(:required) do
|
56
|
+
subject.find_all(&:required).map(&:name)
|
57
|
+
end
|
58
|
+
|
59
|
+
let(:allowed_nil) do
|
60
|
+
subject.find_all(&:allow_nil).map(&:name)
|
61
|
+
end
|
62
|
+
|
63
|
+
context "with resource creation" do
|
64
|
+
|
65
|
+
let(:method_description) do
|
66
|
+
Apipie.get_method_description(UsersController, :create)
|
67
|
+
end
|
68
|
+
|
69
|
+
it "makes the param required" do
|
70
|
+
required.should include :name
|
71
|
+
required.should include :pass
|
72
|
+
end
|
73
|
+
|
74
|
+
it "doesn't allow nil" do
|
75
|
+
allowed_nil.should_not include :name
|
76
|
+
allowed_nil.should_not include :pass
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
context "with resource update" do
|
81
|
+
|
82
|
+
let(:method_description) do
|
83
|
+
Apipie.get_method_description(UsersController, :update)
|
84
|
+
end
|
85
|
+
|
86
|
+
it "doesn't make the param required" do
|
87
|
+
required.should_not include :name
|
88
|
+
required.should_not include :pass
|
89
|
+
end
|
90
|
+
|
91
|
+
it "doesn't allow nil" do
|
92
|
+
allowed_nil.should_not include :name
|
93
|
+
allowed_nil.should_not include :pass
|
94
|
+
end
|
95
|
+
|
96
|
+
it "doesn't touch params with explicitly set allow_nil" do
|
97
|
+
allowed_nil.should_not include :membership
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
context "with explicitly setting action type in param group" do
|
102
|
+
let(:method_description) do
|
103
|
+
Apipie.get_method_description(UsersController, :admin_create)
|
104
|
+
end
|
105
|
+
|
106
|
+
it "makes the param required" do
|
107
|
+
required.should include :name
|
108
|
+
required.should include :pass
|
109
|
+
end
|
110
|
+
|
111
|
+
it "doesn't allow nil" do
|
112
|
+
allowed_nil.should_not include :name
|
113
|
+
allowed_nil.should_not include :pass
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe "param groups" do
|
4
|
+
|
5
|
+
it "lets reuse the params description in more actions" do
|
6
|
+
user_create_desc = Apipie["users#create"].params[:user]
|
7
|
+
user_create_params = user_create_desc.validator.hash_params_ordered.map(&:name)
|
8
|
+
|
9
|
+
user_update_desc = Apipie["users#update"].params[:user]
|
10
|
+
user_update_params = user_update_desc.validator.hash_params_ordered.map(&:name)
|
11
|
+
|
12
|
+
common = user_update_params & user_create_params
|
13
|
+
common.sort_by(&:to_s).should == user_update_params.sort_by(&:to_s)
|
14
|
+
end
|
15
|
+
|
16
|
+
it "allows using groups is nested param descriptions" do
|
17
|
+
user_create_desc = Apipie["users#update"].params[:user]
|
18
|
+
user_create_params = user_create_desc.validator.hash_params_ordered.map(&:name)
|
19
|
+
user_create_params.map(&:to_s).sort.should == %w[membership name pass]
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should allow adding additional params to group" do
|
23
|
+
user_create_desc = Apipie["users#create"].params[:user]
|
24
|
+
user_create_params = user_create_desc.validator.hash_params_ordered.map(&:name)
|
25
|
+
user_create_params.map(&:to_s).sort.should == %w[membership name pass permalink]
|
26
|
+
end
|
27
|
+
|
28
|
+
context "hash param" do
|
29
|
+
it "influences only its childs" do
|
30
|
+
Apipie["users#create"].params[:user].required.should be true
|
31
|
+
Apipie["users#update"].params[:user].required.should be true
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
it "lets you reuse a group definition from different controller" do
|
36
|
+
arch_v1_desc = Apipie["1.0#architectures#create"].params[:architecture]
|
37
|
+
arch_v1_params = arch_v1_desc.validator.hash_params_ordered.map(&:name)
|
38
|
+
|
39
|
+
arch_v2_desc = Apipie["2.0#architectures#create"].params[:architecture]
|
40
|
+
arch_v2_params = arch_v2_desc.validator.hash_params_ordered.map(&:name)
|
41
|
+
|
42
|
+
arch_v1_params.sort_by(&:to_s).should == arch_v2_params.sort_by(&:to_s)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
@@ -2,16 +2,18 @@ require "spec_helper"
|
|
2
2
|
|
3
3
|
describe Apipie::ResourceDescription do
|
4
4
|
|
5
|
+
let(:dsl_data) { ActionController::Base.send(:_apipie_dsl_data_init) }
|
6
|
+
|
5
7
|
describe "methods descriptions" do
|
6
8
|
|
7
9
|
before(:each) do
|
8
10
|
@resource = Apipie::ResourceDescription.new(ApplicationController, "dummy")
|
9
|
-
a = Apipie::MethodDescription.new(:a, @resource,
|
10
|
-
b = Apipie::MethodDescription.new(:b, @resource,
|
11
|
-
c = Apipie::MethodDescription.new(:c, @resource,
|
12
|
-
@resource.add_method_description
|
13
|
-
@resource.add_method_description
|
14
|
-
@resource.add_method_description
|
11
|
+
a = Apipie::MethodDescription.new(:a, @resource, dsl_data)
|
12
|
+
b = Apipie::MethodDescription.new(:b, @resource, dsl_data)
|
13
|
+
c = Apipie::MethodDescription.new(:c, @resource, dsl_data)
|
14
|
+
@resource.add_method_description(a)
|
15
|
+
@resource.add_method_description(b)
|
16
|
+
@resource.add_method_description(c)
|
15
17
|
end
|
16
18
|
|
17
19
|
it "should be ordered" do
|
@@ -25,4 +27,4 @@ describe Apipie::ResourceDescription do
|
|
25
27
|
end
|
26
28
|
|
27
29
|
end
|
28
|
-
end
|
30
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: apipie-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.18
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-02-
|
13
|
+
date: 2013-02-22 00:00:00.000000000Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
17
|
-
requirement: &
|
17
|
+
requirement: &10023700 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: 3.0.10
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *10023700
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: rspec-rails
|
28
|
-
requirement: &
|
28
|
+
requirement: &10023280 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *10023280
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: sqlite3
|
39
|
-
requirement: &
|
39
|
+
requirement: &10022820 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *10022820
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: minitest
|
50
|
-
requirement: &
|
50
|
+
requirement: &10022400 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: '0'
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *10022400
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: maruku
|
61
|
-
requirement: &
|
61
|
+
requirement: &10021980 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ! '>='
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: '0'
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *10021980
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: RedCloth
|
72
|
-
requirement: &
|
72
|
+
requirement: &10021560 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ! '>='
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
version: '0'
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *10021560
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: rake
|
83
|
-
requirement: &
|
83
|
+
requirement: &10047700 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
86
|
- - ! '>='
|
@@ -88,7 +88,7 @@ dependencies:
|
|
88
88
|
version: '0'
|
89
89
|
type: :development
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *10047700
|
92
92
|
description: Maintain your API documentation up to date!
|
93
93
|
email:
|
94
94
|
- pajkycz@gmail.com
|
@@ -99,12 +99,10 @@ extra_rdoc_files: []
|
|
99
99
|
files:
|
100
100
|
- .gitignore
|
101
101
|
- .rspec
|
102
|
-
- .rvmrc
|
103
102
|
- .travis.yml
|
104
103
|
- APACHE-LICENSE-2.0
|
105
104
|
- CHANGELOG
|
106
105
|
- Gemfile
|
107
|
-
- Gemfile.lock
|
108
106
|
- MIT-LICENSE
|
109
107
|
- NOTICE
|
110
108
|
- README.rst
|
@@ -207,6 +205,7 @@ files:
|
|
207
205
|
- spec/dummy/script/rails
|
208
206
|
- spec/lib/method_description_spec.rb
|
209
207
|
- spec/lib/param_description_spec.rb
|
208
|
+
- spec/lib/param_group_spec.rb
|
210
209
|
- spec/lib/resource_description_spec.rb
|
211
210
|
- spec/spec_helper.rb
|
212
211
|
homepage: http://github.com/Pajk/apipie-rails
|
@@ -280,5 +279,6 @@ test_files:
|
|
280
279
|
- spec/dummy/script/rails
|
281
280
|
- spec/lib/method_description_spec.rb
|
282
281
|
- spec/lib/param_description_spec.rb
|
282
|
+
- spec/lib/param_group_spec.rb
|
283
283
|
- spec/lib/resource_description_spec.rb
|
284
284
|
- spec/spec_helper.rb
|
data/.rvmrc
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
rvm use 1.8.7@apipie --create
|
data/Gemfile.lock
DELETED
@@ -1,117 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
apipie-rails (0.0.16)
|
5
|
-
rails (>= 3.0.10)
|
6
|
-
|
7
|
-
GEM
|
8
|
-
remote: http://rubygems.org/
|
9
|
-
specs:
|
10
|
-
RedCloth (4.2.9)
|
11
|
-
actionmailer (3.2.6)
|
12
|
-
actionpack (= 3.2.6)
|
13
|
-
mail (~> 2.4.4)
|
14
|
-
actionpack (3.2.6)
|
15
|
-
activemodel (= 3.2.6)
|
16
|
-
activesupport (= 3.2.6)
|
17
|
-
builder (~> 3.0.0)
|
18
|
-
erubis (~> 2.7.0)
|
19
|
-
journey (~> 1.0.1)
|
20
|
-
rack (~> 1.4.0)
|
21
|
-
rack-cache (~> 1.2)
|
22
|
-
rack-test (~> 0.6.1)
|
23
|
-
sprockets (~> 2.1.3)
|
24
|
-
activemodel (3.2.6)
|
25
|
-
activesupport (= 3.2.6)
|
26
|
-
builder (~> 3.0.0)
|
27
|
-
activerecord (3.2.6)
|
28
|
-
activemodel (= 3.2.6)
|
29
|
-
activesupport (= 3.2.6)
|
30
|
-
arel (~> 3.0.2)
|
31
|
-
tzinfo (~> 0.3.29)
|
32
|
-
activeresource (3.2.6)
|
33
|
-
activemodel (= 3.2.6)
|
34
|
-
activesupport (= 3.2.6)
|
35
|
-
activesupport (3.2.6)
|
36
|
-
i18n (~> 0.6)
|
37
|
-
multi_json (~> 1.0)
|
38
|
-
arel (3.0.2)
|
39
|
-
builder (3.0.0)
|
40
|
-
diff-lcs (1.1.3)
|
41
|
-
erubis (2.7.0)
|
42
|
-
hike (1.2.1)
|
43
|
-
i18n (0.6.0)
|
44
|
-
journey (1.0.4)
|
45
|
-
json (1.7.3)
|
46
|
-
mail (2.4.4)
|
47
|
-
i18n (>= 0.4.0)
|
48
|
-
mime-types (~> 1.16)
|
49
|
-
treetop (~> 1.4.8)
|
50
|
-
maruku (0.6.1)
|
51
|
-
syntax (>= 1.0.0)
|
52
|
-
mime-types (1.19)
|
53
|
-
minitest (3.2.0)
|
54
|
-
multi_json (1.3.6)
|
55
|
-
polyglot (0.3.3)
|
56
|
-
rack (1.4.1)
|
57
|
-
rack-cache (1.2)
|
58
|
-
rack (>= 0.4)
|
59
|
-
rack-ssl (1.3.2)
|
60
|
-
rack
|
61
|
-
rack-test (0.6.1)
|
62
|
-
rack (>= 1.0)
|
63
|
-
rails (3.2.6)
|
64
|
-
actionmailer (= 3.2.6)
|
65
|
-
actionpack (= 3.2.6)
|
66
|
-
activerecord (= 3.2.6)
|
67
|
-
activeresource (= 3.2.6)
|
68
|
-
activesupport (= 3.2.6)
|
69
|
-
bundler (~> 1.0)
|
70
|
-
railties (= 3.2.6)
|
71
|
-
railties (3.2.6)
|
72
|
-
actionpack (= 3.2.6)
|
73
|
-
activesupport (= 3.2.6)
|
74
|
-
rack-ssl (~> 1.3.2)
|
75
|
-
rake (>= 0.8.7)
|
76
|
-
rdoc (~> 3.4)
|
77
|
-
thor (>= 0.14.6, < 2.0)
|
78
|
-
rake (0.9.2.2)
|
79
|
-
rdoc (3.12)
|
80
|
-
json (~> 1.4)
|
81
|
-
rspec (2.11.0)
|
82
|
-
rspec-core (~> 2.11.0)
|
83
|
-
rspec-expectations (~> 2.11.0)
|
84
|
-
rspec-mocks (~> 2.11.0)
|
85
|
-
rspec-core (2.11.1)
|
86
|
-
rspec-expectations (2.11.1)
|
87
|
-
diff-lcs (~> 1.1.3)
|
88
|
-
rspec-mocks (2.11.1)
|
89
|
-
rspec-rails (2.11.0)
|
90
|
-
actionpack (>= 3.0)
|
91
|
-
activesupport (>= 3.0)
|
92
|
-
railties (>= 3.0)
|
93
|
-
rspec (~> 2.11.0)
|
94
|
-
sprockets (2.1.3)
|
95
|
-
hike (~> 1.2)
|
96
|
-
rack (~> 1.0)
|
97
|
-
tilt (~> 1.1, != 1.3.0)
|
98
|
-
sqlite3 (1.3.6)
|
99
|
-
syntax (1.0.0)
|
100
|
-
thor (0.15.4)
|
101
|
-
tilt (1.3.3)
|
102
|
-
treetop (1.4.12)
|
103
|
-
polyglot
|
104
|
-
polyglot (>= 0.3.1)
|
105
|
-
tzinfo (0.3.35)
|
106
|
-
|
107
|
-
PLATFORMS
|
108
|
-
ruby
|
109
|
-
|
110
|
-
DEPENDENCIES
|
111
|
-
RedCloth
|
112
|
-
apipie-rails!
|
113
|
-
maruku
|
114
|
-
minitest
|
115
|
-
rake
|
116
|
-
rspec-rails
|
117
|
-
sqlite3
|