Class: Barton::App

Inherits:
Sinatra::Base
  • Object
show all
Defined in:
lib/barton/app.rb

Instance Method Summary collapse

Instance Method Details

#prepare_response(args = nil) ⇒ Object

Prepares and array of results for the API response



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# File 'lib/barton/app.rb', line 71

def prepare_response( args=nil )
  #  add generic API meta data
  response = {}
  response[:name] = "Barton API"
  response[:disclaimer] = "This data is crowded sourced and provided free of charge for informational purposes only. No guarantees regarding data quality are made whatsoever apart from it's rather considerable coolness."
  response[:license] = "MIT License http://www.opensource.org/licenses/mit-license.php"
  unless args.nil?
      response[:result_count] = args.length
      response[:results] = args
      status 404 if args.length == 0
  end
  response[:resources] = { :home => Barton.api_url, :api => "#{Barton.api_url}/api", :electorates => "#{Barton.api_url}/api/electorates", :members => "#{Barton.api_url}/api/members" }
  response[:examples] = {
        :id => "#{Barton.api_url}/api/members/0db2ec",
        :geo => "#{Barton.api_url}/api/electorates?geo=151.2054563,-33.8438383",
        :tags => "#{Barton.api_url}/api/members?tags=sydney,local",
        :mixed => "#{Barton.api_url}/api/electorates?geo=151.2054563,-33.8438383&tags=federal",
        }
  #  format
  content_type 'application/json;charset=utf-8'
  JSON.pretty_generate( response )
end