Sha256: a03d4fa94b12db645bf04ec90613e0f951b5821b4f1d3c638fb2fbd89365b971

Contents?: true

Size: 1.39 KB

Versions: 2

Compression:

Stored size: 1.39 KB

Contents

require "ykutils/erubyx"

module Ykutils
  module Gridlist
    TAMPLETES = { GRID_DEF: { TEMPLATE: %(
    .g-<%= row %>-<%= colum %> {
      grid-row-start: <%= row %>;
      grid-row-end: ,<%= row + 1 %>;
      grid-column-start: <%= colum %>;
      grid-column-end: <%= colum + 1 %>;
    }
    ), OBJ: nil } }.freeze

    module_function

    def make_one_grid(hash, row, colum)
      hash[:OBJ] = Tilt::ErubiTemplate.new { hash[:TEMPLATE] } unless hash[:OBJ]
      hash[:OBJ].render(Object.new, { row: row, colum: colum })
    end

    def make_grid(template_hash, scope, min_row, max_row, min_colum, max_colum)
      (min_row..max_row).map do |row|
        (min_colum..max_colum).map do |colum|
          # puts "#{row} #{colum}"
          value_hash = { row: row, colum: colum }
          # make_one_grid(template_hash, value_hash)
          # p template_hash
          # p value_hash
          Ykutils::Erubyx.erubi_render(template_hash, scope, value_hash)
        end
      end
    end

    def make_grid_list(min_row, max_row, min_colum, max_colum)
      template_hash = TAMPLETES[:GRID_DEF]
      scope = nil
      make_grid(template_hash, scope, min_row, max_row, min_colum, max_colum)
    end

    def make_grid_list_x(min_row, max_row, min_colum, max_colum)
      template_hash = TAMPLETES[:GRID_DEF]
      scope = nil
      make_grid(template_hash, scope, min_row, max_row, min_colum, max_colum)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ykutils-0.1.10 lib/ykutils/gridlist.rb
ykutils-0.1.8 lib/ykutils/gridlist.rb