lib/bindata/dsl.rb in bindata-1.5.0 vs lib/bindata/dsl.rb in bindata-1.5.1
- old
+ new
@@ -70,12 +70,11 @@
end
def fields
unless defined? @fields
fields = parent_attribute(:fields, nil)
- klass = option?(:sanitize_fields) ? SanitizedFields : UnSanitizedFields
- @fields = klass.new(endian)
+ @fields = SanitizedFields.new(endian)
@fields.copy_fields(fields) if fields
end
@fields
end
@@ -111,17 +110,17 @@
end
def options
case @parser_type
when :struct
- [:multiple_fields, :optional_fieldnames, :sanitize_fields, :hidden_fields]
+ [:multiple_fields, :optional_fieldnames, :hidden_fields]
when :array
- [:multiple_fields, :optional_fieldnames, :sanitize_fields]
+ [:multiple_fields, :optional_fieldnames]
when :choice
- [:multiple_fields, :all_or_none_fieldnames, :sanitize_fields, :fieldnames_are_values]
+ [:multiple_fields, :all_or_none_fieldnames, :fieldnames_are_values]
when :primitive
- [:multiple_fields, :optional_fieldnames, :sanitize_fields]
+ [:multiple_fields, :optional_fieldnames]
else
raise "unknown parser type #{parser_type}"
end
end
@@ -305,43 +304,9 @@
if option?(:hidden_fields) and not hide.empty?
result[:hide] = hide
end
result
- end
- end
-
- # An array containing a field definition of the form
- # expected by BinData::Struct.
- class UnSanitizedField < ::Array
- def initialize(type, name, params)
- super()
- self << type << name << params
- end
- def type
- self[0]
- end
- def name
- self[1]
- end
- def params
- self[2]
- end
- end
-
- class UnSanitizedFields < ::Array
- def initialize(endian)
- @endian = endian
- end
-
- def add_field(type, name, params)
- normalized_endian = @endian.respond_to?(:endian) ? @endian.endian : @endian
- normalized_type = RegisteredClasses.normalize_name(type, normalized_endian)
- self << UnSanitizedField.new(normalized_type, name, params)
- end
-
- def copy_fields(other)
- concat(other)
end
end
end
end