Class: Typelizer::SerializerPlugins::Alba::TraitInterface
- Inherits:
-
Object
- Object
- Typelizer::SerializerPlugins::Alba::TraitInterface
- Includes:
- TypeInference
- Defined in:
- lib/typelizer/serializer_plugins/alba/trait_interface.rb
Instance Attribute Summary collapse
-
#context ⇒ Object
readonly
Returns the value of attribute context.
-
#plugin ⇒ Object
readonly
Returns the value of attribute plugin.
-
#serializer ⇒ Object
readonly
Returns the value of attribute serializer.
-
#trait_name ⇒ Object
readonly
Returns the value of attribute trait_name.
Instance Method Summary collapse
- #config ⇒ Object
-
#initialize(serializer:, trait_name:, context:, plugin:) ⇒ TraitInterface
constructor
A new instance of TraitInterface.
- #name ⇒ Object
- #properties ⇒ Object
Constructor Details
#initialize(serializer:, trait_name:, context:, plugin:) ⇒ TraitInterface
Returns a new instance of TraitInterface.
12 13 14 15 16 17 |
# File 'lib/typelizer/serializer_plugins/alba/trait_interface.rb', line 12 def initialize(serializer:, trait_name:, context:, plugin:) @serializer = serializer @trait_name = trait_name @context = context @plugin = plugin end |
Instance Attribute Details
#context ⇒ Object (readonly)
Returns the value of attribute context.
10 11 12 |
# File 'lib/typelizer/serializer_plugins/alba/trait_interface.rb', line 10 def context @context end |
#plugin ⇒ Object (readonly)
Returns the value of attribute plugin.
10 11 12 |
# File 'lib/typelizer/serializer_plugins/alba/trait_interface.rb', line 10 def plugin @plugin end |
#serializer ⇒ Object (readonly)
Returns the value of attribute serializer.
10 11 12 |
# File 'lib/typelizer/serializer_plugins/alba/trait_interface.rb', line 10 def serializer @serializer end |
#trait_name ⇒ Object (readonly)
Returns the value of attribute trait_name.
10 11 12 |
# File 'lib/typelizer/serializer_plugins/alba/trait_interface.rb', line 10 def trait_name @trait_name end |
Instance Method Details
#config ⇒ Object
19 20 21 |
# File 'lib/typelizer/serializer_plugins/alba/trait_interface.rb', line 19 def config context.config_for(serializer) end |
#name ⇒ Object
23 24 25 26 |
# File 'lib/typelizer/serializer_plugins/alba/trait_interface.rb', line 23 def name base_name = config.serializer_name_mapper.call(serializer).tr_s(":", "") "#{base_name}#{trait_name.to_s.camelize}Trait" end |
#properties ⇒ Object
28 29 30 31 32 33 34 |
# File 'lib/typelizer/serializer_plugins/alba/trait_interface.rb', line 28 def properties @properties ||= begin props, typelizes = plugin.trait_properties(trait_name) props = infer_types(props, typelizes) PropertySorter.sort(props, config.properties_sort_order) end end |