api-document-generator 0.0.4 → 0.0.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
  SHA256:
3
- metadata.gz: 7fa3dc4d45f4296efad9fb4e5e7487e584f0947b3b43967289d9f3dea8890bfe
4
- data.tar.gz: b07321f47bc02c27d1fe518c1e098a0bec882896d850c7028d89d2fd1884c33b
3
+ metadata.gz: b987e1607dd5c468bc27379879bbee21d593f21a1a35feb60c84570ac2cd7df3
4
+ data.tar.gz: 5f8745fb87839d65de6a44b5cac2d7021f007c621abeba027ee79a76c405ce0b
5
5
  SHA512:
6
- metadata.gz: 971c7da4466b3858253c25c58b7e35cff00281b3f86f260af5b6e9dc2809739fb87e50767272a7d260aefc717be2661ae677fc02cac5fe41b06cadde4d164092
7
- data.tar.gz: 9a637deed8addbf520b4044ca6e46168d9f86c564dcc45b5d4730d8467de38a6513495998c8de20d49e5969b224a54c039f6098ccb219aa9c9306d756b7ff35c
6
+ metadata.gz: c13d2242b8344023260c53e0b1dac19e78f362c52b546254c85673216b5fdd1500d37247baf2be40e7ff290a678d998d3f43f51fa474a2bfad406e7d33bb2d02
7
+ data.tar.gz: 6517e3f4d5b3932444dcad57f7346d3adb2c2f91cb8a8689a38b3530debaaf42abbd9f4fd0d9967ec9b4f53a43af985e049ea47754945710f0a0649db2574052
@@ -1,49 +1,51 @@
1
- class ApiDocumentGenerator::ApiGrabber
2
- def self.grab_apis_params(controllers)
3
- controllers.keys.each do |controller|
4
- c_controller = controller.contantize.new
5
- param_hash = c_controller.parameters_for_different_actions
6
- controllers[controller][:resources] = c_controller.is_resources
7
- controllers[controller][:exclude_actions] = c_controller.exclude_actions
8
-
9
- controllers[controller][:actions].each do |action|
10
- params = param_hash[action[:action].to_sym]
11
-
12
- controllers[controller][:actions][:params] = params
1
+ module ApiDocumentGenerator
2
+ class ApiGrabber
3
+ def self.grab_apis_params(controllers)
4
+ controllers.keys.each do |controller|
5
+ c_controller = controller.contantize.new
6
+ param_hash = c_controller.parameters_for_different_actions
7
+ controllers[controller][:resources] = c_controller.is_resources
8
+ controllers[controller][:exclude_actions] = c_controller.exclude_actions
9
+
10
+ controllers[controller][:actions].each do |action|
11
+ params = param_hash[action[:action].to_sym]
12
+
13
+ controllers[controller][:actions][:params] = params
14
+ end
13
15
  end
16
+
17
+ add_routes(controllers)
14
18
  end
15
19
 
16
- add_routes(controllers)
17
- end
20
+ def self.add_routes(controllers)
21
+ insert_lines = [
22
+ " namespace :api do\n",
23
+ " end \n"
24
+ ]
18
25
 
19
- def self.add_routes(controllers)
20
- insert_lines = [
21
- " namespace :api do\n",
22
- " end \n"
23
- ]
24
-
25
- default_actions = ["index", "show", "new", "edit", "create", "delete", "update"]
26
+ default_actions = ["index", "show", "new", "edit", "create", "delete", "update"]
26
27
 
27
- controllers.each do |k, v|
28
- path = v[:path]
28
+ controllers.each do |k, v|
29
+ path = v[:path]
29
30
 
30
- insert_lines.insert(-1, " #{v[:resources] ? ('resources') : ('resource')} :#{path.split("/").last}, only : #{default_actions - v[:exclude_actions]} do\n")
31
- insert_lines.insert(-1, " end\n")
31
+ insert_lines.insert(-1, " #{v[:resources] ? ('resources') : ('resource')} :#{path.split("/").last}, only : #{default_actions - v[:exclude_actions]} do\n")
32
+ insert_lines.insert(-1, " end\n")
32
33
 
33
- v[:actions].each do |action|
34
- if !default_actions.include?(action[:action])
35
- insert_lines.insert(-2, " #{action[:method].downcase} :#{action[:action]}\n")
34
+ v[:actions].each do |action|
35
+ if !default_actions.include?(action[:action])
36
+ insert_lines.insert(-2, " #{action[:method].downcase} :#{action[:action]}\n")
37
+ end
36
38
  end
37
39
  end
38
- end
39
40
 
40
- File.open(file_name, 'r+') do |f|
41
- routes = f.each_line.to_a
42
- end_line = routes.delete_at(-1)
43
-
44
- routes = routes + insert_lines + [end_line]
45
- f.rewind
46
- f.write(routes.join)
41
+ File.open(file_name, 'r+') do |f|
42
+ routes = f.each_line.to_a
43
+ end_line = routes.delete_at(-1)
44
+
45
+ routes = routes + insert_lines + [end_line]
46
+ f.rewind
47
+ f.write(routes.join)
48
+ end
47
49
  end
48
50
  end
49
51
  end
@@ -1,3 +1,5 @@
1
- class ApiDocumentGenerator::PageWriter
1
+ module ApiDocumentGenerator
2
+ class PageWriter
2
3
 
4
+ end
3
5
  end
@@ -1,9 +1,11 @@
1
1
  require 'api_document_generator/api_grabber'
2
- require 'api_document_generaor/page_writer'
2
+ require 'api_document_generator/page_writer'
3
3
 
4
4
  class ApiDocumentGenerator
5
5
  class << self
6
- def initialize
6
+ def setup
7
+ install
8
+
7
9
  controllers = {}
8
10
  Rails.application.routes.routes.each do |route|
9
11
  controller_path = route.defaults[:controller]
@@ -22,10 +24,6 @@ class ApiDocumentGenerator
22
24
  generate_api_document(controllers)
23
25
  end
24
26
 
25
- def hi
26
- puts "Hello this is my api documentat generator gem!"
27
- end
28
-
29
27
  def install
30
28
  if Dir.exist?('public') == false
31
29
  `mkdir public`
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: api-document-generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Koe(shushi)
@@ -9,7 +9,21 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2021-11-16 00:00:00.000000000 Z
12
- dependencies: []
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 5.0.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 5.0.0
13
27
  description: Shushi first gem!
14
28
  email: blackshushi4571@gmail.com
15
29
  executables:
@@ -42,5 +56,5 @@ requirements: []
42
56
  rubygems_version: 3.2.22
43
57
  signing_key:
44
58
  specification_version: 4
45
- summary: Auto generate Api document!
59
+ summary: Auto `enerate Api document!
46
60
  test_files: []