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, api_version) ⇒ Object
- #inherited(subclass) ⇒ Object
- #version_resources ⇒ Object
- #version_serializers ⇒ Object
Instance Method Details
#api_version ⇒ Object
24 25 26 |
# File 'lib/api_schema/root_methods.rb', line 24 def api_version @api_version end |
#configure {|configuration| ... } ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/api_schema/root_methods.rb', line 11 def configure configuration = Configuration.new yield(configuration) @api_version = ApiVersion.new(configuration) @version_resources = {} @version_serializers = {} end |
#generate_json ⇒ Object
36 37 38 39 40 41 42 43 44 |
# File 'lib/api_schema/root_methods.rb', line 36 def generate_json @api_version.configuration.build @api_version.check_consistency @api_version.serializers.each { |s| s.build } @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, api_version) ⇒ Object
19 20 21 22 |
# File 'lib/api_schema/root_methods.rb', line 19 def import_serializers_from(name, api_version) @api_version.imported_versions << OpenStruct.new(name: name, api_version: api_version) end |
#inherited(subclass) ⇒ Object
4 5 6 7 8 9 |
# 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)) end |
#version_resources ⇒ Object
28 29 30 |
# File 'lib/api_schema/root_methods.rb', line 28 def version_resources @version_resources end |
#version_serializers ⇒ Object
32 33 34 |
# File 'lib/api_schema/root_methods.rb', line 32 def version_serializers @version_serializers end |