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