Skip to content

Instantly share code, notes, and snippets.

View rlisowski's full-sized avatar

Rafał Lisowski rlisowski

  • Warsaw, Poland
View GitHub Profile
@rlisowski
rlisowski / seeds.rb
Last active October 18, 2017 05:38
MapFilters seeds data for PostgreSQL
require Rails.root.join('lib/shapefile_importer')
# PostgreSQL data preparation
Shapefile.delete_all
ActiveRecord::Base.connection.execute("TRUNCATE #{Shapefile.table_name} RESTART IDENTITY")
ShapefilesImporter.new(shapefile_path: Rails.root.join('db/shapefiles/postal_district.shp')).call
Location.delete_all
ActiveRecord::Base.connection.execute("TRUNCATE #{Location.table_name} RESTART IDENTITY")
@rlisowski
rlisowski / shapefile_importer.rb
Last active October 13, 2017 05:55
MapFilters importer
class ShapefileImporter
def call
RGeo::Shapefile::Reader.open(shapefile_path, srid: 4326) do |shapes|
shapes.each do |shape|
Shapefile.create!( area_name: shape.attributes['post_dist'], geometry: shape.geometry)
end
end
end
private
@rlisowski
rlisowski / shapefile.rb
Created October 11, 2017 09:49
MapFilters model
class Shapefile < ApplicationRecord
end
@rlisowski
rlisowski / 20171011094648_create_shapefiles.rb
Last active October 13, 2017 05:54
MapFilters migration
class CreateShapefiles < ActiveRecord::Migration[5.1]
def change
enable_extension "postgis"
create_table :shapefiles do |t|
t.string :area_name
t.geometry :geometry, geographic: true
t.timestamps
end
@rlisowski
rlisowski / convert.bash
Created October 11, 2017 09:34
convert map shapes
ogr2ogr -f "ESRI Shapefile" wgs84.shp shapes.shp -s_srs EPSG:27700 -t_srs EPSG:4326
@rlisowski
rlisowski / run_ror_app.bash
Created October 10, 2017 15:27
MapFilters
rake db:create
rake db:migrate
rails server
@rlisowski
rlisowski / Gemfile.rb
Last active October 12, 2017 06:21
MapFilters Gemfile
gem 'activerecord-postgis-adapter'
gem 'rgeo-geojson'
gem 'rgeo-shapefile'
@rlisowski
rlisowski / new_ror_app.bash
Last active October 10, 2017 15:10
Generate new RubyOnRails app
rails new MapFilters -T --database=postgresql
@rlisowski
rlisowski / capybara cheat sheet
Created September 28, 2017 06:10 — forked from zhengjia/capybara cheat sheet
capybara cheat sheet
=Navigating=
visit('/projects')
visit(post_comments_path(post))
=Clicking links and buttons=
click_link('id-of-link')
click_link('Link Text')
click_button('Save')
click('Link Text') # Click either a link or a button
click('Button Value')
@rlisowski
rlisowski / priority_queue.rb
Created August 27, 2017 18:42
Priority Queue
class Element
include Comparable
attr_accessor :name, :priority
def initialize(name, priority)
@name, @priority = name, priority
end
def <=>(other)