Module: ApiSchema::RootMethods
- Defined in:
- lib/api_schema/root_methods.rb
Instance Method Summary collapse
- #api_version ⇒ Object
- #configure {|configuration| ... } ⇒ Object
- #generate_json ⇒ Object
- #inherited(subclass) ⇒ Object
- #version_resources ⇒ Object
- #version_serializers ⇒ Object
Instance Method Details
#api_version ⇒ Object
21 22 23 |
# File 'lib/api_schema/root_methods.rb', line 21 def api_version @api_version end |
#configure {|configuration| ... } ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/api_schema/root_methods.rb', line 13 def configure configuration = Configuration.new yield(configuration) @api_version = ApiVersion.new(configuration) @version_resources = {} @version_serializers = {} end |
#generate_json ⇒ Object
33 34 35 36 37 38 39 40 |
# File 'lib/api_schema/root_methods.rb', line 33 def generate_json @api_version.configuration.build @api_version.serializers.each { |s| s.build(version_serializers) } @api_version.resources.each { |r| r.build(version_resources) } nodes = [@api_version.configuration] + @api_version.serializers + @api_version.resources ::Swagger::Blocks.build_root_json(nodes) end |
#inherited(subclass) ⇒ Object
4 5 6 7 8 9 10 11 |
# File 'lib/api_schema/root_methods.rb', line 4 def inherited(subclass) instance_var = "@api_version" subclass.instance_variable_set(instance_var, instance_variable_get(instance_var)) instance_var_neighbors = "@version_resources" subclass.instance_variable_set(instance_var_neighbors, instance_variable_get(instance_var_neighbors)) instance_var_neighbors = "@version_serializers" subclass.instance_variable_set(instance_var_neighbors, instance_variable_get(instance_var_neighbors)) end |
#version_resources ⇒ Object
25 26 27 |
# File 'lib/api_schema/root_methods.rb', line 25 def version_resources @version_resources end |
#version_serializers ⇒ Object
29 30 31 |
# File 'lib/api_schema/root_methods.rb', line 29 def version_serializers @version_serializers end |