Project

atdis

0.0
No release in over 3 years
Low commit activity in last 3 years
A ruby interface to the application tracking data interchange specification (ATDIS) API
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 1.3
>= 0

Runtime

 Project Readme

ATDIS

CI Gem Version

A Ruby interface for reading and validating planning application data feeds that follow the Application Tracking Data Interchange Specification (ATDIS).

This has been developed against ATDIS version 1.0.2.

Source code is available on GitHub at https://github.com/openaustralia/atdis

Requirements

Ruby 3.2 or later.

Installation

Add this line to your application's Gemfile:

gem "atdis"

And then execute:

$ bundle

Or install it yourself as:

$ gem install atdis

Usage

Basic usage

require "atdis"

f = ATDIS::Feed.new("http://www.planningalerts.org.au/atdis/feed/1/atdis/1.0", "Sydney")

# Get the first application in the first page of results for all the applications
page = f.applications
app = page.response.first

puts "#{app.application.info.dat_id}: #{app.application.info.description}"
DA2013-0381: New pool plus deck

Paging

page.next_page

and

page.previous_page

Validation

page.valid?

Development

After checking out the repo, run bundle install to install dependencies. Then run the tests with:

$ bundle exec rspec

There is also RuboCop for linting:

$ bundle exec rubocop

Releasing a new version

Releases are published to rubygems.org automatically by GitHub Actions using RubyGems trusted publishing — no API keys involved. Merging a version bump to main is all it takes:

  1. Create a branch off main, e.g. chore/release-0-6-0
  2. Bump the version number in lib/atdis/version.rb following Semantic Versioning
  3. Update CHANGELOG.md: move the entries under "Unreleased" to a new section for the version you are releasing (with today's date) and update the comparison links at the bottom of the file
  4. Open a pull request and get it reviewed and merged
  5. When the version bump lands on main, the Release workflow builds the gem, tags the release (e.g. v0.6.0), pushes the tag and publishes the gem to rubygems.org. If the version in lib/atdis/version.rb has already been published the workflow does nothing, so it is safe to re-run
  6. Check that the new version appears on rubygems.org and that the tag was pushed

One-time trusted publishing setup (gem owners)

Before the Release workflow can publish, a gem owner must register this repository as a trusted publisher on rubygems.org (this only needs to be done once):

  1. Sign in to rubygems.org with an account that owns the atdis gem
  2. Go to the atdis gem page → Ownership → Trusted publishers (https://rubygems.org/gems/atdis/trusted_publishers)
  3. Create a new GitHub Actions trusted publisher with:
    • Repository owner: openaustralia
    • Repository name: atdis
    • Workflow filename: release.yml
    • Environment: release
  4. In this GitHub repository, create the matching release environment (Settings → Environments → New environment). Optionally add protection rules, such as required reviewers, to gate releases

Contributing

Contributions are welcome! This project follows the OpenAustralia Foundation contributing guidelines.

  1. Fork it
  2. Create your feature branch (git checkout -b feature/my-new-feature)
  3. Commit your changes with a sign-off (git commit -s -am 'Add some feature')
  4. Push to the branch (git push origin feature/my-new-feature)
  5. Create new Pull Request

License

The gem is available as open source under the terms of the MIT License.