Class: TexturePacker::CssRule
- Inherits:
-
Object
- Object
- TexturePacker::CssRule
- Defined in:
- lib/texture_packer.rb
Instance Method Summary collapse
- #add(prefixs, css) ⇒ Object
- #generate_css ⇒ Object
-
#initialize ⇒ CssRule
constructor
A new instance of CssRule.
Constructor Details
#initialize ⇒ CssRule
Returns a new instance of CssRule.
142 143 144 |
# File 'lib/texture_packer.rb', line 142 def initialize @hash = {} end |
Instance Method Details
#add(prefixs, css) ⇒ Object
146 147 148 149 150 151 152 |
# File 'lib/texture_packer.rb', line 146 def add(prefixs, css) if prefixs.size > 0 (@hash[prefixs.first] ||= CssRule.new).add(prefixs[1..-1], css) else @css = css end end |
#generate_css ⇒ Object
154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 |
# File 'lib/texture_packer.rb', line 154 def generate_css inner_css = @hash.sort_by{|prefix, obj| SELECTOR_ORDER.index(prefix) || SELECTOR_ORDER.size }.map do |prefix, obj| case prefix when nil, '' [obj.generate_css] when /\A:/ ["&#{prefix}, &.#{prefix[1..-1]}{ ", obj.generate_css, ' }'] when '[m]' ['@include mobile{ ', obj.generate_css, ' }'] when '[tw]' ['&:lang(zh-TW){ ', obj.generate_css, ' }'] when '[cn]' ['&:lang(zh-CN){ ', obj.generate_css, ' }'] when '[en]' ['&:lang(en){ ', obj.generate_css, ' }'] else ["&#{prefix}{ ", obj.generate_css, ' }'] end end inner = inner_css.size == 0 ? '' : " #{inner_css.join('')}" return "#{@css}#{inner}" end |