class AWS::Core::Resource::Attribute

@private

Attributes

name[R]
request_types[R]

Public Class Methods

new(name, options = {}) click to toggle source
# File lib/aws/core/resource.rb, line 283
def initialize name, options = {}
  @name = name
  @options = options
  @request_types = []
end

Public Instance Methods

from() click to toggle source
# File lib/aws/core/resource.rb, line 293
def from
  @from ||= (@options[:from] || name)
end
mutable?() click to toggle source
# File lib/aws/core/resource.rb, line 301
def mutable?
  @options[:mutable] == true
end
set_as() click to toggle source
# File lib/aws/core/resource.rb, line 297
def set_as
  @set_as ||= (@options[:set_as] || @options[:from] || name)
end
static?() click to toggle source
# File lib/aws/core/resource.rb, line 305
def static?
  @options[:static] == true
end
translate_input_value(value) click to toggle source
# File lib/aws/core/resource.rb, line 318
def translate_input_value value
  @input_translator ? @input_translator.call(value) : value
end
translate_output_value(value) click to toggle source
# File lib/aws/core/resource.rb, line 322
def translate_output_value value

  # by default nil values are not translated
  return nil if value.nil? and @translates_nil != true

  case
  when @options[:to_sym]    then value.tr('-','_').downcase.to_sym
  when @options[:timestamp] then Time.at(value.to_i)
  when @output_translator   then @output_translator.call(value)
  else value
  end

end
translates_input(&block) click to toggle source
# File lib/aws/core/resource.rb, line 309
def translates_input &block
  @input_translator = block
end
translates_output(options = {}) click to toggle source
# File lib/aws/core/resource.rb, line 313
def translates_output options = {}, &block
  @translates_nil = options[:nil]
  @output_translator = block
end