class Decko::Swagger

hacky first go at swagger generation.

In decko, it really just converts yaml to ruby and back again.

But it's useful for generating decko swagger docs.

Attributes

yaml_dir[RW]

Public Class Methods

new(yaml_dir=nil) click to toggle source
# File lib/decko/swagger.rb, line 10
def initialize yaml_dir=nil
  @yaml_dir = yaml_dir
end

Public Instance Methods

gem_input_dir() click to toggle source
# File lib/decko/swagger.rb, line 23
def gem_input_dir
  File.join gem_swagger_dir, "input_yml"
end
gem_swag() click to toggle source
# File lib/decko/swagger.rb, line 27
def gem_swag
  read_yml :layout, gem_input_dir
end
gem_swagger_dir() click to toggle source
# File lib/decko/swagger.rb, line 19
def gem_swagger_dir
  File.join Decko.gem_root, "lib/decko/swagger"
end
merge_swag(filename, dir=nil) click to toggle source
# File lib/decko/swagger.rb, line 31
def merge_swag filename, dir=nil
  yaml = read_yml filename, dir
  gem_swag.deep_merge yaml
end
output_file(filename=nil, dir=nil) click to toggle source
# File lib/decko/swagger.rb, line 36
def output_file filename=nil, dir=nil
  filename ||= "output.yml"
  dir ||= yaml_dir || gem_input_dir
  File.join dir, filename
end
output_to_file(hash, filename=nil, dir=nil) click to toggle source
# File lib/decko/swagger.rb, line 42
def output_to_file hash, filename=nil, dir=nil
  File.write output_file(filename, dir), hash.to_yaml
end
read_yml(filename, dir=nil) click to toggle source
# File lib/decko/swagger.rb, line 14
def read_yml filename, dir=nil
  dir ||= yaml_dir || gem_input_dir
  YAML.load_file File.join(dir, "#{filename}.yml")
end