Module: Theo::Rails
- Defined in:
- lib/theo-rails/theo.rb,
lib/theo-rails/engine.rb,
lib/theo-rails/helpers.rb,
lib/theo-rails/railtie.rb
Defined Under Namespace
Modules: Helpers Classes: Engine, Railtie, Theo
Constant Summary collapse
- ATTRIBUTE_NAME =
/(?<name>[\w:@_%][-\w:@_.]*)/- ATTRIBUTE_VALUE =
/(?:(?:"(?<value>[^"]*)")|(?:'(?<value>[^']*)'))/- ATTRIBUTE =
/(?:(?<=\s)(?:(?:#{ATTRIBUTE_NAME.source}\s*=\s*#{attribute_value})|#{ATTRIBUTE_NAME.source}))/- DYNAMIC_ATTRIBUTE =
/(?:(?<=\s)(?:(?:#{ATTRIBUTE_NAME.source}\s*%=\s*#{attribute_value('dynvalue')})|(?:#{ATTRIBUTE_NAME.source}%)))/- RESERVED_ATTRIBUTE_NAME =
%w[alias and begin break case class def do else elsif end ensure false for if in module next nil not or redo rescue retry return self super then true undef unless until when while yield].to_set
- BOOLEAN_ATTRIBUTE_NAME =
%w[allowfullscreen alpha async autofocus autoplay checked controls default defer disabled formnovalidate inert ismap itemscope loop multiple muted nomodule novalidate open playsinline readonly required reversed selected shadowrootclonable shadowrootcustomelementregistry shadowrootdelegatesfocus shadowrootserializable]- CLASS_ATTRIBUTE =
/(?:\s+class\s*=\s*#{attribute_value})/- STYLE_ATTRIBUTE =
/(?:\s+style\s*=\s*#{attribute_value})/- ATTRIBUTES =
/(?<attrs>(?:\s+#{ATTRIBUTE.source})*)/- ATTRIBUTES_INCLUDING_DYNAMIC =
/(?<attrs>(?:\s+(?:#{ATTRIBUTE.source}|#{DYNAMIC_ATTRIBUTE.source}))*)/- TAG_WITH_DYNAMIC_ATTRIBUTE =
/(?:<(?<tagname>\w+)#{ATTRIBUTES_INCLUDING_DYNAMIC.source}\s+#{DYNAMIC_ATTRIBUTE.source}#{ATTRIBUTES_INCLUDING_DYNAMIC.source}\s*\/?>)/m
- SPECIAL_ATTRIBUTES =
i[path as %yields collection %if].freeze
- VOID_TAGS =
i[area base br col hr img input link source track wbr]
- IF_SPECIAL_ATTRIBUTE =
/(?<special>\s%if\s*=\s*#{attribute_value('specvalue')})/- TAG_WITH_IF_SPECIAL_ATTRIBUTE =
/(?:<(?<tag>\w+)#{ATTRIBUTES_INCLUDING_DYNAMIC.source}\s*#{IF_SPECIAL_ATTRIBUTE.source}#{ATTRIBUTES_INCLUDING_DYNAMIC.source}\s*>.*?<\/\k<tag>>)|(?:<(?<tag>\w+)#{ATTRIBUTES_INCLUDING_DYNAMIC.source}\s*#{IF_SPECIAL_ATTRIBUTE.source}#{ATTRIBUTES_INCLUDING_DYNAMIC.source}\s*\/>)|(?:<(?<tag>#{VOID_TAGS.join('|')})#{ATTRIBUTES_INCLUDING_DYNAMIC.source}\s*#{IF_SPECIAL_ATTRIBUTE.source}#{ATTRIBUTES_INCLUDING_DYNAMIC.source}\s*>)/m
- PARTIAL_TAG =
/(?:(?<partial>[A-Z]\w+)|(?<partial>_[\w-]+))/- PARTIAL =
/(?:<#{PARTIAL_TAG.source}#{ATTRIBUTES.source}\s*>(?<content>.*?)<\/\k<partial>>)|(?:<#{PARTIAL_TAG.source}#{ATTRIBUTES.source}\s*\/>)/m
- DYNAMIC_EXPRESSION =
/^<%=([^%]*)%>$/
Class Method Summary collapse
Class Method Details
.attribute_value(name = 'value') ⇒ Object
3 4 5 |
# File 'lib/theo-rails/theo.rb', line 3 def self.attribute_value(name = 'value') /(?:(?:"(?<#{name}>[^"]*)")|(?:'(?<#{name}>[^']*)'))/.source end |