Sha256: 0b166466aad399f22fa6672822129ca5b709dd22c6821c089ec5c454c6e4d442

Contents?: true

Size: 1.41 KB

Versions: 2

Compression:

Stored size: 1.41 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 } }

    module_function

    def make_one_grid(hash, row, colum)
      unless hash[:OBJ]
        hash[:OBJ] = Tilt::ErubiTemplate.new { hash[:TEMPLATE] }
      end
      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 { |row|
        (min_colum..max_colum).map { |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

    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.7 lib/ykutils/gridlist.rb
ykutils-0.1.6 lib/ykutils/gridlist.rb