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.
114 115 116 117 118 119 120 121 122 123 124 125 |
# File 'lib/remi/testing/business_rules.rb', line 114 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.
132 133 134 |
# File 'lib/remi/testing/business_rules.rb', line 132 def examples @examples end |
#job ⇒ Object (readonly)
Returns the value of attribute job.
127 128 129 |
# File 'lib/remi/testing/business_rules.rb', line 127 def job @job end |
#job_sources ⇒ Object (readonly)
Returns the value of attribute job_sources.
128 129 130 |
# File 'lib/remi/testing/business_rules.rb', line 128 def job_sources @job_sources end |
#job_targets ⇒ Object (readonly)
Returns the value of attribute job_targets.
129 130 131 |
# File 'lib/remi/testing/business_rules.rb', line 129 def job_targets @job_targets end |
#sources ⇒ Object (readonly)
Returns the value of attribute sources.
130 131 132 |
# File 'lib/remi/testing/business_rules.rb', line 130 def sources @sources end |
#targets ⇒ Object (readonly)
Returns the value of attribute targets.
131 132 133 |
# File 'lib/remi/testing/business_rules.rb', line 131 def targets @targets end |
Instance Method Details
#add_example(example_name, example_table) ⇒ Object
173 174 175 |
# File 'lib/remi/testing/business_rules.rb', line 173 def add_example(example_name, example_table) @examples.add_example(example_name, example_table) end |
#add_job_source(name) ⇒ Object
141 142 143 144 145 |
# File 'lib/remi/testing/business_rules.rb', line 141 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
147 148 149 150 |
# File 'lib/remi/testing/business_rules.rb', line 147 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
156 157 158 |
# File 'lib/remi/testing/business_rules.rb', line 156 def add_source(name) @sources.add_subject(name, @job.send(name.symbolize)) end |
#add_target(name) ⇒ Object
164 165 166 |
# File 'lib/remi/testing/business_rules.rb', line 164 def add_target(name) @targets.add_subject(name, @job.send(name.symbolize)) end |
#require_job_file(job_class_name) ⇒ Object
134 135 136 137 138 139 |
# File 'lib/remi/testing/business_rules.rb', line 134 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
177 178 179 |
# File 'lib/remi/testing/business_rules.rb', line 177 def run_transforms @job.run_all_transforms end |
#set_job_parameter(name, value) ⇒ Object
152 153 154 |
# File 'lib/remi/testing/business_rules.rb', line 152 def set_job_parameter(name, value) @job.params[name.to_sym] = value end |
#source ⇒ Object
160 161 162 |
# File 'lib/remi/testing/business_rules.rb', line 160 def source @sources.only end |
#target ⇒ Object
168 169 170 |
# File 'lib/remi/testing/business_rules.rb', line 168 def target @targets.only end |