Module: Transform
- Extended by:
- Transform
- Included in:
- Transform, Read, Write
- Defined in:
- lib/transform/log.rb,
lib/transform/copy.rb,
lib/transform/read.rb,
lib/transform/write.rb,
lib/transform/transform.rb,
lib/transform/controls/text.rb,
lib/transform/controls/subject.rb,
lib/transform/controls/raw_data.rb,
lib/transform/controls/no_transformer.rb,
lib/transform/controls/subject/transform.rb,
lib/transform/controls/subject/transformer.rb,
lib/transform/controls/no_transform_methods.rb,
lib/transform/controls/subject/object_formatter.rb,
lib/transform/controls/subject/instance_receives_class.rb
Defined Under Namespace
Modules: Controls, Copy, Read, Write
Classes: Log
Constant Summary
collapse
- Error =
Class.new(RuntimeError)
Instance Method Summary
collapse
Instance Method Details
28
29
30
|
# File 'lib/transform/transform.rb', line 28
def transform_const?(subject_constant)
Reflect.constant?(subject_constant, :Transform)
end
|
36
37
38
39
|
# File 'lib/transform/transform.rb', line 36
def transformer?(subject)
subject_constant = Reflect.constant(subject)
transform_const?(subject_constant) || transformer_const?(subject_constant)
end
|
32
33
34
|
# File 'lib/transform/transform.rb', line 32
def transformer_const?(subject_constant)
Reflect.constant?(subject_constant, :Transformer)
end
|
18
19
20
21
22
23
24
25
26
|
# File 'lib/transform/transform.rb', line 18
def transformer_name(subject_constant)
if transform_const?(subject_constant)
return :Transform
elsif transformer_const?(subject_constant)
return :Transformer
else
return nil
end
end
|
6
7
8
9
10
11
12
13
14
15
16
|
# File 'lib/transform/transform.rb', line 6
def transformer_reflection(subject)
subject_constant = Reflect.constant(subject)
transformer_name = transformer_name(subject_constant)
if transformer_name.nil?
raise Error, "#{subject_constant.name} doesn't have a Transformer or Transform namespace"
end
Reflect.(subject, transformer_name, strict: true)
end
|