Sha256: e7e923f89c64a90550f76e2489d8b43705043d0b2eee7472089b0c71faa8a595

Contents?: true

Size: 1.52 KB

Versions: 1

Compression:

Stored size: 1.52 KB

Contents

module LatoView
  # Cella che si occupa di generare un blocco contenitore generale
  # utilizzabile per inserire altri elementi
  module Block
    # Cella Block
    class Cell < Cell
      # Lista dei parametri accettati per l'attributo width
      @@widths = VIEW_GRIDCLASS

      # Dimensione del blocco (half, third, fourth, two-third)
      # * *default*: nil (large)
      attr_accessor :width

      # Contenuto del blocco
      # * *default*: nil
      attr_accessor :content

      # Classi custom aggiunte all'html del  blocco
      # * *default*: nil
      attr_accessor :custom_class

      def initialize(width: 'small-12 medium-12 large-12 xlarge-12', content: '', custom_class: '')
        # eseguo brevi controlli sull'input
        raise 'Block Concept: width value in not correct' unless (width.to_s.split(' ') - @@widths).empty?
        # assegno i valori alle variabili di istanza
        @width = width
        @content = content
        @class = custom_class
      end

      def show
        open + @content + close
      end

      # Funzione per stampare l'apertura di un blocco
      # * *Parametri* :
      # - width: dimensione del blocco da aprire (se non viene impostata la
      # funzione
      # utilizza la dimensione prefissata in fase di inizializzazione)
      def open(width: @width, custom_class: @class)
        "<div class='content-block column #{width} #{custom_class}'>"
      end

      # Funzione per stampare la chiusura di un blocco
      def close
        '</div>'
      end

    end
    # Fine cella
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
lato_view-1.1 app/concepts/lato_view/block/cell.rb