Skip to content

Instantly share code, notes, and snippets.

@luizpicolo luizpicolo/app.rb forked from hendrikswan/app.rb
Last active Jul 16, 2018

Embed
What would you like to do?
sample sinatra mongodb service
require 'sinatra'
require 'mongoid'
require 'json'
require "sinatra/reloader" if development?
Mongoid.load!("mongoid.yml")
class Price
include Mongoid::Document
field :share_id, type: Integer
field :date, type: Time
field :open, type: Integer
field :close, type: Integer
field :high, type: Integer
field :low, type: Integer
field :volume, type: Integer
end
class Company
include Mongoid::Document
field :code, type: String
field :sector, type: String
field :share_id, type: Integer
field :jse_code, type: Integer
end
get '/companies.json' do
content_type :json
all_companies = Company.all
all_companies.to_json
end
get '/companies/:code/prices.json' do
content_type :json
company = Company.where(code: params[:code])[0]
Price.where('share_id' => company.share_id)
.order_by('date', :desc)
.to_a
.reverse
.to_json
end
require 'sinatra'
require './app'
run Sinatra::Application
Dir["resources/*.rb"].each {|file| load file }
development:
clients:
default:
database: mongoid_dev
hosts:
- localhost:27017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.