(projdelei é um projeto...) se eu fosse o governo, geraria, por mês, um PDF com esses dados, e nos melhores casos CSV ou Excel e ficaria feliz por ser transparente. OpenData não é sobre apenas ser transparente tem a ver com a forma que faz isso também.
resource :laws do get do # /laws @laws = LawProject.all(order: [ :id.desc ]) @laws.to_json(exclude: [:id, :was_shared]) end get ':id' do # /laws/:id @law = LawProject.all(pl_id: params[:id]) .first @law.to_json(exclude: [:id, :was_shared]) end end end end 9 usando uma gem chamada grape, criou o recurso /laws e no get dele (click) pego todos os projeto de lei.(click) ordeno do mais novo para o mais velho(click) removo alguns atributos. id por questão de segurança, was_shared por que é valido apenas para os posts do twitter
resource :laws do get do # /laws @laws = LawProject.all(order: [ :id.desc ]) @laws.to_json(exclude: [:id, :was_shared]) end get ':id' do # /laws/:id @law = LawProject.all(pl_id: params[:id]) .first @law.to_json(exclude: [:id, :was_shared]) end end end end 9 usando uma gem chamada grape, criou o recurso /laws e no get dele (click) pego todos os projeto de lei.(click) ordeno do mais novo para o mais velho(click) removo alguns atributos. id por questão de segurança, was_shared por que é valido apenas para os posts do twitter
resource :laws do get do # /laws @laws = LawProject.all(order: [ :id.desc ]) @laws.to_json(exclude: [:id, :was_shared]) end get ':id' do # /laws/:id @law = LawProject.all(pl_id: params[:id]) .first @law.to_json(exclude: [:id, :was_shared]) end end end end 9 usando uma gem chamada grape, criou o recurso /laws e no get dele (click) pego todos os projeto de lei.(click) ordeno do mais novo para o mais velho(click) removo alguns atributos. id por questão de segurança, was_shared por que é valido apenas para os posts do twitter
resource :laws do get do # /laws @laws = LawProject.all(order: [ :id.desc ]) @laws.to_json(exclude: [:id, :was_shared]) end get ':id' do # /laws/:id @law = LawProject.all(pl_id: params[:id]) .first @law.to_json(exclude: [:id, :was_shared]) end end end end 9 usando uma gem chamada grape, criou o recurso /laws e no get dele (click) pego todos os projeto de lei.(click) ordeno do mais novo para o mais velho(click) removo alguns atributos. id por questão de segurança, was_shared por que é valido apenas para os posts do twitter
resource :laws do get do # /laws @laws = LawProject.all(order: [ :id.desc ]) @laws.to_json(exclude: [:id, :was_shared]) end get ':id' do # /laws/:id @law = LawProject.all(pl_id: params[:id]) .first @law.to_json(exclude: [:id, :was_shared]) end end end end 11 para pegar um recurso unico, (click)busco o recurso pelo id, vai retornar uma collection então pego o primeiro, esse pl_id é unico e vem da camara(click) excluou os campos desnecessários (da para otimizar isso, mas não é o caso)
resource :laws do get do # /laws @laws = LawProject.all(order: [ :id.desc ]) @laws.to_json(exclude: [:id, :was_shared]) end get ':id' do # /laws/:id @law = LawProject.all(pl_id: params[:id]) .first @law.to_json(exclude: [:id, :was_shared]) end end end end 11 para pegar um recurso unico, (click)busco o recurso pelo id, vai retornar uma collection então pego o primeiro, esse pl_id é unico e vem da camara(click) excluou os campos desnecessários (da para otimizar isso, mas não é o caso)
resource :laws do get do # /laws @laws = LawProject.all(order: [ :id.desc ]) @laws.to_json(exclude: [:id, :was_shared]) end get ':id' do # /laws/:id @law = LawProject.all(pl_id: params[:id]) .first @law.to_json(exclude: [:id, :was_shared]) end end end end 11 para pegar um recurso unico, (click)busco o recurso pelo id, vai retornar uma collection então pego o primeiro, esse pl_id é unico e vem da camara(click) excluou os campos desnecessários (da para otimizar isso, mas não é o caso)
resource :laws do get do # /laws @laws = LawProject.all(order: [ :id.desc ]) @laws.to_json(exclude: [:id, :was_shared]) end get ':id' do # /laws/:id @law = LawProject.all(pl_id: params[:id]) .first @law.to_json(exclude: [:id, :was_shared]) end end end end 11 para pegar um recurso unico, (click)busco o recurso pelo id, vai retornar uma collection então pego o primeiro, esse pl_id é unico e vem da camara(click) excluou os campos desnecessários (da para otimizar isso, mas não é o caso)
Prop_Detalhe.asp?id=573677", "pl_id": 573677, "proposition": "PL 5433/2013" } 12 e tenho algo assim. É interessante essa coisa do OpenData, vc descobre coisas no mínimo estranhas, como um projeto de lei que cria o dia nacional da mandioca
real, esta lá no meu github. em produção o endpoint é api.projetodelei.vertigem.xxx. O projdelei é BEM pequeno, banco de dados do governo são bem mais complexos.
rails app $ rails new portaldetransparencia-xpto # enter in created project $ cd portaldetransparencia-xpto # install the dependencies $ bundle istall # edit with Gemfile gem 'utopia_data' gem "inherited_resources" gem "roar-rails" # install utopia $ bundle istall 17 Basicamente, e temporariamente, ele roda por cima do Rails, então basta criar um aplicação rails, e depois setar o utopia-data como dependência
order('created_at') end end UtopiaData.register :law do table_name "S1A24" end UtopiaData.register :law do attributes do set :number set :author end end 18 Depois Basta dizer qual recurso quer expor e configura-lo. Um banco read-only é interessante