Module: Gitter::Model

Included in:
Grid, PivotGrid
Defined in:
lib/gitter/model.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



4
5
6
# File 'lib/gitter/model.rb', line 4

def self.included base
  base.send :attr_reader, :model
end

Instance Method Details

#attribute(name, &block) ⇒ Object



29
30
31
32
# File 'lib/gitter/model.rb', line 29

def attribute name, &block
  self.class.send :attr_reader, name
  attributes[name] = block or raise ArgumentError, "missing block for model #{model}"
end

#decorate(*args) ⇒ Object



25
26
27
# File 'lib/gitter/model.rb', line 25

def decorate *args
  @decorator.decorate *args
end

#eval(data, model = nil) ⇒ Object

evaluate data (string or proc) in context of grid



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/gitter/model.rb', line 9

def eval data, model = nil
  instance_variable_set :"@model", model
  attributes.each do |name,block|
    instance_variable_set :"@#{name}", instance_eval(&block)
  end

  res = instance_eval &data

  remove_instance_variable :"@model"
  attributes.each do |name,block|
    remove_instance_variable :"@#{name}"
  end

  res
end