agilib 0.1.7 → 0.1.8

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: 7a02f38c6455b68e441786611c3517e57f1f2728
4
- data.tar.gz: af96f96e3fb27a279a9d4a9a9d525bf250e5cc3b
3
+ metadata.gz: fc9deaf2be5e4a69fc444229b6ba64f9ecf2aef4
4
+ data.tar.gz: 2ec8ec06863cbbe8231aa8aa024f6a9e71a8a38c
5
5
  SHA512:
6
- metadata.gz: d2fb50bd99e0161ed38234329b2f2be61b92a272f405f9c65d441fbedef74f27439560d8238fc25aa7c757c8903b58764f64eb244679fa1e9ed725608b53adf2
7
- data.tar.gz: 2672e7113bb0119f2bf289e381d31ab34c751e0f039b8a59c69c570fac2ba6fb589d6b8103800cdb656aa807def31ea69f57774d4dd13d77c663761411dc2808
6
+ metadata.gz: 9e34f93cb5b3ce6b062b005abb29a82c95b73461ac8796cf9b3e6e26b383b7035ae66211c52983ea21e7ed5be48aae39813e1854c129b0efb00ed7d0cc403d0b
7
+ data.tar.gz: ae8a8a786913b14e79471e80f8c82f79f55d3804889a3f831b93afc39f2bf20f42f13be345367ce28343183dcf18b9af0b3b1364810e6a3824cce29fff0de445
data/.DS_Store CHANGED
Binary file
data/app/.DS_Store CHANGED
Binary file
@@ -0,0 +1,10 @@
1
+ <% resources.each do |resource| %>
2
+ <section class="example" id="<%= id_for(resource['name']) %>">
3
+ <h2 class="resource-name"><%= resource['name'] %></h2>
4
+ <% resource['examples'].each do |example| %>
5
+ <article id="<%= id_for(example['link'].gsub('.json', '')) %>">
6
+ <%= render partial: 'example', locals: { example: set_example(example['link'].gsub('.json', '')) } %>
7
+ </article>
8
+ <% end %>
9
+ </section>
10
+ <% end %>
@@ -0,0 +1,4 @@
1
+ <section class="body">
2
+ <h4>Body</h4>
3
+ <pre><code class="<%= type %>"><%= formatted_body(body, type) %></code></pre>
4
+ </section>
@@ -0,0 +1,4 @@
1
+ <section class="curl">
2
+ <h4>cURL</h4>
3
+ <pre><%= request['curl'] %></pre>
4
+ </section>
@@ -0,0 +1,24 @@
1
+ <h3><%= example['description'] %></h3>
2
+
3
+ <%= render partial: 'apitome/docs/explanation', locals: {explaination: example['explanation']} if example['explanation'] %>
4
+ <%= render partial: 'apitome/docs/params', locals: {params: example['parameters']} if example['parameters'].size > 0 %>
5
+
6
+ <% example['requests'].each_with_index do |request, index| %>
7
+ <div id="<%= "request-#{index}" %>">
8
+ <h3>Request</h3>
9
+ <div class="request">
10
+ <%= render partial: 'apitome/docs/route', locals: {request: request, index: index} %>
11
+ <%= render partial: 'apitome/docs/headers', locals: {request: request, index: index, headers: request['request_headers']} %>
12
+ <%= render partial: 'apitome/docs/query', locals: {request: request, index: index} unless request['request_query_parameters'].empty? %>
13
+ <%= render partial: 'apitome/docs/body', locals: {request: request, index: index, body: request['request_body'], type: request['request_content_type']} if request['request_body'] %>
14
+ <%= render partial: 'apitome/docs/curl', locals: {request: request, index: index} if request['curl'] %>
15
+ </div>
16
+
17
+ <h3>Response</h3>
18
+ <div class="response">
19
+ <%= render partial: 'apitome/docs/status', locals: {request: request, index: index} %>
20
+ <%= render partial: 'apitome/docs/headers', locals: {request: request, index: index, headers: request['response_headers']} %>
21
+ <%= render partial: 'apitome/docs/body', locals: {request: request, index: index, body: request['response_body'], type: request['response_content_type']} if request['response_body'] %>
22
+ </div>
23
+ </div>
24
+ <% end %>
@@ -0,0 +1,3 @@
1
+ <p class="explanation">
2
+ <%= raw example['explanation'] %>
3
+ </p>
@@ -0,0 +1,8 @@
1
+ <header class="navbar navbar-fixed-top docs-nav" role="banner">
2
+ <div class="container">
3
+ <div class="navbar-header">
4
+ <h1 class="navbar-brand"><a href="<%= Apitome.configuration.mount_at %>"><%= Apitome.configuration.title %></a></h1>
5
+ </div>
6
+ <p class="navbar-text pull-right"><%= link_to '<img src="http://agivis.com.br/assets/logo_agivis-af5e30b64fe8cc778c0b0010b613e88c.jpg" alt="" height="25">'.html_safe, "http://www.agivis.com.br", :target => "_blank" %></hp>
7
+ </div>
8
+ </header>
@@ -0,0 +1,4 @@
1
+ <section class="headers">
2
+ <h4>Headers</h4>
3
+ <pre><code class="http"><%= headers.map{ |k,v| "#{k}: #{v}" }.join("\n") %></code></pre>
4
+ </section>
@@ -0,0 +1,28 @@
1
+ <ul class="nav sidenav">
2
+ <li>
3
+ <% if Apitome.configuration.single_page %>
4
+ <a href="#readme">README</a>
5
+ <% else %>
6
+ <a href="<%= Apitome.configuration.mount_at %>">README</a>
7
+ <% end %>
8
+ </li>
9
+ <% resources.each do |resource| %>
10
+ <li>
11
+ <% if Apitome.configuration.single_page %>
12
+ <a href="#<%= id_for(resource['examples'].first['link']) %>"><%= resource['name'] %></a>
13
+ <ul class="nav">
14
+ <% resource['examples'].each do |example| %>
15
+ <li><%= link_to example['description'], "##{id_for(example['link'])}" %></li>
16
+ <% end %>
17
+ </ul>
18
+ <% else %>
19
+ <li><%= link_to resource['name'], "#{Apitome.configuration.mount_at}/#{resource['examples'].first['link'].gsub(/\.json$/, '')}" %></li>
20
+ <ul class="nav">
21
+ <% resource['examples'].each do |example| %>
22
+ <li><%= link_to example['description'], "#{Apitome.configuration.mount_at}/#{example['link'].gsub(/\.json$/, '')}" %></li>
23
+ <% end %>
24
+ </ul>
25
+ <% end %>
26
+ </li>
27
+ <% end %>
28
+ </ul>
@@ -0,0 +1,30 @@
1
+ <section class="params">
2
+ <h3>Parameters</h3>
3
+ <div class="table-responsive">
4
+ <table class="table table-bordered">
5
+ <tr>
6
+ <% param_headers(params).each do |title| %>
7
+ <th><%= title %></th>
8
+ <% end %>
9
+ </tr>
10
+ <% params.each do |param| %>
11
+ <tr>
12
+ <td class="name">
13
+ <% if param['scope'] %>
14
+ <%= "#{param['scope']}[#{param['name']}]" %>
15
+ <% else %>
16
+ <%= param['name'] %>
17
+ <% end %>
18
+ <% if param['required'] %>
19
+ <span class="label label-danger required">required</span>
20
+ <% end %>
21
+ </td>
22
+ <td class="description"><%= param['description'] %></td>
23
+ <% param_extras(params).each do |extra| %>
24
+ <td class="extra"><%= param[extra] %></td>
25
+ <% end %>
26
+ </tr>
27
+ <% end %>
28
+ </table>
29
+ </div>
30
+ </section>
@@ -0,0 +1,4 @@
1
+ <section class="query-parameters">
2
+ <h4>Query Parameters</h4>
3
+ <pre><%= request['request_query_parameters'].map{ |k,v| "#{k}=#{v}" }.join("\n") %></pre>
4
+ </section>
@@ -0,0 +1,4 @@
1
+ <section class="route">
2
+ <h4>Route</h4>
3
+ <pre><%= "#{request['request_method']} #{request['request_path']}" %></pre>
4
+ </section>
@@ -0,0 +1,4 @@
1
+ <section class="status">
2
+ <h4>Status</h4>
3
+ <pre><code class="http"><%= request['response_status'] %></code></pre>
4
+ </section>
@@ -0,0 +1,6 @@
1
+ <section class="readme" id="readme">
2
+ <article>
3
+ <%= raw formatted_readme %>
4
+ </article>
5
+ </section>
6
+ <%= render 'all_examples' if Apitome.configuration.single_page %>
@@ -0,0 +1,2 @@
1
+ <h2 class="resource-name"><%= resource['name'] %></h2>
2
+ <%= render 'example' %>
data/lib/.DS_Store CHANGED
Binary file
@@ -0,0 +1,13 @@
1
+ gem 'apitome'
2
+
3
+ if defined? app_name
4
+ name = app_name
5
+ elsif defined? application_name
6
+ name = application_name
7
+ end
8
+
9
+ templater.post_bundler do
10
+ generate 'apitome:install'
11
+
12
+ gsub_file 'config/initializers/apitome.rb', 'Apitome Documentation', "#{name.humanize} Api Documentation"
13
+ end
@@ -1,9 +1,9 @@
1
1
  # encoding: utf-8
2
2
  templater.post_bundler do
3
3
 
4
- if Agilib::Composer.options[:all] || yes?("\nO projeto deverá ter Notificação por Push? [yes,no]", :green)
4
+ # if Agilib::Composer.options[:all] || yes?("\nO projeto deverá ter Notificação por Push? [yes,no]", :green)
5
5
 
6
- do_configure = yes?("\nDeseja configurar agora? [yes,no]", :green)
6
+ do_configure = yes?("\nDeseja configurar o módulo Push Notification agora? [yes,no]", :green)
7
7
 
8
8
  generate 'agilib:push'
9
9
  rake 'db:migrate'
@@ -42,5 +42,5 @@ templater.post_bundler do
42
42
 
43
43
  end
44
44
 
45
- end
45
+ # end
46
46
  end
@@ -6,7 +6,6 @@ gem "database_cleaner", :group => :test
6
6
  gem "email_spec", :group => :test
7
7
  gem 'simplecov', :require => false, :group => :test
8
8
  gem 'rspec_api_documentation', :group => [:development, :test]
9
- gem 'raddocs', :github => "smartlogic/raddocs"
10
9
  gem 'json_spec', :group => [:development, :test]
11
10
 
12
11
  templater.post_bundler do
@@ -136,13 +135,11 @@ SimpleCov.start
136
135
 
137
136
  say("\nConfigurando RSpec API Documentation...\n", :green)
138
137
 
139
- inject_into_file "config/routes.rb", "\n\n get \"/docs\" => Raddocs::App, :anchor => false\n\n", :after => "agilib"
140
-
141
138
  append_file spec_helper_path do
142
139
  <<-TEXT
143
140
  RspecApiDocumentation.configure do |config|
144
141
  config.format = [:json]
145
- config.keep_source_order = true
142
+ config.keep_source_order = false
146
143
  end
147
144
  TEXT
148
145
  end
@@ -1,10 +1,10 @@
1
1
  # encoding: utf-8
2
2
  templater.post_bundler do
3
3
 
4
- if Agilib::Composer.options[:all] || yes?("\nO projeto deverá ter Autenticação por Token? [yes,no]\n", :green)
4
+ # if Agilib::Composer.options[:all] || yes?("\nO projeto deverá ter Autenticação por Token? [yes,no]\n", :green)
5
5
  say("\nConfigurando o módulo Token Authenticatable... \n\n", :green)
6
6
  generate 'agilib:token'
7
7
  rake 'db:migrate'
8
- end
8
+ # end
9
9
 
10
10
  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 bootstrap rspec devise token push cancan better_errors layout finalize).each do |recipe|
7
+ %w(default gems responders simple_form bootstrap rspec apitome devise token push cancan better_errors layout finalize).each do |recipe|
8
8
  apply templater.recipe(recipe)
9
9
  end
10
10
 
@@ -1,7 +1,9 @@
1
+ # encoding: utf-8
2
+
1
3
  require 'spec_helper'
2
4
  require 'rspec_api_documentation/dsl'
3
5
 
4
- resource "Tokens" do
6
+ resource "1 - Tokens de Autenticação" do
5
7
  header "Accept", "application/json"
6
8
  header "Content-Type", "application/json"
7
9
 
@@ -11,15 +13,29 @@ resource "Tokens" do
11
13
  # POST /tokens
12
14
  post "/tokens" do
13
15
 
14
- parameter :email, "User email", :required => true
15
- parameter :password, "User Password", :required => true
16
+ parameter :email, "Email do Usuário", :required => true
17
+ parameter :password, "Senha do Usuário", :required => true
16
18
 
17
19
  let(:email) { user.email }
18
20
  let(:password) { user.password }
19
21
 
20
22
  let(:raw_post) { params.to_json }
21
23
 
22
- example_request "Getting an session token" do
24
+ example_request "1.1 Solicitar Token de Autenticação" do
25
+ expect(status).to eq(200)
26
+ end
27
+ end
28
+
29
+ # GET /tokens
30
+ get "/tokens/check" do
31
+
32
+ parameter :user_token, "Token de Autenticação", :required => true
33
+
34
+ let(:user_token) { user.authentication_token }
35
+
36
+ let(:raw_post) { params.to_json }
37
+
38
+ example_request "1.2 Checar validade do Token" do
23
39
  expect(status).to eq(200)
24
40
  end
25
41
  end
@@ -27,13 +43,13 @@ resource "Tokens" do
27
43
  # DELETE /tokens
28
44
  delete "/tokens" do
29
45
 
30
- parameter :auth_token, "The token", :required => true
46
+ parameter :user_token, "Token de Autenticação", :required => true
31
47
 
32
- let(:auth_token) { user.authentication_token }
48
+ let(:user_token) { user.authentication_token }
33
49
 
34
50
  let(:raw_post) { params.to_json }
35
51
 
36
- example_request "Deleting an token" do
52
+ example_request "1.3 Remover Token de Autenticação" do
37
53
  expect(status).to eq(200)
38
54
  end
39
55
  end
@@ -1,23 +1,23 @@
1
+ # encoding: utf-8
2
+
1
3
  require 'spec_helper'
2
4
  require 'rspec_api_documentation/dsl'
3
5
 
4
- resource "Users" do
6
+ resource "2 - Usuários" do
5
7
  header "Accept", "application/json"
6
8
  header "Content-Type", "application/json"
7
9
 
8
10
  let(:current_user) { create(:user) }
9
11
 
10
- let(:auth_token) { current_user.authentication_token if current_user }
11
- let(:auth_email) { current_user.email if current_user }
12
+ let(:user_token) { current_user.authentication_token if current_user }
13
+ let(:user_email) { current_user.email if current_user }
12
14
 
13
15
  # POST /users
14
16
  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 :auth_token, "User token", :required => true
20
- parameter :auth_email, "User email", :required => true
17
+ parameter :name, "Nome do usuário", :required => true, :scope => "user"
18
+ parameter :email, "E-mail do usuário", :required => true, :scope => "user"
19
+ parameter :password, "Senha do usuário", :required => true, :scope => "user"
20
+ parameter :password_confirmation, "Confirmação da Senha", :required => true, :scope => "user"
21
21
 
22
22
  let(:name) { "User Test" }
23
23
  let(:email) { "usertest@email.com" }
@@ -25,61 +25,67 @@ resource "Users" do
25
25
  let(:password_confirmation) { "password1234" }
26
26
 
27
27
  let(:raw_post) do
28
- params.to_json
28
+ # puts params.to_json
29
+ params.to_json
29
30
  end
30
31
 
31
- example_request "Creating an user" do
32
+ example_request "2.1 Criação de um usuário" do
33
+ # puts response_body
32
34
  expect(status).to eq(201)
33
35
 
34
36
  current_user = JSON.parse(response_body)
35
37
  end
36
38
  end
37
39
 
38
- # GET /users/:id
39
- get "/users/:id" do
40
- parameter :auth_token, "User token", :required => true
41
- parameter :auth_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
40
  # PUT /users/:id
53
41
  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 :auth_token, "User token", :required => true
59
- parameter :auth_email, "User email", :required => true
42
+ parameter :name, "Nome do usuário", :required => false, :scope => "user"
43
+ parameter :email, "E-mail do usuário", :required => false, :scope => "user"
44
+ parameter :password, "Senha do usuário", :required => false, :scope => "user"
45
+ parameter :password_confirmation, "Confirmação da Senha", :required => true, :scope => "user"
46
+ parameter :user_token, "Token de Autenticação", :required => true
47
+ parameter :user_email, "Email de Autenticação", :required => true
60
48
 
61
49
  let(:id) { current_user.id }
62
50
  let(:name) { "Updated Name" }
63
51
 
64
52
  let(:raw_post) { params.to_json }
65
53
 
66
- example_request "Updating an user" do
54
+ example_request "2.2 Alteração do Perfil" do
55
+ puts response_body
67
56
  expect(status).to eq(204)
57
+
68
58
  end
69
59
  end
70
60
 
71
- # DELETE /users/:id
72
- delete "/users/:id" do
73
- parameter :id, "Id of user", :required => true, :scope => :user
74
- parameter :auth_token, "User token", :required => true
75
- parameter :auth_email, "User email", :required => true
61
+ # # GET /users/:id
62
+ # get "/users/:id" do
63
+ # parameter :user_token, "User token", :required => true
64
+ # parameter :user_email, "User email", :required => true
76
65
 
77
- let(:raw_post) { params.to_json }
78
- let(:id) { current_user.id }
66
+ # let(:id) { current_user.id }
79
67
 
80
- example_request "Deleting an user" do
81
- status.should == 204
82
- end
83
- end
68
+ # example_request "Getting a specific user" do
69
+
70
+ # puts response_body
71
+
72
+ # response_body.should == current_user.to_json
73
+ # status.should == 200
74
+ # end
75
+ # end
76
+
77
+ # # DELETE /users/:id
78
+ # delete "/users/:id" do
79
+ # parameter :id, "Id of user", :required => true, :scope => :user
80
+ # parameter :user_token, "User token", :required => true
81
+ # parameter :user_email, "User email", :required => true
82
+
83
+ # let(:raw_post) { params.to_json }
84
+ # let(:id) { user.id }
85
+
86
+ # example_request "Deleting an user" do
87
+ # status.should == 204
88
+ # end
89
+ # end
84
90
 
85
91
  end
@@ -2,7 +2,7 @@ module Agilib
2
2
  module Version
3
3
  MAJOR = 0
4
4
  MINOR = 1
5
- PATCH = 7
5
+ PATCH = 8
6
6
  BUILD = ''
7
7
 
8
8
  STRING = [MAJOR, MINOR, PATCH].compact.join('.')
@@ -42,7 +42,7 @@ Agilib.setup do |config|
42
42
  #
43
43
  # Default: {:user_token => :user_token, :user_email => :user_email}
44
44
  #
45
- options.auth_params = {:user_token => :auth_token, :user_email => :auth_email}
45
+ options.auth_params = {:user_token => :user_token, :user_email => :user_email}
46
46
 
47
47
  # ===============================================================================
48
48
  # Define quais parâmetros serão passados para solicitar o token
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.7
4
+ version: 0.1.8
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-23 00:00:00.000000000 Z
11
+ date: 2014-01-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: executable-hooks
@@ -184,6 +184,20 @@ files:
184
184
  - app/views/agilib/devices/show.json.jbuilder
185
185
  - app/views/agilib/welcome/index.html
186
186
  - app/views/agilib/welcome/index.html.erb
187
+ - app/views/apitome/docs/_all_examples.html.erb
188
+ - app/views/apitome/docs/_body.html.erb
189
+ - app/views/apitome/docs/_curl.html.erb
190
+ - app/views/apitome/docs/_example.html.erb
191
+ - app/views/apitome/docs/_explanation.html.erb
192
+ - app/views/apitome/docs/_header.html.erb
193
+ - app/views/apitome/docs/_headers.html.erb
194
+ - app/views/apitome/docs/_navigation.html.erb
195
+ - app/views/apitome/docs/_params.html.erb
196
+ - app/views/apitome/docs/_query.html.erb
197
+ - app/views/apitome/docs/_route.html.erb
198
+ - app/views/apitome/docs/_status.html.erb
199
+ - app/views/apitome/docs/index.html.erb
200
+ - app/views/apitome/docs/show.html.erb
187
201
  - bin/agilib
188
202
  - lib/.DS_Store
189
203
  - lib/agilib.rb
@@ -192,6 +206,7 @@ files:
192
206
  - lib/agilib/composer/composer.rb
193
207
  - lib/agilib/composer/templater.rb
194
208
  - lib/agilib/composer/templates/core_ext.rb
209
+ - lib/agilib/composer/templates/recipes/apitome.rb
195
210
  - lib/agilib/composer/templates/recipes/better_errors.rb
196
211
  - lib/agilib/composer/templates/recipes/bootstrap.rb
197
212
  - lib/agilib/composer/templates/recipes/cancan.rb