module RailsBlocks::Names
Public Instance Methods
block_classes(b_name, options = {})
click to toggle source
# File lib/rails_blocks/names.rb, line 8 def block_classes(b_name, options = {}) base_class = block_class b_name classes(base_class, true, options) end
block_name(b_name)
click to toggle source
# File lib/rails_blocks/names.rb, line 13 def block_name(b_name) b_name.to_s end
element_classes(b_name, e_name, options = {})
click to toggle source
# File lib/rails_blocks/names.rb, line 3 def element_classes(b_name, e_name, options = {}) base_class = element_class b_name, e_name classes(base_class, false, options) end
element_name(b_name, e_name)
click to toggle source
# File lib/rails_blocks/names.rb, line 17 def element_name(b_name, e_name) b_name.to_s + RailsBlocks.config.element_separator + e_name.to_s end
Private Instance Methods
block_class(b_name)
click to toggle source
# File lib/rails_blocks/names.rb, line 60 def block_class(b_name) block_name(b_name) end
classes(base_class, add_js, options = {})
click to toggle source
# File lib/rails_blocks/names.rb, line 22 def classes(base_class, add_js, options = {}) classes = [base_class] classes.concat mods_classes(base_class, options[:mods]) unless options[:mods].nil? classes.concat mix_classes(options[:mix], options[:parent_block]) if options[:mix] classes.concat Array(options[:class]) if options[:class] classes << RailsBlocks.config.js_class if options[:js] && add_js classes.uniq end
element_class(b_name, e_name)
click to toggle source
# File lib/rails_blocks/names.rb, line 64 def element_class(b_name, e_name) element_name(b_name, e_name) end
mix_classes(mixes, context_block = nil)
click to toggle source
# File lib/rails_blocks/names.rb, line 31 def mix_classes(mixes, context_block = nil) mixes = [mixes] unless mixes.is_a? Array mixes.map do |mix| if mix[:e] raise RailsBlocks::BadMixError if context_block.nil? && !mix[:b] if mix[:b] element_classes(mix[:b].to_s, mix[:e].to_s, mix) else element_classes(context_block, mix[:e].to_s, mix) end else raise RailsBlocks::BadMixError if mix[:b].nil? block_classes(mix[:b].to_s, mix) end end.inject(&:concat) end
mod_class(key, value)
click to toggle source
# File lib/rails_blocks/names.rb, line 56 def mod_class(key, value) value == true ? key.to_s : key.to_s + '_' + value.to_s end
mods_classes(base_class, mods)
click to toggle source
# File lib/rails_blocks/names.rb, line 48 def mods_classes(base_class, mods) mods.map do |key, value| next('') unless value mod = mod_class(key, value) base_class + RailsBlocks.config.modifier_separator + mod end end