Sha256: 031f79e137cac12297026e3f4a9db07dca7fda345b1c4164f5ab5b11b7e22565
Contents?: true
Size: 1.16 KB
Versions: 4
Compression:
Stored size: 1.16 KB
Contents
module ExcelTemplating # Represents a data source list used for validation of cell information class Document::DataSourceRegistry::RegistryList # @param [Integer] order # @param [Symbol] symbol # @param [String] title # @param [Array<String>|Symbol] list # @param [TrueClass|FalseClass] inline def initialize(order, symbol, title, list, inline) @title = title @list = list @inline = inline @order = order @symbol = symbol pre_validate! end attr_reader :title, :order, :symbol, :list # @return [Boolean] Is this to be rendered inline? def inline? @inline end # @return [Boolean] Is this to be rendered on the data sheet? def data_sheet? !inline? end # @param [Hash] data The data object from which the document is being rendered # @return [Array<String>] The validation objects def items(data) if list == :from_data data[symbol] else list end end private def pre_validate! unless list.is_a?(Array) || list == :from_data raise ArgumentError, "List must be an array or :from_data" end end end end
Version data entries
4 entries across 4 versions & 1 rubygems