Class: Redata::Schema

Inherits:
Object
  • Object
show all
Defined in:
lib/redata/schema.rb

Instance Method Summary collapse

Constructor Details

#initializeSchema

Returns a new instance of Schema.



3
4
5
6
7
# File 'lib/redata/schema.rb', line 3

def initialize
  @category = :main
  @order = []
  @index = {}
end

Instance Method Details

#category(prefix, &block) ⇒ Object



13
14
15
16
17
# File 'lib/redata/schema.rb', line 13

def category(prefix, &block)
  @category = prefix
  self.instance_eval &block
  @category = :main
end

#category_configs(category, types = []) ⇒ Object



41
42
43
44
45
46
47
48
# File 'lib/redata/schema.rb', line 41

def category_configs(category, types=[])
  res = []
  @order.each do |global_key|
    config = @index[global_key]
    res.push config if (!category || config.category == category) && (types.empty? || types.include?(config.type))
  end
  res
end

#config(&block) ⇒ Object



9
10
11
# File 'lib/redata/schema.rb', line 9

def config(&block)
  self.instance_eval &block
end

#config_with(key) ⇒ Object



35
36
37
38
39
# File 'lib/redata/schema.rb', line 35

def config_with(key)
  config = @index[key]
  return nil unless config
  config
end

#export(target, setting = {}) ⇒ Object



27
28
29
# File 'lib/redata/schema.rb', line 27

def export(target, setting={})
  register target, :export, setting
end

#insert(target, setting = {}) ⇒ Object



31
32
33
# File 'lib/redata/schema.rb', line 31

def insert(target, setting={})
  register target, :insert, setting
end

#table(table, setting = {}) ⇒ Object



23
24
25
# File 'lib/redata/schema.rb', line 23

def table(table, setting={})
  register table, :table, setting
end

#view(view, setting = {}) ⇒ Object



19
20
21
# File 'lib/redata/schema.rb', line 19

def view(view, setting={})
  register view, :view, setting
end