Skip to content

v0.1.0

Choose a tag to compare

@davidesantangelo davidesantangelo released this 28 Oct 15:03
· 2 commits to master since this release

Added

Core Features

  • Initial release of Node-RED Admin HTTP API Ruby client
  • Complete implementation of all 21 Node-RED Admin API endpoints
  • Comprehensive RDoc documentation for all public methods

Authentication Support (3 endpoints)

  • auth_login - Get active authentication scheme
  • auth_token - Exchange credentials for access token with automatic token management
  • auth_revoke - Revoke access tokens

Settings & Diagnostics (2 endpoints)

  • settings - Get runtime settings and configuration
  • diagnostics - Get runtime diagnostics information

Flow Management (8 endpoints)

  • flows - Get active flow configuration
  • flows_state - Get flow runtime state
  • deploy_flows - Deploy complete flow configuration with revision support
  • set_flows_state - Start/stop flows at runtime
  • add_flow - Add individual flows to configuration
  • flow - Get specific flow configuration
  • update_flow - Update individual flow configuration
  • delete_flow - Delete individual flows

Node Management (8 endpoints)

  • nodes - List all installed node modules
  • install_node - Install new node modules from npm
  • node_module - Get node module information
  • update_node_module - Enable/disable node modules
  • delete_node_module - Remove node modules
  • node_set - Get node set information
  • update_node_set - Enable/disable node sets

Error Handling

  • ApiError - Base error class for all API errors
  • AuthenticationError - Raised on authentication failures (401)
  • NotFoundError - Raised when resources are not found (404)
  • ServerError - Raised on server errors (5xx)
  • Intelligent error message parsing from API responses

Developer Experience

  • Three comprehensive example files demonstrating usage:
    • examples/basic_usage.rb - Basic API operations
    • examples/flow_management.rb - Flow CRUD operations
    • examples/node_management.rb - Node module management
  • RSpec test suite with basic coverage
  • RuboCop configuration for code quality
  • Detailed README with usage examples for all endpoints
  • MIT License

Technical Details

  • Minimum Ruby version: 3.1.0
  • Zero external dependencies (uses only Ruby stdlib)
  • HTTP client built on Net::HTTP
  • JSON parsing with stdlib json
  • Automatic Bearer token management after authentication
  • Support for both HTTP and HTTPS connections

Notes

  • All dangerous operations (install/delete/enable/disable) are commented out in examples for safety
  • API follows Node-RED Admin API specification exactly
  • Fully compatible with Node-RED 1.0.0+