Class: Aws::ParamConverter Private
- Inherits:
-
Object
- Object
- Aws::ParamConverter
- Includes:
- Seahorse::Model::Shapes
- Defined in:
- lib/aws-sdk-core/param_converter.rb
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Instance Attribute Summary collapse
- #opened_files ⇒ Object readonly private
Class Method Summary collapse
-
.add(shape_class, value_class, converter = nil, &block) ⇒ void
private
Registers a new value converter.
- .c(shape, value, instance = nil) ⇒ Object private
- .convert(shape, params) ⇒ Object private
- .ensure_open(file, converter) ⇒ Object private
Instance Method Summary collapse
- #close_opened_files ⇒ Object private
- #convert(params) ⇒ Hash private
-
#initialize(rules) ⇒ ParamConverter
constructor
private
A new instance of ParamConverter.
Constructor Details
#initialize(rules) ⇒ ParamConverter
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of ParamConverter.
16 17 18 19 |
# File 'lib/aws-sdk-core/param_converter.rb', line 16 def initialize(rules) @rules = rules @opened_files = [] end |
Instance Attribute Details
#opened_files ⇒ Object (readonly)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
22 23 24 |
# File 'lib/aws-sdk-core/param_converter.rb', line 22 def opened_files @opened_files end |
Class Method Details
.add(shape_class, value_class, converter = nil, &block) ⇒ void
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
This method returns an undefined value.
Registers a new value converter. Converters run in the context of a shape and value class.
# add a converter that stringifies integers
shape_class = Seahorse::Model::Shapes::StringShape
ParamConverter.add(shape_class, Integer) { |i| i.to_s }
109 110 111 |
# File 'lib/aws-sdk-core/param_converter.rb', line 109 def add(shape_class, value_class, converter = nil, &block) @converters[shape_class][value_class] = converter || block end |
.c(shape, value, instance = nil) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
124 125 126 127 128 129 130 |
# File 'lib/aws-sdk-core/param_converter.rb', line 124 def c(shape, value, instance = nil) if converter = converter_for(shape, value) converter.call(value, instance) else value end end |
.convert(shape, params) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
90 91 92 |
# File 'lib/aws-sdk-core/param_converter.rb', line 90 def convert(shape, params) new(shape).convert(params) end |
.ensure_open(file, converter) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
113 114 115 116 117 118 119 120 121 |
# File 'lib/aws-sdk-core/param_converter.rb', line 113 def ensure_open(file, converter) if file.closed? new_file = File.open(file.path, 'rb') converter.opened_files << new_file new_file else file end end |
Instance Method Details
#close_opened_files ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
34 35 36 37 |
# File 'lib/aws-sdk-core/param_converter.rb', line 34 def close_opened_files @opened_files.each(&:close) @opened_files = [] end |
#convert(params) ⇒ Hash
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
26 27 28 29 30 31 32 |
# File 'lib/aws-sdk-core/param_converter.rb', line 26 def convert(params) if @rules structure(@rules, params) else params end end |