Class: Comma::DataExtractor
- Defined in:
- lib/comma/data_extractor.rb
Defined Under Namespace
Classes: ExtractValueFromAssociationOfInstance, ExtractValueFromInstance
Instance Method Summary collapse
Methods inherited from Extractor
#__use__, #id, #initialize, #results
Constructor Details
This class inherits a constructor from Comma::Extractor
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(sym, *args, &block) ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/comma/data_extractor.rb', line 52 def method_missing(sym, *args, &block) @results << ExtractValueFromInstance.new(@instance).extract(sym, &block) if args.blank? args.each do |arg| case arg when Hash arg.each do |k, _v| @results << ExtractValueFromAssociationOfInstance.new(@instance, sym).extract(k, &block) end when Symbol @results << ExtractValueFromAssociationOfInstance.new(@instance, sym).extract(arg, &block) when String @results << ExtractValueFromInstance.new(@instance).extract(sym, &block) else raise "Unknown data symbol #{arg.inspect}" end end end |
Instance Method Details
#__static_column__(_header = nil, &block) ⇒ Object
72 73 74 |
# File 'lib/comma/data_extractor.rb', line 72 def __static_column__(_header = nil, &block) @results << (block ? yield(@instance) : nil) end |