The project is in a healthy, maintained state
A Ruby client for easy access to StatBank; Denmark's official statistics (Danmarks Statistik) REST 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

Runtime

>= 0
 Project Readme

statbank_denmark

A Ruby client for easy access to StatBank; Denmark's official statistics (Danmarks Statistik) REST API.

Installation

Add this line to your application's Gemfile:

gem 'statbank_denmark'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install statbank_denmark

Usage

Defaults for all interfaces

lang: 'en' # also can be 'da'
format: 'json' # except for data(), where it defaults to format: 'csv' and JSON data requires format: 'jsonstat'

Via module methods

# Get all subjects in English
StatBankDenmark.subjects # implicitly lang: 'en'
StatBankDenmark.subjects(lang: 'en') # explicitly lang: 'en'

# Get all subjects in Danish
StatBankDenmark.subjects(lang: 'da')

# Get subjects recursively
StatBankDenmark.subjects(recursive: true)

# Get a list of all tables
StatBankDenmark.tables

# Get a list of tables about a specific subject by code
StatBankDenmark.tables(subject: 4)

# Get a list of tables which are inactive
StatBankDenmark.tables(include_inactive: true)

# Get a list of tables which are inactive on a specific subject by code
StatBankDenmark.tables(include_inactive: true, subject: 4)

# Get info on a specific table
StatBankDenmark.table_info('STRAF42') # implicitly format: 'json'
StatBankDenmark.table_info('STRAF42', format: 'json') # explicitly format: 'json'
StatBankDenmark.table_info('STRAF42', format: 'csv') # format: 'csv'

# Get data from a specific table
StatBankDenmark.data('STRAF42') # implicitly format: 'csv'
StatBankDenmark.data('STRAF42', format: 'csv') # explicitly format: 'csv'
StatBankDenmark.data('STRAF42', format: 'jsonstat') # Returns json and must be specified with /jsonstat/i, not /json/i.

# Search tables for metadata strings
StatBankDenmark.search('population')
StatBankDenmark.search('POPULATION') # case insensitive search
StatBankDenmark.search('befolkning', lang: 'da') # lang: 'da'
StatBankDenmark.search('BEFOLKNING', lang: 'da') # case insensitive search and lang: 'da'

Via instantiation

client = StatBankDenmark.new

# Get all subjects in English
client.subjects # implicitly lang: 'en'
client.subjects(lang: 'en') # explicitly lang: 'en'

# Get all subjects in Danish
client.subjects(lang: 'da')

# Get subjects recursively
client.subjects(recursive: true)

# Get a list of all tables
client.tables

# Get a list of tables about a specific subject by code
client.tables(subject: 4)

# Get a list of tables which are inactive
client.tables(include_inactive: true)

# Get a list of tables which are inactive on a specific subject by code
client.tables(include_inactive: true, subject: 4)

# Get info on a specific table
client.table_info('STRAF42') # implicitly format: 'json'
client.table_info('STRAF42', format: 'json') # explicitly format: 'json'
client.table_info('STRAF42', format: 'csv') # format: 'csv'

# Get data from a specific table
client.data('STRAF42') # implicitly format: 'csv'
client.data('STRAF42', format: 'csv') # explicitly format: 'csv'
client.data('STRAF42', format: 'jsonstat') # Returns json and must be specified with /jsonstat/i, not /json/i.

# Search tables for metadata strings
client.search('population')
client.search('POPULATION') # case insensitive search
client.search('befolkning', lang: 'da') # lang: 'da'
client.search('BEFOLKNING', lang: 'da') # case insensitive search and lang: 'da'

Contributing

  1. Fork it (https://github.com/thoran/statbank_denmark/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new pull request

License

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