Module: ApiSchema::RootMethods
- Defined in:
- lib/api_schema/root_methods.rb
Instance Method Summary collapse
- #api_version ⇒ Object
- #configure {|configuration| ... } ⇒ Object
- #generate_json ⇒ Object
- #import_serializers_from(name, version) ⇒ Object
- #inherited(subclass) ⇒ Object
- #version_resources ⇒ Object
- #version_serializers ⇒ Object
Instance Method Details
#api_version ⇒ Object
26 27 28 |
# File 'lib/api_schema/root_methods.rb', line 26 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
38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/api_schema/root_methods.rb', line 38 def generate_json @api_version.configuration.build @api_version.serializers.each { |s| s.build_references(version_serializers) } @api_version.check_consistency @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 |
#import_serializers_from(name, version) ⇒ Object
21 22 23 24 |
# File 'lib/api_schema/root_methods.rb', line 21 def import_serializers_from(name, version) @api_version.imported_versions << OpenStruct.new(name: name, version: version) 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
30 31 32 |
# File 'lib/api_schema/root_methods.rb', line 30 def version_resources @version_resources end |
#version_serializers ⇒ Object
34 35 36 |
# File 'lib/api_schema/root_methods.rb', line 34 def version_serializers @version_serializers end |