agilib 0.1.2.beta2 → 0.1.2.beta3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 453f80e7bcf6135ec21713190c439c6fbafe010e
4
- data.tar.gz: 3d6e0e5c0cdc63fe3b4078733f202e7bc23d9e58
3
+ metadata.gz: eae783f8900dd689879332bfb3d78dcddae1ff61
4
+ data.tar.gz: 56f13fc79a96b69461acbe4494469054276d0df4
5
5
  SHA512:
6
- metadata.gz: d38ac3f38cbdaf2bfc6b0fc3142bb7d9c64356b6aa256aa55a91d5c180a46b4e51297f5dfb4c9521b0431935d80b3ae19c73f891b398c7e35bc26b1df28a64a9
7
- data.tar.gz: 2addc32eb908cd682a0233faa2e24c928d48b30fdb59eca060de6f7cb5549c5fcf13da9d6fc0fef49826b56cd7d0f07a01c6448307614b8ebd7e7f36e9ee55a2
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\nbefore_filter :configure_permitted_parameters, if: :devise_controller?", :after => "class ApplicationController < ActionController::Base"
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
@@ -4,4 +4,6 @@ gem 'will_paginate', '~> 3.0'
4
4
  gem 'will_paginate-bootstrap'
5
5
 
6
6
  gem 'geocoder'
7
- gem "paperclip", "~> 3.0"
7
+ gem "paperclip", "~> 3.0"
8
+
9
+ gsub_file "Gemfile", "gem 'coffee-rails'", "#gem 'coffee-rails'"
@@ -3,4 +3,8 @@ gem 'responders'
3
3
 
4
4
  templater.post_bundler do
5
5
  generate 'responders:install'
6
+
7
+
8
+ gsub_file "app/controllers/application_controller.rb", 'respond_to :html', 'respond_to :html, :json'
9
+
6
10
  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
@@ -5,7 +5,7 @@ module Agilib
5
5
  def agilib
6
6
 
7
7
  if Agilib.rails4? && Rails.env.development?
8
- get "/" => "agilib/welcome#index"
8
+ root :to => "agilib/welcome#index", :as => :agilib_root
9
9
  end
10
10
 
11
11
  if Agilib.use_modules[:token_authenticatable].present?
@@ -3,7 +3,7 @@ module Agilib
3
3
  MAJOR = 0
4
4
  MINOR = 1
5
5
  PATCH = 2
6
- BUILD = 'beta2'
6
+ BUILD = 'beta3'
7
7
 
8
8
  STRING = [MAJOR, MINOR, PATCH, BUILD].compact.join('.')
9
9
  end
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.beta2
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-16 00:00:00.000000000 Z
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