Class: Evva::DataSource
- Inherits:
-
Object
- Object
- Evva::DataSource
- Defined in:
- lib/evva/data_source.rb
Instance Method Summary collapse
-
#initialize(keys) ⇒ DataSource
constructor
A new instance of DataSource.
Constructor Details
#initialize(keys) ⇒ DataSource
Returns a new instance of DataSource.
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/evva/data_source.rb', line 3 def initialize(keys) unless keys.is_a?(Hash) raise ArgumentError, "keys: expected Hash, got #{keys.class}" end keys.each do |property, v| unless v.is_a?(Hash) raise ArgumentError, "keys['#{property}']: expected Hash, got #{v.class}" end v.each do |key, v| unless v.is_a?(String) || v.nil? raise ArgumentError, "keys['#{property}']['#{key}']: expected String, got #{v.class}" end end end @keys = Hash[keys.map { |k, v| [k.downcase, v] }] end |