Sha256: a92d4b879bf67432fffe7316f2596ef31dc661ab4f58556e0122e19ad3d4bcde
Contents?: true
Size: 1.04 KB
Versions: 6
Compression:
Stored size: 1.04 KB
Contents
module CSL class Locale # A localized Date comprises a set of formatting rules for dates. class Date < Node attr_struct :form, *Schema.attr(:formatting, :delimiter) attr_children :'date-part' alias parts date_part alias locale parent def initialize(attributes = {}) super(attributes) children[:'date-part'] = [] yield self if block_given? end def added_to(node) raise ValidationError, "parent must be locale node: was #{node.inspect}" unless node.is_a?(Locale) end %w{ text numeric }.each do |type| define_method("#{type}?") { attributes.form == type } end end # DatePart represent the localized formatting options for an individual # date part (day, month, or year). class DatePart < Node has_no_children attr_struct :name, :form, :'range-delimiter', *Schema.attr(:formatting, :periods) %w{ day month year }.each do |part| define_method("#{part}?") do attributes.name == part end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems