class Jsoning::Version
jsoning can output to conform to different versioning
Attributes
mappers[R]
mappers_order[R]
protocol[R]
the protocol class
version_name[R]
Public Class Methods
new(protocol)
click to toggle source
# File lib/jsoning/foundations/version.rb, line 11 def initialize(protocol) @protocol = protocol # mappers, only storing symbol of mapped values @mappers_order = [] @mappers = {} end
Public Instance Methods
add_mapper(mapper)
click to toggle source
# File lib/jsoning/foundations/version.rb, line 24 def add_mapper(mapper) raise Jsoning::Error, "Mapper must be of class Jsoning::Mapper" unless mapper.is_a?(Jsoning::Mapper) @mappers_order << canonical_mapper_name(mapper.name) @mappers[canonical_mapper_name(mapper.name)] = mapper end
mapper_for(name)
click to toggle source
# File lib/jsoning/foundations/version.rb, line 30 def mapper_for(name) @mappers[canonical_mapper_name(name)] end
version_name=(version_name)
click to toggle source
# File lib/jsoning/foundations/version.rb, line 18 def version_name=(version_name) # version name is always be a string, because if user's version # name happen to be an integer, we don't want to fail on that case @version_name = version_name.to_s end
Private Instance Methods
canonical_mapper_name(key_name)
click to toggle source
# File lib/jsoning/foundations/version.rb, line 35 def canonical_mapper_name(key_name) key_name.to_s.downcase.to_sym end