Skip to content

Releases: nsrr/spout

v0.10.0 (November 24, 2014)

24 Nov 14:34
Compare
Choose a tag to compare

Enhancements

  • Deploy Command
    • spout deploy command added that allows a data dictionary to be deployed to a web URL
    • The webserver that is specified must respond to the web requests in a similar manner to nsrr/www.sleepdata.org
  • Import Command
    • spout import now changes variables with all caps display_name to use title case instead
      • Display names that use mixed case are unaffected
    • spout import --domains now marks options as "missing": true if the option value starts with a dot . or a dash -
      • Display names for domain options are also changed to title case if they are all caps
  • Graph Command
    • Graphs and tables no longer display missing codes that do not exist in the dataset for variables of type choices
    • Graphs and tables now remove domain values for variables of type integer or numeric
  • Testing Changes
    • Tests now include checks to assure that variable display_name fields don't exceed 255 length requirement
      • include Spout::Tests::VariableDisplayNameLength
  • Gem Changes
    • Use of Ruby 2.1.5 is now recommended

Refactoring

  • Removing ChartTypes class in favor of a more modular Graph and Table class

v0.9.1 (October 14, 2014)

14 Oct 19:18
Compare
Choose a tag to compare

Bug Fix

  • Fixed a bug that failed to require the colorize gem for the default set of spout tests

v0.9.0 (October 10, 2014)

10 Oct 13:17
Compare
Choose a tag to compare

Enhancements

  • General Changes
    • spout c, spout o, spout g, spout p, will now use datasets that are compatible with the data dictionary
      • The following examples use a Data Dictionary that is currently on version 0.2.1.beta2
      • Ex: If a dataset exists in folder 0.2.0, then this folder will be used.
      • Ex: If datasets exist in 0.2.0, 0.2.1.beta2, and 0.2.1, then the exact match, 0.2.1.beta2, will be used.
      • Ex: If datasets exist in 0.2.0, 0.2.1.beta1, 0.2.1, and 0.3.0, then the highest match on the minor version is used, in this case 0.2.1.
    • spout p command now uses same syntax as spout g command to reference variables
      • spout p <variable_id>
      • spout p age --size-sm
    • The data dictionary slug can now be specified in the .spout.yml file:
      • slug: my-repo-name
      • Setting the slug will allow the spout export command to export the data dictionary to my-repo-name-data-dictionary-0.1.0-variables.csv, etc.
    • spout p and spout g now indicate if the target CSV folder is empty
    • spout o now only calculates averages and outliers for numeric and integer variables
  • Testing Changes
    • Multi-line assertions now maintain the correct amount of white-space padding
  • Gem Changes
    • Use of Ruby 2.1.3 is now recommended
    • Updated to simplecov 0.9.1

v0.8.0 (June 27, 2014)

27 Jun 18:35
Compare
Choose a tag to compare

Enhancements

  • Testing Changes

    • Tests now include check for variables that reference one or more forms
      • include Spout::Tests::FormExistenceValidation
      • include Spout::Tests::FormNameUniqueness
      • include Spout::Tests::FormNameMatch
    • Test iterators have been added to provide access to @variables, @forms, and @domains to build custom tests in dictionary_test.rb
      • Add the line include Spout::Helpers::Iterators to dictionary_test.rb to access the iterators
      • See README.md for examples
    • Spout tests are now run using Minitest in favor of Test::Unit
  • Graph Generation Changes

    • Added spout graphs command that generates JSON charts and tables of each variable in a dataset
      • This command requires a .spout.yml file to be specified to identify the following variables:
        • visit: This variable is used to separate subject encounters in a histogram
        • charts: Array of choices, numeric, or integer variables for charts
    • Graphs for histograms now specify units on the x-axis
    • The spout graphs command does not generate graphs when no underlying values exists for the variable
  • Image Generation Changes

    • The spout pngs command now renders the histogram for each variable
  • Coverage Command Changes

    • The spout coverage command now lists variables that are defined in the data dictionary and that do not exist in any CSV dataset
    • The spout coverage command now lists domains that are defined in the data dictionary and not referenced by any variable
  • Outlier Identification Changes

    • Added spout outliers command that returns a list of integer or numeric variables that contain major and minor outliers
  • Export Command Changes

    • The spout export command now includes a forms.csv file that exports form information referenced by variables
  • General Changes

    • Spout dictionary can now be loaded using the following command in irb:
    require 'spout'
    dictionary = Spout::Models::Dictionary.new(Dir.pwd)
    dictionary.load_all!
    dictionary.variables.count
    dictionary.domains.count
    dictionary.forms.count
    • Removed the deprecated spout hybrid command
  • Gem Changes

    • Use of Ruby 2.1.2 is now recommended
    • Updated to colorize 0.7.2
    • Updated to minitest

Bug Fix

  • Spout commands are now more consistently case insensitive for file and column names across platforms
  • The spout import command now correctly makes variable ids and domain ids consistently lowercase

Testing

  • Refactored Spout code and updated test coverage for all major spout commands

v0.7.0 (April 16, 2014)

16 Apr 14:31
Compare
Choose a tag to compare

Enhancements

  • Added spout graphs command that generates pie charts and histograms of each variable in a dataset
    • The following flags are available:
      • spout g --type-numeric
      • spout g --type-integer
      • spout g --type-choices
      • spout g --size-lg
      • spout g --size-sm
      • spout g --type-numeric --size-sm
    • For specific variables the following can be used:
      • spout g --id-<variable_id>

v0.6.0 (March 7, 2014)

07 Mar 16:38
Compare
Choose a tag to compare

Enhancement

  • Added spout coverage command that generates a coverage report of how well a dataset matches the data dictionary
    • Generates a viewable report in <project_name>/coverage/index.html that shows which columns are covered in CSVs located in <project_name>/csvs/
    • Checks that all collected values for a variable with a domain exist in the associated domain
  • Gem Changes
    • Updated to colorize 0.6.0

v0.5.0 (February 28, 2014)

28 Feb 15:16
Compare
Choose a tag to compare

Enhancement

  • Tests added to check that variables of type choices have specified a domain
  • Tests added to make sure the JSON object id matches the variable file name
  • Use of Ruby 2.1.1 is now recommended

v0.4.1 (August 16, 2013)

16 Aug 14:10
Compare
Choose a tag to compare

Enhancement

  • The spout new <project_name> command now adds .keep files to the variables and domains folders so they don't need to be recreated in a cloned empty repository

v0.4.0 (August 7, 2013)

16 Aug 14:10
Compare
Choose a tag to compare

Enhancements

  • Tests for domain existence have changed and now only require the domain name be referenced from the variable instead of the entire domain path
    • To reference a domain from a variable, only the domain name is now required.
    • This change decouples the relative domain folder location from needing to be added among multiple variables which now allows domains to be reorganized without requiring the corresponding variables to be updated to reflect the new path
    • This change is possible since domains need to have a unique name regardless of where they are located

v0.3.0 (July 11, 2013)

11 Jul 13:57
Compare
Choose a tag to compare

Enhancements

  • Tests now hide passing tests by default
    • To show all tests, use spout tv, or bundle exec rake
  • Tests now include check for variable and domain name uniqueness across folders
    • include Spout::Tests::VariableNameUniqueness
    • include Spout::Tests::DomainNameUniqueness
  • Tests now allow datetime as a valid variable type
  • Exports will now create a folder based on the version specified in the VERSION file located in the root of the data dictionary
    • If a version is specified, spout export 1.0.1 then the command line version is used
    • If no version is specified, and no VERSION file exists, then the default 1.0.0 is used
    • The version must be specified on the first line in the VERSION file
  • Spout can now create a new Spout project in a folder that was cloned from a Git repository
  • Use of Ruby 2.0.0-p247 is now recommended

Bug Fix

  • DomainExistenceValidation tests are now case-insensitive