class Gdoc::Generate

Public Class Methods

new(out_dir) click to toggle source
# File lib/gdoc/generate.rb, line 8
def initialize(out_dir)
  @out_dir = out_dir
  @doc_md = []
  @api_list = []
  @docs = ''
end

Public Instance Methods

auth(ison=false) click to toggle source
# File lib/gdoc/generate.rb, line 70
def auth ison=false
  @ison = ison
end
create_file() click to toggle source
# File lib/gdoc/generate.rb, line 128
def create_file
  file = File.open "#{@out_dir}/#{@model}.md", 'w'
  file.puts @doc_md.join("\n* * *\n\n") 
  file.close
  @doc_md = []
  @api_list << "[#{@model}](./wiki/#{@model})"
end
del(url, &blk) click to toggle source
# File lib/gdoc/generate.rb, line 40
def del url, &blk
  gen_api_md 'delete', url, &blk
end
desc(value) click to toggle source
# File lib/gdoc/generate.rb, line 53
def desc value
  @desc = value
end
gen_api_list_md() click to toggle source
# File lib/gdoc/generate.rb, line 84
    def gen_api_list_md
      file = File.open "#{@out_dir}/Home.md", 'w'
      file.puts <<-md
# index
> api 列表

api 地址: #{@root}

#{@api_list.join "\n"}
      md
      file.close
    end
gen_api_md(method, url, &blk) click to toggle source
# File lib/gdoc/generate.rb, line 97
    def gen_api_md method, url, &blk
      blk.call
      @doc_md << <<-md
### #{@root}#{@url}#{url}
> #{@desc}

auth: #{@ison}

headers:
```javascript
#{JSON.pretty_generate (@header || {})}
```

content-type: #{@typ}

method: #{method}

params:

```javascript
#{JSON.pretty_generate @params}
```

return:

```
#{JSON.pretty_generate @ok}
```
      md
    end
get(url, &blk) click to toggle source
# File lib/gdoc/generate.rb, line 28
def get url, &blk
  gen_api_md 'get', url, &blk
end
headers(header_={}) click to toggle source
# File lib/gdoc/generate.rb, line 66
def headers(header_={})
  @header = header_
end
import(source) click to toggle source
# File lib/gdoc/generate.rb, line 48
def import source
  eval(File.read "./#{source}.gdoc")
  create_file
end
json() click to toggle source
# File lib/gdoc/generate.rb, line 74
def json
  @typ = 'application/json'
end
model(value) click to toggle source
# File lib/gdoc/generate.rb, line 20
def model value
  @model = value
end
ok(code, json_) click to toggle source
# File lib/gdoc/generate.rb, line 62
def ok code, json_
  @ok = json_
end
params(typ, json_) click to toggle source
# File lib/gdoc/generate.rb, line 57
def params typ, json_
  typ
  @params = json_
end
patch(url, &blk) click to toggle source
# File lib/gdoc/generate.rb, line 44
def patch url, &blk
  gen_api_md 'patch', url, &blk
end
post(url, &blk) click to toggle source
# File lib/gdoc/generate.rb, line 32
def post url, &blk
  gen_api_md 'post', url, &blk
end
put(url, &blk) click to toggle source
# File lib/gdoc/generate.rb, line 36
def put url, &blk
  gen_api_md 'put', url, &blk
end
root(value) click to toggle source

dsl api

# File lib/gdoc/generate.rb, line 16
def root value
  @root = value
end
to_md(source) click to toggle source

output

# File lib/gdoc/generate.rb, line 79
def to_md source
  eval(File.read "./#{source}.gdoc")
  gen_api_list_md
end
url(value) click to toggle source
# File lib/gdoc/generate.rb, line 24
def url value
  @url = value
end