Class: Redata::Schema
- Inherits:
-
Object
- Object
- Redata::Schema
- Defined in:
- lib/redata/schema.rb
Instance Method Summary collapse
- #category(prefix, &block) ⇒ Object
- #category_configs(category, types = []) ⇒ Object
- #config(&block) ⇒ Object
- #config_with(key) ⇒ Object
- #export(target, setting = {}) ⇒ Object
-
#initialize ⇒ Schema
constructor
A new instance of Schema.
- #insert(target, setting = {}) ⇒ Object
- #table(table, setting = {}) ⇒ Object
- #view(view, setting = {}) ⇒ Object
Constructor Details
#initialize ⇒ Schema
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 |