lib/csl/style/text.rb in csl-1.0.0.pre6 vs lib/csl/style/text.rb in csl-1.0.0.pre7

- old
+ new

@@ -1,12 +1,50 @@ module CSL class Style class Text < Node attr_struct :variable, :macro, :term, :form, :plural, :value, - *Schema.attr(:formatting, :display, :periods) + *Schema.attr(:formatting, :display, :quotes, :periods) has_no_children + + def has_variable? + attribute?(:variable) + end + + def variable + attributes[:variable] + end + + def variable_options + attributes_for :form + end + + def has_macro? + attribute?(:macro) + end + + # @return [Macro, nil] + def macro + raise unless parent.respond_to?(:macros) + parent.macros[attributes[:macro]] + end + + def has_term? + attribute?(:term) + end + + def term_options + attributes_for :term, :plural, :form + end + + def has_value? + attribute?(:value) + end + + def value + attributes[:value] + end end end end \ No newline at end of file