api_doc_generation 0.0.3 → 0.0.4

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: 8882ab2b94eb3d0e8d3d8c8b1e69bd1e6d9cc05a
4
- data.tar.gz: 86afba3bc54b5f7176790fee3d38382e99e65967
3
+ metadata.gz: 71a28c541f63c63c6e7c2f272fca44b43e14273f
4
+ data.tar.gz: 020955f784ca17f2bbe71dd010e87ed8e37a1b7f
5
5
  SHA512:
6
- metadata.gz: 56a4579f4c0588810630e14c6b29f119bed291da1fb0091f6869db3049fdd39bd47d8eb14e18dfc6c894bd3df404343b2c207551a1db57c9cb4e35376063f158
7
- data.tar.gz: 6ed5f5416e15c92c1e7206ba5a193a6c49ca0d96c0cfda82f4217ec4ade886653f4add26c8b7ee3c747841083761277231c8d902b78d231321de2b25386af65b
6
+ metadata.gz: f01c633f69fa3b9e097ea7f4d196602a8c85e0c92fd023984eeb4036dcac1094e38268617ab942a973873fac3bc4f151daf1950503e1cf96a0c70ba54c63c5af
7
+ data.tar.gz: 0b5b2dc9495774abd017bc494983bd451c9cde1513786d726136cd0bf6668627871452f4ee9aee3ad69281eebab1b47bc95c394307d49fd0cb5907b1823ced07
@@ -1,3 +1,3 @@
1
1
  module ApiDocGeneration
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -0,0 +1,27 @@
1
+ # encoding: utf-8
2
+
3
+ module ApiDocGeneration; class ViewHelper
4
+ def self.render(template, args = {})
5
+ template.result(self.new(args).obj_binding)
6
+ end
7
+
8
+
9
+ # {:a => 1, :b => 2}
10
+ def initialize(args)
11
+ args.each do |key, val|
12
+ self.instance_variable_set("@#{key}", val)
13
+ end
14
+ end
15
+
16
+
17
+ def obj_binding
18
+ binding
19
+ end
20
+
21
+
22
+
23
+ ################## Helper #######################
24
+ def action_identifer(controller_name, action_name)
25
+ "action-#{Digest::MD5.hexdigest(controller_name)}-#{action_name}"
26
+ end
27
+ end; end
@@ -1,4 +1,8 @@
1
+ require 'digest'
2
+
1
3
  require "api_doc_generation/version"
4
+ require 'api_doc_generation/view_helper'
5
+
2
6
 
3
7
  if defined? Rake
4
8
  require "rake/api_doc_generation"
@@ -145,12 +149,10 @@ module ApiDocGeneration; class Generation
145
149
  template = ERB.new(
146
150
  File.read(File.expand_path('../../templates/doc.html.erb', __FILE__))
147
151
  )
148
- doc_binding = Object.new.instance_eval do
149
- @documents = controller_documents
150
- binding
151
- end
152
152
 
153
- @result = template.result(doc_binding)
153
+ @result = ViewHelper.render(template, {
154
+ :documents => controller_documents
155
+ })
154
156
  end
155
157
 
156
158
  end; end
@@ -67,7 +67,11 @@
67
67
 
68
68
  <ul class='ul-controller'>
69
69
  <% controller[:actions].each do |action| %>
70
- <li><a href='#action-<%= controller[:klass] %>-<%= action[:name] %>'><%= action[:desc] %></a></li>
70
+ <li>
71
+ <a href='#<%= action_identifer(controller[:klass], action[:name]) %>'>
72
+ <%= action[:desc] %>
73
+ </a>
74
+ </li>
71
75
  <% end %>
72
76
  </ul>
73
77
 
@@ -82,7 +86,7 @@
82
86
 
83
87
  <% controller[:actions].each_with_index do |action, i| %>
84
88
  <div class='action action-<%= i % 2 == 0 ? 'even' : 'odd' %>'
85
- id='#action-<%= controller[:klass] %>-<%= action[:name] %>'>
89
+ id='<%= action_identifer(controller[:klass], action[:name]) %>'>
86
90
  <strong class='desc-one'><%= action[:desc] %></strong>
87
91
 
88
92
  <% action.each do |key, val| %>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: api_doc_generation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - jiangzhi.xie
@@ -53,6 +53,7 @@ files:
53
53
  - api_doc_generation.gemspec
54
54
  - lib/api_doc_generation.rb
55
55
  - lib/api_doc_generation/version.rb
56
+ - lib/api_doc_generation/view_helper.rb
56
57
  - lib/rake/api_doc_generation.rb
57
58
  - lib/rake/tasks/api_doc.rake
58
59
  - templates/doc.html.erb