-
improve
ApiQueryProvider::Base.shadow
(allow user defined aliasing) -
improve field definition on non autogenerated models (rename custom_fields -> field, allow call with no block for default behaviour)
-
probably should split
ApiQueryProvider::Base
into Base and Object, Base serving as interaction layer, Object contains all field handling methods, would allow anonymous objects without much hassle -
improve
ApiQueryProvider::Provider.system_symbols
, should be a constant as it won’t change at runtime -
think about
ApiQueryProvider::Provider.execute
, does it really need a forced array, could easily just return a single object -
ApiQueryProvider::Base.required_symbols
should be cached, api_path shouldn’t really change -
make configuration setters private, not needed to expose them
-
ApiQueryProvider::Base
should automatically try to create objects from nested hashes, also should iterate over arrays