agilib 0.1.2.beta2 → 0.1.2.beta3
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.
- checksums.yaml +4 -4
- data/lib/agilib/composer/templates/recipes/bootstrap.rb +21 -0
- data/lib/agilib/composer/templates/recipes/devise.rb +11 -4
- data/lib/agilib/composer/templates/recipes/gems.rb +3 -1
- data/lib/agilib/composer/templates/recipes/responders.rb +4 -0
- data/lib/agilib/composer/templates/recipes/rspec.rb +36 -0
- data/lib/agilib/composer/templates/runner.rb +1 -1
- data/lib/agilib/composer/templates/snippets/rspec/tokens_acceptance_spec.rb +41 -0
- data/lib/agilib/composer/templates/snippets/rspec/users_acceptance_spec.rb +85 -0
- data/lib/agilib/routing.rb +1 -1
- data/lib/agilib/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eae783f8900dd689879332bfb3d78dcddae1ff61
|
4
|
+
data.tar.gz: 56f13fc79a96b69461acbe4494469054276d0df4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bd147c6b22202b72a40e4a33818c93c912fdd7020f61e00258b684dfd70e71b5249a76a7966521a4a7e3a692279eca18d9869eaebc3183832a79ec0644b618fb
|
7
|
+
data.tar.gz: 4ff554db8d3d5f3b4b7955a6886a382da19c0418a66f885adbaa1e820428c8dab85765b8831b0d01446aedd478d062acab1212f2b4802754bbaae5b538d2f6cd
|
@@ -0,0 +1,21 @@
|
|
1
|
+
gem "bootstrap-generators"
|
2
|
+
|
3
|
+
templater.post_bundler do
|
4
|
+
|
5
|
+
generate 'bootstrap:install', '-f'
|
6
|
+
|
7
|
+
if defined? app_name
|
8
|
+
name = app_name
|
9
|
+
elsif defined? application_name
|
10
|
+
name = application_name
|
11
|
+
end
|
12
|
+
|
13
|
+
gsub_file "app/views/layouts/application.html.erb", "<title>Starter Template for Bootstrap</title>", "<title>#{name.capitalize} App</title>"
|
14
|
+
gsub_file "app/views/layouts/application.html.erb", '<%= link_to "Project name", "#", :class => "navbar-brand" %>', "<%= link_to \"#{name.capitalize} App\", agilib_root_path, :class => \"navbar-brand\" %>"
|
15
|
+
|
16
|
+
gsub_file "app/assets/stylesheets/bootstrap-variables.scss", '$navbar-inverse-bg: #222 !default;', "$navbar-inverse-bg: #0085a6 !default;"
|
17
|
+
gsub_file "app/assets/stylesheets/bootstrap-variables.scss", '$navbar-inverse-link-color: $gray-light !default;', "$navbar-inverse-link-color: #fff !default;"
|
18
|
+
gsub_file "app/assets/stylesheets/bootstrap-variables.scss", '$navbar-inverse-link-hover-color: #fff !default;', "$navbar-inverse-link-hover-color: $gray-light !default;"
|
19
|
+
gsub_file "app/assets/stylesheets/bootstrap-variables.scss", '$navbar-inverse-link-active-color: $navbar-inverse-link-hover-color !default;', "$navbar-inverse-link-active-color: #46a4bd !default;"
|
20
|
+
|
21
|
+
end
|
@@ -2,11 +2,18 @@
|
|
2
2
|
gem 'devise'
|
3
3
|
|
4
4
|
templater.post_bundler do
|
5
|
+
|
6
|
+
generate 'scaffold', 'user name'
|
7
|
+
|
8
|
+
rake 'db:migrate'
|
9
|
+
|
5
10
|
generate 'devise:install'
|
6
|
-
generate 'devise', "user name"
|
7
|
-
rake 'db:migrate'
|
8
|
-
generate 'devise:views'
|
9
11
|
|
12
|
+
generate 'devise', "user"
|
13
|
+
|
14
|
+
rake 'db:migrate'
|
15
|
+
|
16
|
+
generate 'devise:views'
|
10
17
|
|
11
18
|
devise_form_config = <<-TEXT
|
12
19
|
<%= f.input :name, :required => true, :autofocus => true %>
|
@@ -30,6 +37,6 @@ protected
|
|
30
37
|
TEXT
|
31
38
|
|
32
39
|
inject_into_file "app/controllers/application_controller.rb", devise_filter_config, :after => "protect_from_forgery with: :exception"
|
33
|
-
inject_into_file "app/controllers/application_controller.rb", "\n\
|
40
|
+
inject_into_file "app/controllers/application_controller.rb", "\n\n before_filter :configure_permitted_parameters, if: :devise_controller?\n\n ", :after => "class ApplicationController < ActionController::Base"
|
34
41
|
|
35
42
|
end
|
@@ -3,9 +3,14 @@ gem 'factory_girl_rails', :group => [:development, :test]
|
|
3
3
|
gem "database_cleaner", :group => :test
|
4
4
|
gem "email_spec", :group => :test
|
5
5
|
gem 'simplecov', :require => false, :group => :test
|
6
|
+
gem 'rspec_api_documentation', :group => [:development, :test]
|
7
|
+
gem 'raddocs', :github => "smartlogic/raddocs"
|
8
|
+
gem 'json_spec', :group => [:development, :test]
|
6
9
|
|
7
10
|
templater.post_bundler do
|
8
11
|
|
12
|
+
rake 'db:test:prepare'
|
13
|
+
|
9
14
|
spec_helper_path = 'spec/spec_helper.rb'
|
10
15
|
|
11
16
|
## ===============================================================
|
@@ -121,5 +126,36 @@ SimpleCov.start
|
|
121
126
|
remove_file "spec/models/user_spec.rb"
|
122
127
|
create_file "spec/models/user_spec.rb", templater.load_snippet('user_model_spec','rspec')
|
123
128
|
|
129
|
+
## ===============================================================
|
130
|
+
## RSPEC API DOCUMENTATION
|
131
|
+
## ===============================================================
|
132
|
+
|
133
|
+
say("\nConfigurando RSpec API Documentation...\n", :green)
|
134
|
+
|
135
|
+
inject_into_file "config/routes.rb", "\n\n get \"/docs\" => Raddocs::App, :anchor => false\n\n", :after => "agilib"
|
136
|
+
|
137
|
+
append_file spec_helper_path do
|
138
|
+
<<-TEXT
|
139
|
+
RspecApiDocumentation.configure do |config|
|
140
|
+
config.format = [:json]
|
141
|
+
config.keep_source_order = true
|
142
|
+
end
|
143
|
+
TEXT
|
144
|
+
end
|
145
|
+
|
146
|
+
create_file "spec/acceptance/users_spec.rb", templater.load_snippet('users_acceptance_spec','rspec')
|
147
|
+
create_file "spec/acceptance/tokens_spec.rb", templater.load_snippet('tokens_acceptance_spec','rspec')
|
148
|
+
|
149
|
+
generate 'docs:generate'
|
150
|
+
|
151
|
+
## ===============================================================
|
152
|
+
## USER SPECS
|
153
|
+
## ===============================================================
|
154
|
+
|
155
|
+
say("\nConfigurando Testes para User...\n", :green)
|
156
|
+
|
157
|
+
remove_file "spec/models/user_spec.rb"
|
158
|
+
create_file "spec/models/user_spec.rb", templater.load_snippet('user_model_spec','rspec')
|
159
|
+
|
124
160
|
|
125
161
|
end
|
@@ -4,7 +4,7 @@ require File.join(File.expand_path('./../../../../', __FILE__), 'agilib.rb')
|
|
4
4
|
require 'composer'
|
5
5
|
require File.join(File.dirname(__FILE__), 'core_ext.rb')
|
6
6
|
|
7
|
-
%w(default gems responders simple_form devise token push rspec cancan better_errors).each do |recipe|
|
7
|
+
%w(default gems responders simple_form bootstrap devise token push rspec cancan better_errors).each do |recipe|
|
8
8
|
apply templater.recipe(recipe)
|
9
9
|
end
|
10
10
|
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rspec_api_documentation/dsl'
|
3
|
+
|
4
|
+
resource "Tokens" do
|
5
|
+
header "Accept", "application/json"
|
6
|
+
header "Content-Type", "application/json"
|
7
|
+
|
8
|
+
let(:token) { "" }
|
9
|
+
let(:user){ create(:user) }
|
10
|
+
|
11
|
+
# POST /tokens
|
12
|
+
post "/tokens" do
|
13
|
+
|
14
|
+
parameter :email, "User email", :required => true
|
15
|
+
parameter :password, "User Password", :required => true
|
16
|
+
|
17
|
+
let(:email) { user.email }
|
18
|
+
let(:password) { user.password }
|
19
|
+
|
20
|
+
let(:raw_post) { params.to_json }
|
21
|
+
|
22
|
+
example_request "Getting an session token" do
|
23
|
+
expect(status).to eq(200)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
# DELETE /tokens
|
28
|
+
delete "/tokens" do
|
29
|
+
|
30
|
+
parameter :user_token, "The token", :required => true
|
31
|
+
|
32
|
+
let(:user_token) { user.authentication_token }
|
33
|
+
|
34
|
+
let(:raw_post) { params.to_json }
|
35
|
+
|
36
|
+
example_request "Deleting an token" do
|
37
|
+
expect(status).to eq(200)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
@@ -0,0 +1,85 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'rspec_api_documentation/dsl'
|
3
|
+
|
4
|
+
resource "Users" do
|
5
|
+
header "Accept", "application/json"
|
6
|
+
header "Content-Type", "application/json"
|
7
|
+
|
8
|
+
let(:current_user) { create(:user) }
|
9
|
+
|
10
|
+
let(:user_token) { current_user.authentication_token if current_user }
|
11
|
+
let(:user_email) { current_user.email if current_user }
|
12
|
+
|
13
|
+
# POST /users
|
14
|
+
post "/users" do
|
15
|
+
parameter :name, "Name of user", :required => true, :scope => :user
|
16
|
+
parameter :email, "Email of user", :required => true, :scope => :user
|
17
|
+
parameter :password, "Password", :required => true, :scope => :user
|
18
|
+
parameter :password_confirmation, "Password Confirmation", :required => true, :scope => :user
|
19
|
+
parameter :user_token, "User token", :required => true
|
20
|
+
parameter :user_email, "User email", :required => true
|
21
|
+
|
22
|
+
let(:name) { "User Test" }
|
23
|
+
let(:email) { "usertest@email.com" }
|
24
|
+
let(:password) { "password1234" }
|
25
|
+
let(:password_confirmation) { "password1234" }
|
26
|
+
|
27
|
+
let(:raw_post) do
|
28
|
+
params.to_json
|
29
|
+
end
|
30
|
+
|
31
|
+
example_request "Creating an user" do
|
32
|
+
expect(status).to eq(201)
|
33
|
+
|
34
|
+
current_user = JSON.parse(response_body)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
# GET /users/:id
|
39
|
+
get "/users/:id" do
|
40
|
+
parameter :user_token, "User token", :required => true
|
41
|
+
parameter :user_email, "User email", :required => true
|
42
|
+
|
43
|
+
let(:id) { current_user.id }
|
44
|
+
|
45
|
+
let(:raw_post) { params.to_json }
|
46
|
+
|
47
|
+
example_request "Getting a specific user" do
|
48
|
+
status.should == 200
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
# PUT /users/:id
|
53
|
+
put "/users/:id" do
|
54
|
+
parameter :name, "Name of user", :scope => :user
|
55
|
+
parameter :email, "Email of user", :scope => :user
|
56
|
+
parameter :password, "Email of user", :scope => :user
|
57
|
+
parameter :password_confirmation, "Email of user", :scope => :user
|
58
|
+
parameter :user_token, "User token", :required => true
|
59
|
+
parameter :user_email, "User email", :required => true
|
60
|
+
|
61
|
+
let(:id) { current_user.id }
|
62
|
+
let(:name) { "Updated Name" }
|
63
|
+
|
64
|
+
let(:raw_post) { params.to_json }
|
65
|
+
|
66
|
+
example_request "Updating an user" do
|
67
|
+
expect(status).to eq(204)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
# DELETE /users/:id
|
72
|
+
delete "/users/:id" do
|
73
|
+
parameter :id, "Id of user", :required => true, :scope => :user
|
74
|
+
parameter :user_token, "User token", :required => true
|
75
|
+
parameter :user_email, "User email", :required => true
|
76
|
+
|
77
|
+
let(:raw_post) { params.to_json }
|
78
|
+
let(:id) { current_user.id }
|
79
|
+
|
80
|
+
example_request "Deleting an user" do
|
81
|
+
status.should == 204
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
end
|
data/lib/agilib/routing.rb
CHANGED
data/lib/agilib/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: agilib
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.2.
|
4
|
+
version: 0.1.2.beta3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marcos Junior
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-01-
|
11
|
+
date: 2014-01-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: executable-hooks
|
@@ -191,6 +191,7 @@ files:
|
|
191
191
|
- lib/agilib/composer/templater.rb
|
192
192
|
- lib/agilib/composer/templates/core_ext.rb
|
193
193
|
- lib/agilib/composer/templates/recipes/better_errors.rb
|
194
|
+
- lib/agilib/composer/templates/recipes/bootstrap.rb
|
194
195
|
- lib/agilib/composer/templates/recipes/cancan.rb
|
195
196
|
- lib/agilib/composer/templates/recipes/default.rb
|
196
197
|
- lib/agilib/composer/templates/recipes/devise.rb
|
@@ -201,7 +202,9 @@ files:
|
|
201
202
|
- lib/agilib/composer/templates/recipes/simple_form.rb
|
202
203
|
- lib/agilib/composer/templates/recipes/token.rb
|
203
204
|
- lib/agilib/composer/templates/runner.rb
|
205
|
+
- lib/agilib/composer/templates/snippets/rspec/tokens_acceptance_spec.rb
|
204
206
|
- lib/agilib/composer/templates/snippets/rspec/user_model_spec.rb
|
207
|
+
- lib/agilib/composer/templates/snippets/rspec/users_acceptance_spec.rb
|
205
208
|
- lib/agilib/engine.rb
|
206
209
|
- lib/agilib/push_notification/model.rb
|
207
210
|
- lib/agilib/push_notification/platforms/android.rb
|