agilib 0.1.7 → 0.1.8

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 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