Module: RULE_DSL

Included in:
DTWorker
Defined in:
lib/datatransit/rule_dsl.rb

Defined Under Namespace

Classes: Task, TaskSet

Instance Method Summary collapse

Instance Method Details

#batch_by(search_cond) ⇒ Object



72
73
74
75
# File 'lib/datatransit/rule_dsl.rb', line 72

def batch_by search_cond
  task = @taskset.last_task
  task.search_cond = search_cond
end

#choose_table(*tables) ⇒ Object



67
68
69
70
# File 'lib/datatransit/rule_dsl.rb', line 67

def choose_table *tables
  task = @taskset.last_task
  task.tables = tables
end

#filter_out_with(&filter) ⇒ Object



82
83
84
85
# File 'lib/datatransit/rule_dsl.rb', line 82

def filter_out_with &filter
  task = @taskset.last_task
  task.filter = filter
end

#get_all_tablesObject



97
98
99
100
101
# File 'lib/datatransit/rule_dsl.rb', line 97

def get_all_tables
  tables = []
  @taskset.each { |task| tables << task.tables }
  tables.flatten!
end

#load_rule(*rule_file) ⇒ Object



56
57
58
# File 'lib/datatransit/rule_dsl.rb', line 56

def load_rule *rule_file
  rule_file.each{ |file| self.instance_eval File.read(file), file }
end

#migrate(&script) ⇒ Object



60
61
62
63
64
65
# File 'lib/datatransit/rule_dsl.rb', line 60

def migrate &script
  @taskset ||= TaskSet.new
  task = Task.new
  @taskset.push_back task
  yield 
end

#post_work(&post) ⇒ Object



92
93
94
95
# File 'lib/datatransit/rule_dsl.rb', line 92

def post_work &post
  task = @taskset.last_task
  task.post_work = post
end

#pre_work(&pre) ⇒ Object



87
88
89
90
# File 'lib/datatransit/rule_dsl.rb', line 87

def pre_work &pre
  task = @taskset.last_task
  task.pre_work = pre
end

#register_primary_key(*key) ⇒ Object



77
78
79
80
# File 'lib/datatransit/rule_dsl.rb', line 77

def register_primary_key *key
  task = @taskset.last_task
  task.pk = key.map(&:downcase)
end