api-document-generator 0.0.4 → 0.0.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
  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: []