Class: Remi::Testing::BusinessRules::Tester
- Inherits:
-
Object
- Object
- Remi::Testing::BusinessRules::Tester
- Defined in:
- lib/remi/testing/business_rules.rb
Instance Attribute Summary collapse
-
#examples ⇒ Object
readonly
Returns the value of attribute examples.
-
#job ⇒ Object
readonly
Returns the value of attribute job.
-
#job_sources ⇒ Object
readonly
Returns the value of attribute job_sources.
-
#job_targets ⇒ Object
readonly
Returns the value of attribute job_targets.
-
#sources ⇒ Object
readonly
Returns the value of attribute sources.
-
#targets ⇒ Object
readonly
Returns the value of attribute targets.
Instance Method Summary collapse
- #add_example(example_name, example_table) ⇒ Object
- #add_job_source(name) ⇒ Object
- #add_job_target(name) ⇒ Object
- #add_source(name) ⇒ Object
- #add_target(name) ⇒ Object
-
#initialize(job_name) ⇒ Tester
constructor
A new instance of Tester.
- #require_job_file(job_class_name) ⇒ Object
- #run_transforms ⇒ Object
- #set_job_parameter(name, value) ⇒ Object
- #source ⇒ Object
- #target ⇒ Object
Constructor Details
#initialize(job_name) ⇒ Tester
Returns a new instance of Tester.
131 132 133 134 135 136 137 138 139 140 141 142 |
# File 'lib/remi/testing/business_rules.rb', line 131 def initialize(job_name) job_class_name = "#{job_name.gsub(/\s/,'')}Job" require_job_file(job_class_name) @job = Object.const_get(job_class_name).new @job_sources = DataSubjectCollection.new @job_targets = DataSubjectCollection.new @sources = DataSubjectCollection.new @targets = DataSubjectCollection.new @examples = DataExampleCollection.new end |
Instance Attribute Details
#examples ⇒ Object (readonly)
Returns the value of attribute examples.
149 150 151 |
# File 'lib/remi/testing/business_rules.rb', line 149 def examples @examples end |
#job ⇒ Object (readonly)
Returns the value of attribute job.
144 145 146 |
# File 'lib/remi/testing/business_rules.rb', line 144 def job @job end |
#job_sources ⇒ Object (readonly)
Returns the value of attribute job_sources.
145 146 147 |
# File 'lib/remi/testing/business_rules.rb', line 145 def job_sources @job_sources end |
#job_targets ⇒ Object (readonly)
Returns the value of attribute job_targets.
146 147 148 |
# File 'lib/remi/testing/business_rules.rb', line 146 def job_targets @job_targets end |
#sources ⇒ Object (readonly)
Returns the value of attribute sources.
147 148 149 |
# File 'lib/remi/testing/business_rules.rb', line 147 def sources @sources end |
#targets ⇒ Object (readonly)
Returns the value of attribute targets.
148 149 150 |
# File 'lib/remi/testing/business_rules.rb', line 148 def targets @targets end |
Instance Method Details
#add_example(example_name, example_table) ⇒ Object
190 191 192 |
# File 'lib/remi/testing/business_rules.rb', line 190 def add_example(example_name, example_table) @examples.add_example(example_name, example_table) end |
#add_job_source(name) ⇒ Object
158 159 160 161 162 |
# File 'lib/remi/testing/business_rules.rb', line 158 def add_job_source(name) raise "Unknown source #{name} for job" unless @job.methods.include? name.symbolize @job_sources.add_subject(name, @job.send(name.symbolize)) @job.send(name.symbolize).empty_stub_df end |
#add_job_target(name) ⇒ Object
164 165 166 167 |
# File 'lib/remi/testing/business_rules.rb', line 164 def add_job_target(name) raise "Unknown target #{name} for job" unless @job.methods.include? name.symbolize @job_targets.add_subject(name, @job.send(name.symbolize)) end |
#add_source(name) ⇒ Object
173 174 175 |
# File 'lib/remi/testing/business_rules.rb', line 173 def add_source(name) @sources.add_subject(name, @job.send(name.symbolize)) end |
#add_target(name) ⇒ Object
181 182 183 |
# File 'lib/remi/testing/business_rules.rb', line 181 def add_target(name) @targets.add_subject(name, @job.send(name.symbolize)) end |
#require_job_file(job_class_name) ⇒ Object
151 152 153 154 155 156 |
# File 'lib/remi/testing/business_rules.rb', line 151 def require_job_file(job_class_name) job_file = Dir["#{Remi::Settings.jobs_dir}/**/*_job.rb"].map do |fname| fname if File.basename(fname) == "#{job_class_name.underscore}.rb" end.compact.pop require job_file end |
#run_transforms ⇒ Object
194 195 196 |
# File 'lib/remi/testing/business_rules.rb', line 194 def run_transforms @job.execute(:transforms) end |
#set_job_parameter(name, value) ⇒ Object
169 170 171 |
# File 'lib/remi/testing/business_rules.rb', line 169 def set_job_parameter(name, value) @job.params[name.to_sym] = value end |
#source ⇒ Object
177 178 179 |
# File 'lib/remi/testing/business_rules.rb', line 177 def source @sources.only end |
#target ⇒ Object
185 186 187 |
# File 'lib/remi/testing/business_rules.rb', line 185 def target @targets.only end |