* Start major refactoring of API library covering Version 2 of the API.
- simplify everywhere possible
- return plain hashes, don't bother with custom objects
- feeds first, then data, then everything else
- make it simpler
* update v2 examples
* split argument handling methods into a separate module
* add feed update method
* update test suite to API v2
* add Groups handlers
* groups example code
* add helper for methods that need to send ID rather than key
* don't raise on DELETE when status is 404, just return nil
* update text files pre-beta gem release, drop unused dependencies
* turns out ActiveSupport is a dependency for Faraday instrumentation :P
* bump version, sigh
* drop File.join, implement path joining by hand
* add simple MQTT client to library
* bump version to 2.0.0.beta.3, update CHANGELOG and README
* update CHANGELOG for 2.0.0.beta.3
* add tokens and user API calls
* handle numbers in safe_path_join
* more V2 API endpoints, more specs, more fixtures
* add dashboard API methods
* pending block and group specs
* spellcheck
* drop unused examples
* bump version, update README
* clean up README
* add activities and permissions
* bump version to 2.0.0.beta.5
* add dev files to .gitignore
* filter valid feed create/update parameters
* update README
* add trigger API + examples
* update examples
* bump to 2.0.0.beta.6
* complete block client API tests, fix some bugs in block client API
* update gitignore
* wrap block attribute preparation
* add testing checklist
* bump to version 2.0.0.beta.7
* update testing list
* add dashboard update_layouts, finish dashboard spec
* add json test fixtures
* update triggers API and spec
* update permissions API and spec
* update activities spec
* add fixture file helpers
* extract method in mqtt API internals
* request handler should return a RequestError when response status is not 200
* fill out group specs
* handle non 200 API responses as raise ResponseError
* update / normalize example sketches
* fix bug in mqtt lib, add last value retrieving /get option on subscription
* update README and CHANGELOG
* bump to version 2.0.0 release
* Remove unnecessary/unused assignment.
* Data#previous had a bogus parameter ; Data#create needs feed id itself
* Group had several broken methods
It looks like maybe a change was started and not finished.
Made them similar to all other methods.
* Move common properties to common base class ; create accessors for others, not just feed
* Expose values hash on IOObject and hence all objects.
Allows for iterating through the list of properties for a Feed/Data/etc.
* Add unit tests for feed (more coming)
Caveats:
- does 'live' tests, so need to provide an API key (see spec/README.md)
- no throttling code in place yet - not a problem yet, though.
- tests are limited by my live account having 9 feeds already
* Rewrite spec/README to fix typos, be more clear and have standardizename.
The python library uses ADAFRUIT_IO_KEY, so changed the code to also use that.
* Add dotenv to Gemfile
* Move rspec up to 3.4
* Add check for valid key and exit if none.