profile
viewpoint

IndigoVerge/candidates 0

Practical tasks for job candidates

namel3ss/auction_task 0

A small prototype for using real-time currency conversion on auction items.

namel3ss/fun_bps 0

Repo for following this tutorial: https://blog.appsignal.com/2019/04/02/background-processing-system-in-ruby.html

namel3ss/gmail_purifier 0

Google script for automatically deleting conversation marked with specific labels.

namel3ss/guides 0

Ръководства и други текстове, свързани с Rails Girls Sofia събитията. http://railsgirls.com/sofia

pull request commentTerrastories/terrastories

WIP: 268 display import errors

@midhunkrishna yes, already rebased and adjusting my stuff. Will ping you for feedback when ready :)

namel3ss

comment created time in 3 months

Pull request review commentTerrastories/terrastories

[#284] Add tests for StoriesController

 group :test do   gem 'chromedriver-helper'   # Factories for creating database entities for testing   gem 'factory_bot_rails'+  gem 'rails-controller-testing'

Since Rails 5 it is recommended to use the built in RSpec request tests, and not use the rails-controller-testing gem.

rgenchev

comment created time in 3 months

Pull request review commentTerrastories/terrastories

[#284] Add tests for StoriesController

 require 'rails_helper'  RSpec.describe StoriesController, type: :controller do+  before :each do+    fabricate_stories+  end +  describe "GET index" do+    it 'should get all stories and assign them to @stories' do+      get :index, format: :json++      Story.all.each { |s| expect(assigns(:stories)).to include(s) }+    end+  end++  describe "GET edit" do+    it 'should return 200 status code' do+      get :edit, params: { id: @miranda_story }++      expect(response.status).to eq(200)+    end++    context 'with existing :id passed' do+      subject { get :edit, params: { id: @miranda_story } }++      it 'should get the story and assign it to @story' do+        subject++        expect(assigns(:story)).to eq(@miranda_story)+      end+    end++    context 'with non-existing :id passed' do+      subject { get :edit, params: { id: -1 } }++      it 'should create a new Story instance and assign it to @story' do+        subject++        expect(assigns(:story)).to be_a_new(Story)+      end+    end+  end++  describe "GET new" do+    subject { get :new }++    it 'should return 200 status code' do+      expect(subject).to have_http_status(200)+    end++    it 'should create a new Story instance and assign it to @story' do+      subject++      expect(assigns(:story)).to be_a_new(Story)+    end+  end++  describe "GET show" do+    subject { get :show, params: { id: @miranda_story } }++    it 'should return 200 status code' do+      expect(subject).to have_http_status(200)+    end++    it 'should get the story and assign it to @story' do+      subject++      expect(assigns(:story)).to eq(@miranda_story)+    end+  end++  describe "POST create" do+    subject { post :create, params: { story: { title: "Story title", desc: "Story description", interview_location_id: @rbtb2019, interviewer_id: @corinne } } }++    before :each do+      fabricate_stories+    end++    it 'should create a new Story record' do+      expect { subject }.to change { Story.count }.by(1)+    end++    it 'should return 302 status code and redirect to :show' do+      expect(subject).to have_http_status(302)+    end++    it 'should redirect to :show' do+      expect(subject).to redirect_to(story_path(assigns(:story)))+    end+  end++  describe "PUT update" do+    subject {+      put :update,+          params: {+            id: @miranda_story,+            story: {+              title: "Story title", desc: "Story description", interview_location_id: @rbtb2019, interviewer_id: @kalimar+            }+          }+    }++    before :each do+      fabricate_stories+    end++    it 'should get the story and assign it to @story' do+      subject++      expect(assigns(:story)).to eq(@miranda_story)+    end++    it 'should update a given Story record' do+      subject++      @miranda_story.reload++      expect(@miranda_story.title).to eq("Story title")+      expect(@miranda_story.desc).to eq("Story description")+      expect(@miranda_story.interview_location_id).to eq(@rbtb2019.id)+      expect(@miranda_story.interviewer_id).to eq(@kalimar.id)+    end++    it 'should return 302 status code and redirect to :show' do+      expect(subject).to have_http_status(302)+    end++    it 'should redirect to :show' do+      expect(subject).to redirect_to(story_path(assigns(:story)))+    end+  end++  private++  def fabricate_stories

There is a factory_bot gem in the Gemfile. Better create test data via fixtures. This way we can them in other tests as well.

rgenchev

comment created time in 3 months

issue commentTerrastories/terrastories

Rebase vs Merge

I would rather much delegate conflicts to the developer of the PR. Otherwise the reviewer may end up into situation to resolve conflicts in code that may not be 100% familiar for him, and thus may again introduce bugs.

Actually this has been a topic in my current team from sometime now. And there is no easy solution. Because every solution has its own pros and cons. For example, I often check my PRs for conflicts maybe daily or so. But it is easier when you work full-time on a project. Here, the case might be different because of the time difference and the different availability of people. Also for the reviewer to fix conflicts, he needs write access to the fork. If it is a local branch that is not an issue.

In conclusion, for me contributing does not end after you submit a PR. I am responsible for the PR until it gets merged and conflicts are my responsibility to fix. Owners and maintainers should not be burdened with that.

kalimar

comment created time in 3 months

pull request commentTerrastories/terrastories

[#296] Add bundle and migrate to docker-compose

I understand your point of view. For me, so far, running bundle and rails db:migrate has been sort of a regular ritual when working on projects with a team or a lot of people. From point of view of deployment it is 100% a build step. From point of development environment, I think the build should contain stuff that don't change often when installed/configured. In case of the gems and migrations, we usually have a lot of changes - updated gem versions, new models, new columns, new indexes, migrating data, etc. In my practice so far, almost after every rebase from master, I need to run these. From that standing point, it is easier for me to just automate these two commands when I spin up my dev environment (be it container or locally starte Puma), and don't have the overhead to build the dev environment every time there is a new change in the Gemfile or the DB schema. Keep in mind that I am using dockerized development environment only for this one and my current job project. Haven't used that approach in the other projects I have worked on so far. In my current project, I find it easy and useful to have these 2 commands on docker-compose up.

namel3ss

comment created time in 3 months

pull request commentTerrastories/terrastories

WIP: [#285] Add place specs

@sleekybadger, FYI: in PR #300 I am removing the import_csv method from the model into an importer class.

sleekybadger

comment created time in 3 months

PR opened Terrastories/terrastories

Add bundle and migrate to docker-compose

Execute bundle and rails db:migrate on docker-compose up. This helps to manage the dev environment easier when there are new gems or migrations added to the project. The developer only needs to stop the running container and run docker-compose up to get everything up to speed.

+8 -3

0 comment

2 changed files

pr created time in 3 months

create barnchnamel3ss/terrastories

branch : 296-improve-docker-compose

created branch time in 3 months

issue commentTerrastories/terrastories

Execute bundle and rails db:migrate on docker-compose up

@kalimar I can put a merge request instantly. Already have it locally for me ;)

namel3ss

comment created time in 3 months

push eventnamel3ss/terrastories

MxOliver

commit sha c867f12c2d896f46b26e778ca8cf8741f5d9c923

Add other docker command for opening rails container. Not sure if this is really an either or, or if the -it flag was missing by accident but the first command didn’t work for me.

view details

push time in 4 months

push eventnamel3ss/terrastories

Martin Mihaylov

commit sha 26fa97ac5bbafb4dca3b3c0de299d2740a8d9869

Adjust import button paddings

view details

push time in 4 months

issue commentTerrastories/terrastories

Setting-up RuboCop and Eslint

I vote for that as well. Would suggest to discuss what works best for everyone, because the default config of rubocop is too strict in some cases IMO. Also would advise to start applying it only on new changes as a starter, and apply it everywhere once there are not so many PR open.

midhunkrishna

comment created time in 4 months

issue commentTerrastories/terrastories

Rebase vs Merge

I am used to the Rebase approach. At my job there are around 10-15 people working concurrently on the same project. We still use rebase. It might be a bit annoying to constantly have to rebase you branch because something was merged in master. But it doesn't make a big difference what approach you are using. If there are no conflicts the pull request will be green anyway and someone can merge it. And if not green, no matter if you use merge or rebase, someone still has to solve the conflicts them before merging the PR.

kalimar

comment created time in 4 months

Pull request review commentTerrastories/terrastories

287 add test coverage for story model

 class Story < ApplicationRecord+  MEDIA_PATH = Rails.env.test? ? 'spec/fixtures/media' : 'media'

The media path is used by other models as well. I was thinking, why not add it as a custom Rails configuration variable, and set it in the different environment configs. Like:

# application.rb
Rails.application.configure do
  config.media_path = 'media'
end

overwrite it in test.rb and then just call:

Rails.configuration.media_path
midhunkrishna

comment created time in 4 months

pull request commentTerrastories/terrastories

WIP: 268 display import errors

WIP, because I want to rebase on #295 once approved and merged.

namel3ss

comment created time in 4 months

PR opened Terrastories/terrastories

WIP: 268 display import errors

This merge request introduces the following:

  • The Import concern allows any controller to have import action that invokes the import method of its model. Additionally we have a similar concern in the routes as well.
  • The Importable concern allows any model to support import by providing the importer class to be used. It expects the importer instance to be initialized with some data and respond to import.
  • The base importer class is a template class for CSV importing. To create an importer for specific model, inherit from the base importer and define the import_row method for that specific model.
  • Importers for the Place, Speaker and Story models. Implements the Importable and Import concerns in the models and their respective controllers. Clears out the importing code from the models and adds some DRY to the importing.
  • Specs for the importable concern and the importers. Includes Stories, Speakers and Places importers.
  • Marks interview_location and interviewer relations of the Story class as optional as per Rails 5+
  • Minor UI fixes and visualisation of importing errors in the Admin area.
+568 -170

0 comment

30 changed files

pr created time in 4 months

startedToxblh/MTMR

started time in 4 months

startedbillziss-gh/EnergyBar

started time in 4 months

push eventnamel3ss/terrastories

Martin Mihaylov

commit sha aa9cf11895fe1d831cab76e4c38a76c1a46aecdb

Add Places, Speakers and Stories importers Adds importers for the Place, Speaker and Story models. Implements the Importable and Import concerns in the models and their respective controllers. Clears out the importing code from the models and adds some DRY to the importing.

view details

Martin Mihaylov

commit sha d329845648914eda6ae7f177850bcf09a693fa07

Add specs for importable and importers Add specs for the importable concern and the importers. Includes Stories, Speakers and Places importers.

view details

Martin Mihaylov

commit sha 95deade26862515fd0080f76d912f5fecb49fbf7

Fix bugs with import Fix bug with wrong column indexes for lat and long columns for stories. Fix bug with wrong date format for stories.

view details

Martin Mihaylov

commit sha a7a88abf5ccf56ebe77c85b86a3649d87f83b61e

Make interviewer and intwerview_location optional Since Rails 5 `belongs_to` relations are mandatory. We need to add `optional: true` to make the optional.

view details

push time in 4 months

push eventnamel3ss/terrastories

Martin Mihaylov

commit sha 2e37924b63858914851b99845245eb5b0fb10ace

Add Places, Speakers and Stories importers Adds importers for the Place, Speaker and Story models. Implements the Importable and Import concerns in the models and their respective controllers. Clears out the importing code from the models and adds some DRY to the importing.

view details

Martin Mihaylov

commit sha ccdb98b57f7e756928fcc8714d0aa7fe7732edf0

Add specs for importable and importers Add specs for the importable concern and the importers. Includes Stories, Speakers and Places importers.

view details

Martin Mihaylov

commit sha 5c1f469d8e8b9dc283a0c6ea57f407a0802bb582

Fix bugs with import Fix bug with wrong column indexes for lat and long columns for stories. Fix bug with wrong date format for stories.

view details

Martin Mihaylov

commit sha 3ee0b46df81273a6002b989c976206a8f472bff0

Make interviewer and intwerview_location optional Since Rails 5 `belongs_to` relations are mandatory. We need to add `optional: true` to make the optional.

view details

push time in 4 months

push eventnamel3ss/terrastories

Martin Mihaylov

commit sha 788a071dc5070bc317832da3a9299ef2f4093e27

Add tests for importable and importers

view details

push time in 4 months

push eventnamel3ss/terrastories

Martin Mihaylov

commit sha 1b35e30601b016e104baf27ea8496320cd305bac

Add Import and Importable concerns The Import concern allows any controller to have import action that invokes the import method of its model. Additionally we have a similar concern in the routes as well. The Importable concern allows any model to support import by providing the importer class to be used. It expects the importer instance to be initialized with some data and respond to import.

view details

Martin Mihaylov

commit sha 4a8751a10de708568310972c1347b57ee87460cd

Add base importer class The base importer class is a template class for CSV importing. To create an importer for specific model, inherit from the base importer and define the import_row method for that specific model.

view details

Martin Mihaylov

commit sha e29811943d6dd97bae1ec33cd7f34c6fbe495d1a

Add Places, Speakers and Stories importers Adds importers for the Place, Speaker and Story models. Implements the Importable and Import concerns in the models and their respective controllers. Clears out the importing code from the models and adds some DRY to the importing.

view details

push time in 4 months

pull request commentTerrastories/terrastories

[Map] Adding Sort functionality to the Sidebar

@mirandawang The translations look fine on my side. I have changed the en.yml file to be UNIX compliant in terms of line endings. Could you try restarting your rails server or docker container? If that doesn't help, ping me in Slack when you are available, and we can investigate. Screenshot 2019-10-09 at 8 35 58

namel3ss

comment created time in 4 months

push eventnamel3ss/terrastories

Martin Mihaylov

commit sha 6fcf37bab6fbbe3b9d2f831237b720a8431ab10f

Add Import and Importable concerns The Import concern allows any controller to have import action that invokes the import method of its model. Additionally we have a similar concern in the routes as well. The Importable concern allows any model to support import by providing the importer class to be used. It expects the importer instance to be initialized with some data and respond to import.

view details

Martin Mihaylov

commit sha 6469e63f69e65c1881042f946ec95d2ef422ea21

Add base importer class The base importer class is a template class for CSV importing. To create an importer for specific model, inherit from the base importer and define the import_row method for that specific model.

view details

Martin Mihaylov

commit sha 1636f84fa21a5a8b446822dab73ce59ce235f53c

Add Places, Speakers and Stories importers Adds importers for the Place, Speaker and Story models. Implements the Importable and Import concerns in the models and their respective controllers. Clears out the importing code from the models and adds some DRY to the importing.

view details

push time in 4 months

push eventnamel3ss/terrastories

Martin Mihaylov

commit sha 30f8390fe05c7a3a87f559f7f5aa542681bb4c97

Add Places importer Refactor the way places are imported and use an Importer object. This commit introduces the BaseImporter class. It is used as a tempalte for all other importers. It wraps the improt inside an ActiveRecord transaction. Also the commit adds a ImportError object that is used by the BaseImporter. Also moves the import action into the admin controllers.

view details

push time in 4 months

create barnchnamel3ss/terrastories

branch : 268-display-import-errors

created branch time in 4 months

push eventnamel3ss/terrastories

Martin Mihaylov

commit sha dc386af4e819bd6603c53ce4b5762cb4755d5c82

Add stories sorting in the story list Add sorting dropdown to the story list. The dropdown contains the following options - most recent, alphabetical and reveresed alphabetical. Change the JSON builder to fetch the created_at attribute for stories. Fix the line endings in the en.yml file to UNIX, so it is consistent with the other files.

view details

push time in 4 months

issue commentTerrastories/terrastories

[CMS] Make errors visible when the importer fails

I will take a look into that.

mirandawang

comment created time in 4 months

PR opened Terrastories/terrastories

#267 [Map] Adding Sort functionality to the Sidebar

Add sorting dropdown to the story list. The dropdown contains the following options - most recent, alphabetical and reveresed alphabetical.

Change the JSON builder to fetch the created_at attribute for stories.

Fix the line endings in the en.yml file to UNIX, so it is consistent with the other files.

+185 -68

0 comment

11 changed files

pr created time in 4 months

push eventnamel3ss/terrastories

Martin Mihaylov

commit sha 25302ada01355b5f806c9c09d088d60746b90bac

Add stories sorting in the story list Add sorting dropdown to the story list. The dropdown contains the following options - most recent, alphabetical and reveresed alphabetical. Change the JSON builder to fetch the created_at attribute for stories. Fix the line endings in the en.yml file to UNIX, so it is consistent with the other files.

view details

push time in 4 months

issue openedTerrastories/terrastories

Execute bundle and rails db:migrate on docke-compose up

When there are new gems added to the app or pending migrations, it is a lot more easier to just stop the composer and up it again. We can add the bundle and rails db:migrare commands to the composer.

created time in 4 months

push eventnamel3ss/terrastories

MxOliver

commit sha 33674581d4e7ab84c501473aeed56e1ff16cddc5

Add community field to database + speaker form (same as original PR but in new dev environment)

view details

Oliver

commit sha 533e8d97d9ae248a03b1754240429d8f4116c26d

Update SETUP.md Probably not super important but 3, and 4 from the table of contents had an extra space that prevented them from being links

view details

lsfernandes92

commit sha 465effb727600af9f40b31180e58b096ec674313

Add new translations for administrate page

view details

lsfernandes92

commit sha 76ea5da942855f4e4ea348dd2d797fa7434283ab

Change translate name for the 'place_type' The task was to translate the 'place_type' and 'region' string from marker popup from the map. It turns out that the texts was hard coded. I found the key named 'select_place_type' in those files that was exactly the translate I needed. So to not create another key for that I just renamed the existed one. Also for the record that existed key was only used for the story filter in the index page, so it did not interfered.

view details

lsfernandes92

commit sha 433fa520507cf11d8eed039839d61a5c4298fcdb

Add translation to map markers popup 'region' and 'type of place'

view details

lsfernandes92

commit sha 230c4d3fd9cfa16fa7449b133b5573f182dbcd5e

Add translation to administrate sidebar

view details

lsfernandes92

commit sha 8fe99e6c3e7d69b800e496a106026505affc81c4

Add translation to administrate table headers

view details

lsfernandes92

commit sha 85d7cfb3a9551bbe40ce05209e668982ba8933d1

Update administrate page with missing translations This include translations to: page title, search field, create button and the import section from admin page

view details

Oliver

commit sha e121131c8f36230d8b33ad068559f63db76e917a

Merge pull request #272 from Terrastories/262-add-community-field-NEW_DEV_ENV Add community field to database + speaker form

view details

Miranda Wang

commit sha 5d5bcb33337e613995a2f71f4695ebfc0ae5d702

Update contributing guidelines about the status:claimed label

view details

Miranda Wang

commit sha 60c528bcff8dcfccf03eab3fc01454e861c3bc9c

Update README.md

view details

MxOliver

commit sha c15f31a7a6362f815fedbde067f05c73ac199d50

Clear out entire spec directory and reconfigure spec. Initialize one model test to ensure test env is running okay

view details

MxOliver

commit sha 1a38b1b926f9e2918bd0cfade8d39a9e6cc6b029

Add simplecov gem and run test coverage

view details

Martin Mihaylov

commit sha 3a49bff8aa79633dac69a0042b2c984bc0b1f48a

Add stories sorting in the story list Add sorting dropdown to the story list. The dropdown contains the following options - most recent, alphabetical and reveresed alphabetical. Change the JSON builder to fetch the created_at attribute for stories. Fix the line endings in the en.yml file to UNIX, so it is consistent with the other files.

view details

push time in 4 months

push eventnamel3ss/terrastories

MxOliver

commit sha 33674581d4e7ab84c501473aeed56e1ff16cddc5

Add community field to database + speaker form (same as original PR but in new dev environment)

view details

Oliver

commit sha 533e8d97d9ae248a03b1754240429d8f4116c26d

Update SETUP.md Probably not super important but 3, and 4 from the table of contents had an extra space that prevented them from being links

view details

lsfernandes92

commit sha 465effb727600af9f40b31180e58b096ec674313

Add new translations for administrate page

view details

lsfernandes92

commit sha 76ea5da942855f4e4ea348dd2d797fa7434283ab

Change translate name for the 'place_type' The task was to translate the 'place_type' and 'region' string from marker popup from the map. It turns out that the texts was hard coded. I found the key named 'select_place_type' in those files that was exactly the translate I needed. So to not create another key for that I just renamed the existed one. Also for the record that existed key was only used for the story filter in the index page, so it did not interfered.

view details

lsfernandes92

commit sha 433fa520507cf11d8eed039839d61a5c4298fcdb

Add translation to map markers popup 'region' and 'type of place'

view details

lsfernandes92

commit sha 230c4d3fd9cfa16fa7449b133b5573f182dbcd5e

Add translation to administrate sidebar

view details

lsfernandes92

commit sha 8fe99e6c3e7d69b800e496a106026505affc81c4

Add translation to administrate table headers

view details

lsfernandes92

commit sha 85d7cfb3a9551bbe40ce05209e668982ba8933d1

Update administrate page with missing translations This include translations to: page title, search field, create button and the import section from admin page

view details

Oliver

commit sha e121131c8f36230d8b33ad068559f63db76e917a

Merge pull request #272 from Terrastories/262-add-community-field-NEW_DEV_ENV Add community field to database + speaker form

view details

Miranda Wang

commit sha 5d5bcb33337e613995a2f71f4695ebfc0ae5d702

Update contributing guidelines about the status:claimed label

view details

Miranda Wang

commit sha 60c528bcff8dcfccf03eab3fc01454e861c3bc9c

Update README.md

view details

MxOliver

commit sha c15f31a7a6362f815fedbde067f05c73ac199d50

Clear out entire spec directory and reconfigure spec. Initialize one model test to ensure test env is running okay

view details

MxOliver

commit sha 1a38b1b926f9e2918bd0cfade8d39a9e6cc6b029

Add simplecov gem and run test coverage

view details

push time in 4 months

create barnchnamel3ss/terrastories

branch : 267-add-sorting-to-stories

created branch time in 4 months

issue commentTerrastories/terrastories

[Map] Adding Sort functionality to the Sidebar

@rudokemper I am already there! Will post any questions here or there. :)

mirandawang

comment created time in 4 months

issue commentTerrastories/terrastories

[Map] Adding Sort functionality to the Sidebar

On it! ;)

mirandawang

comment created time in 4 months

create barnchnamel3ss/terrastories

branch : 267-add-sorting-to-sider

created branch time in 4 months

issue commentTerrastories/terrastories

[Map] Adding Sort functionality to the Sidebar

Hello, I would like to start working on that! 🙂

mirandawang

comment created time in 4 months

issue commentTerrastories/terrastories

[CMS] Add 'community' string field to Speaker model

Hey, what is the status of this issue? Is it still being worked on?

rudokemper

comment created time in 4 months

fork namel3ss/terrastories

Terrastories is a geostorytelling application built to enable local communities to locate and map their own oral storytelling traditions about places of significant meaning or value to them.

http://terrastories.io

fork in 4 months

create barnchnamel3ss/fun_bps

branch : master

created branch time in 4 months

created repositorynamel3ss/fun_bps

Repo for following this tutorial: https://blog.appsignal.com/2019/04/02/background-processing-system-in-ruby.html

created time in 4 months

more