Sha256: acfd1411ea57146521735a5a10b08f9cc9f72e9b0f0f4743be9b127bbb1c8659
Contents?: true
Size: 884 Bytes
Versions: 1
Compression:
Stored size: 884 Bytes
Contents
require_relative 'molecular/version' require 'digest' # Build reusable, tweakable UI elements out of atomic-CSS classes module Molecular module_function # @example # Button = Compound.new(bg: 'bg-blue', color: 'white') # <button class="<%= Button %>">A blue button</button> # <button class="<%= Button.(bg: 'bg-red') %>">A red button</button> # # @param [Hash] atoms: # - values are the CSS class names that get chained # - keys define the API you'll use to apply alternate classes # @return [Molecular::Compound] def compound(atoms) Compound.new(atoms) end # Calling Molecular.compound returns an instance of Molecular::Compound class Compound def initialize(atoms) @atoms = atoms end def to_s @atoms.values.compact.join(' ') end def call(atoms) self.class.new(@atoms.merge(atoms)) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
molecular-0.1.0 | lib/molecular.rb |