profile
viewpoint
Swift theycallmeswift Major League Hacking (MLH) New York, New York https://theycallmeswift.dev

MLH/mlh-hackathon-flask-starter 691

Hackathon starter project for Flask applications

csquared/arduino-restclient 205

Arduino RESTful HTTP Request Library

theycallmeswift/BreakfastSerial 115

A Firmata based framework for interacting with Arduinos over serial.

rohitdatta/pepper 22

The spiciest hackathon application and user management system out there 🌶🌶🌶

theycallmeswift/arduino-101-workshop 14

A basic arduino workshop with Node.js

haxordx/challenges 3

Level up and earn prizes by reporting friction in developer tools!

theycallmeswift/Colloqueasy 3

Social network for CS336 written in PHP

theycallmeswift/declaration-of-twitter-independence 3

The Declaration of Independence for Twitter Developers

sakib/hackru 2

HackRU Spring 2016 Flask App

PullRequestReviewEvent

Pull request review commentMLH/omniauth-mlh

[DEV-728] Setup GitHub workflow and update documentation

-AllCops:-  TargetRubyVersion: '2.2.0'+require: +  - rubocop-rspec+  - rubocop-performance -Naming/FileName:+AllCops:+  # Ruby 2.7 is the MINIMUM Ruby version supported+  TargetRubyVersion: '2.7.0'   Exclude:-    - 'lib/omniauth-mlh.rb'+    - vendor/**/* -Metrics/BlockLength:-  Exclude:-    - 'Rakefile'-    - '**/*.rake'-    - 'spec/**/*'+Style/WordArray:+  EnforcedStyle: brackets

You're missing the Description and Enabled attributes for clarity.

RashikaKarki

comment created time in 3 months

Pull request review commentMLH/omniauth-mlh

[DEV-728] Setup GitHub workflow and update documentation

 #!/usr/bin/env rake+# frozen_string_literal: true+ require 'bundler/gem_tasks' require 'rspec/core/rake_task'+require 'rubocop/rake_task'  RSpec::Core::RakeTask.new+RuboCop::RakeTask.new  desc 'Run specs'-task default: :spec+task default: %i[spec rubocop]

This isn't resolved

RashikaKarki

comment created time in 3 months

Pull request review commentMLH/omniauth-mlh

[DEV-728] Setup GitHub workflow and update documentation

-AllCops:-  TargetRubyVersion: '2.2.0'+require: +  - rubocop-rspec+  - rubocop-performance -Naming/FileName:+AllCops:+  # Ruby 2.7 is the MINIMUM Ruby version supported+  TargetRubyVersion: '2.7.0'   Exclude:-    - 'lib/omniauth-mlh.rb'+    - vendor/**/* -Metrics/BlockLength:-  Exclude:-    - 'Rakefile'-    - '**/*.rake'-    - 'spec/**/*'+RSpec/MultipleExpectations:

This was never resolved

RashikaKarki

comment created time in 3 months

Pull request review commentMLH/omniauth-mlh

[DEV-728] Setup GitHub workflow and update documentation

-AllCops:-  TargetRubyVersion: '2.2.0'+require: +  - rubocop-rspec+  - rubocop-performance -Naming/FileName:+AllCops:+  # Ruby 2.7 is the MINIMUM Ruby version supported+  TargetRubyVersion: '2.7.0'   Exclude:-    - 'lib/omniauth-mlh.rb'+    - vendor/**/* -Metrics/BlockLength:-  Exclude:-    - 'Rakefile'-    - '**/*.rake'-    - 'spec/**/*'+Style/WordArray:+  EnforcedStyle: brackets++Style/SymbolArray: +  Description: Force symbol arrays to use bracket notation +  EnforcedStyle: brackets +  Enabled: true++Style/RegexpLiteral:+  AllowInnerSlashes: true

You're missing the Description and Enabled attributes for clarity.

RashikaKarki

comment created time in 3 months

Pull request review commentMLH/omniauth-mlh

[DEV-728] Setup GitHub workflow and update documentation

 

This file still has %i[ ] bracket notation

RashikaKarki

comment created time in 3 months

PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commentMLH/omniauth-mlh

[DEV-728] Setup GitHub workflow and update documentation

 #!/usr/bin/env rake+# frozen_string_literal: true+ require 'bundler/gem_tasks' require 'rspec/core/rake_task'+require 'rubocop/rake_task'  RSpec::Core::RakeTask.new+RuboCop::RakeTask.new  desc 'Run specs'-task default: :spec+task default: %i[spec rubocop]

This is the thing we are disabling in OHQ. We should disable it here as well

RashikaKarki

comment created time in 3 months

PullRequestReviewEvent

Pull request review commentMLH/omniauth-mlh

[DEV-728] Setup GitHub workflow and update documentation

-AllCops:-  TargetRubyVersion: '2.2.0'+require: +  - rubocop-rspec+  - rubocop-performance -Naming/FileName:+AllCops:+  # Ruby 2.7 is the MINIMUM Ruby version supported+  TargetRubyVersion: '2.7.0'   Exclude:-    - 'lib/omniauth-mlh.rb'+    - vendor/**/* -Metrics/BlockLength:-  Exclude:-    - 'Rakefile'-    - '**/*.rake'-    - 'spec/**/*'+RSpec/MultipleExpectations:

I actually dislike this rule. I think we should disable it. This is a good default to include in OHQ as well!

RSpec/MultipleExpectations:
  Description: Allow tests to contain multiple expectations
  Enabled: false
RashikaKarki

comment created time in 3 months

PullRequestReviewEvent

issue commentemail-spec/email-spec

undefined local variable or method `reset_mailer'

Did this ever get resolved? We are seeing the same intermittent error where a test gets run before ActionMailer is loaded, resulting in the error below:

NameError: undefined local variable or method `reset_mailer' 

Would be great to have a recommended official fix.

alec-c4

comment created time in 3 months

PullRequestReviewEvent

pull request commentMLH/omniauth-mlh

[DEV-727] Eliminate unnecessary dependencies

LGTM!

RashikaKarki

comment created time in 3 months

Pull request review commentMLH/omniauth-mlh

[DEV-728] Setup GitHub workflow and update documentation

 #!/usr/bin/env rake require 'bundler/gem_tasks' require 'rspec/core/rake_task'+require 'rubocop/rake_task'  RSpec::Core::RakeTask.new+RuboCop::RakeTask.new do |task|

You don't need the block here at all. Rubocop will pick up the .rubocop.yml file by default and will include all lintable files. You're actually missing some files with your patterns definiton.

RashikaKarki

comment created time in 3 months

Pull request review commentMLH/omniauth-mlh

[DEV-728] Setup GitHub workflow and update documentation

 #!/usr/bin/env rake require 'bundler/gem_tasks' require 'rspec/core/rake_task'+require 'rubocop/rake_task'  RSpec::Core::RakeTask.new+RuboCop::RakeTask.new do |task|+    task.patterns = ['**/*.rb']+    task.options = ['-c', '.rubocop.yml']+end  desc 'Run specs' task default: :spec

task default: [:rubocop, :spec]

RashikaKarki

comment created time in 3 months

Pull request review commentMLH/omniauth-mlh

[DEV-728] Setup GitHub workflow and update documentation

 AllCops:-  TargetRubyVersion: '2.2.0'+  TargetRubyVersion: '2.7.0' +# Naming section allows you to enforce consistent naming conventions across your codebase.

Make this comment specific to the reason you're overriding the default behavior, not a description of the default. E.g. Answer the question why are you excluding lib/omniauth-mlh.rb?

RashikaKarki

comment created time in 3 months

Pull request review commentMLH/omniauth-mlh

[DEV-728] Setup GitHub workflow and update documentation

 AllCops:

I think you'll address a lot of this in the ticket for adding Rubocop to OHQ, but here are some good resources:

  • https://github.com/thoughtbot/guides/blob/main/ruby/.rubocop.yml
  • https://github.com/rubocop/rubocop/blob/master/config/default.yml
RashikaKarki

comment created time in 3 months

Pull request review commentMLH/omniauth-mlh

[DEV-728] Setup GitHub workflow and update documentation

 AllCops:-  TargetRubyVersion: '2.2.0'+  TargetRubyVersion: '2.7.0' +# Naming section allows you to enforce consistent naming conventions across your codebase. Naming/FileName:   Exclude:     - 'lib/omniauth-mlh.rb' +# Metrics section allows you to enforce code complexity rules to keep the codebase maintainable. Metrics/BlockLength:   Exclude:     - 'Rakefile'     - '**/*.rake'     - 'spec/**/*'++# Two spaces, no tabs (for indentation).+Layout/IndentationWidth:+  Enabled: true++# No trailing whitespace.+Layout/TrailingWhitespace:+  Enabled: true++# Blank lines should not have any spaces.+Layout/TrailingEmptyLines:

This is enabled by default: https://github.com/rubocop/rubocop/blob/master/config/default.yml#L1503

RashikaKarki

comment created time in 3 months

Pull request review commentMLH/omniauth-mlh

[DEV-728] Setup GitHub workflow and update documentation

 AllCops:-  TargetRubyVersion: '2.2.0'+  TargetRubyVersion: '2.7.0' +# Naming section allows you to enforce consistent naming conventions across your codebase. Naming/FileName:   Exclude:     - 'lib/omniauth-mlh.rb' +# Metrics section allows you to enforce code complexity rules to keep the codebase maintainable. Metrics/BlockLength:   Exclude:     - 'Rakefile'     - '**/*.rake'     - 'spec/**/*'++# Two spaces, no tabs (for indentation).+Layout/IndentationWidth:+  Enabled: true++# No trailing whitespace.+Layout/TrailingWhitespace:+  Enabled: true++# Blank lines should not have any spaces.+Layout/TrailingEmptyLines:+  Enabled: true++# Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.+Style/HashSyntax:+  Enabled: true++# Use my_method(my_arg) not my_method( my_arg ) or my_method my_arg.+Lint/RequireParentheses:

This is enabled by default: https://github.com/rubocop/rubocop/blob/master/config/default.yml#L2195

RashikaKarki

comment created time in 3 months

Pull request review commentMLH/omniauth-mlh

[DEV-728] Setup GitHub workflow and update documentation

 AllCops:-  TargetRubyVersion: '2.2.0'+  TargetRubyVersion: '2.7.0' +# Naming section allows you to enforce consistent naming conventions across your codebase. Naming/FileName:   Exclude:     - 'lib/omniauth-mlh.rb' +# Metrics section allows you to enforce code complexity rules to keep the codebase maintainable. Metrics/BlockLength:   Exclude:     - 'Rakefile'     - '**/*.rake'     - 'spec/**/*'++# Two spaces, no tabs (for indentation).+Layout/IndentationWidth:

This is enabled by default: https://github.com/rubocop/rubocop/blob/master/config/default.yml

RashikaKarki

comment created time in 3 months

Pull request review commentMLH/omniauth-mlh

[DEV-728] Setup GitHub workflow and update documentation

 AllCops:-  TargetRubyVersion: '2.2.0'+  TargetRubyVersion: '2.7.0' +# Naming section allows you to enforce consistent naming conventions across your codebase. Naming/FileName:   Exclude:     - 'lib/omniauth-mlh.rb' +# Metrics section allows you to enforce code complexity rules to keep the codebase maintainable. Metrics/BlockLength:   Exclude:     - 'Rakefile'     - '**/*.rake'     - 'spec/**/*'++# Two spaces, no tabs (for indentation).+Layout/IndentationWidth:+  Enabled: true++# No trailing whitespace.+Layout/TrailingWhitespace:

This is enabled by default: https://github.com/rubocop/rubocop/blob/master/config/default.yml#L1514

RashikaKarki

comment created time in 3 months

Pull request review commentMLH/omniauth-mlh

[DEV-728] Setup GitHub workflow and update documentation

 AllCops:-  TargetRubyVersion: '2.2.0'+  TargetRubyVersion: '2.7.0'

Can you add this comment above this line?

# Ruby 2.7 is the MINIMUM Ruby version supported
RashikaKarki

comment created time in 3 months

Pull request review commentMLH/omniauth-mlh

[DEV-728] Setup GitHub workflow and update documentation

 AllCops:-  TargetRubyVersion: '2.2.0'+  TargetRubyVersion: '2.7.0' +# Naming section allows you to enforce consistent naming conventions across your codebase. Naming/FileName:   Exclude:     - 'lib/omniauth-mlh.rb' +# Metrics section allows you to enforce code complexity rules to keep the codebase maintainable. Metrics/BlockLength:   Exclude:     - 'Rakefile'     - '**/*.rake'     - 'spec/**/*'++# Two spaces, no tabs (for indentation).+Layout/IndentationWidth:+  Enabled: true++# No trailing whitespace.+Layout/TrailingWhitespace:+  Enabled: true++# Blank lines should not have any spaces.+Layout/TrailingEmptyLines:+  Enabled: true++# Use Ruby >= 1.9 syntax for hashes. Prefer { a: :b } over { :a => :b }.+Style/HashSyntax:

This is enabled by default: https://github.com/rubocop/rubocop/blob/master/config/default.yml#L3912

RashikaKarki

comment created time in 3 months

Pull request review commentMLH/omniauth-mlh

[DEV-728] Setup GitHub workflow and update documentation

 AllCops:-  TargetRubyVersion: '2.2.0'+  TargetRubyVersion: '2.7.0' +# Naming section allows you to enforce consistent naming conventions across your codebase. Naming/FileName:   Exclude:     - 'lib/omniauth-mlh.rb' +# Metrics section allows you to enforce code complexity rules to keep the codebase maintainable. Metrics/BlockLength:

I prefer:

Metrics/BlockLength:
  CountComments: true 
  Max: 25
  Exclude:
    - "spec/**/*"
RashikaKarki

comment created time in 3 months

PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commentMLH/omniauth-mlh

[DEV-728] Setup GitHub workflow and update documentation

 require 'omniauth-mlh/version' Gem::Specification.new do |spec|   spec.name          = 'omniauth-mlh'   spec.version       = OmniAuth::MLH::VERSION-  spec.authors       = ['Swift']-  spec.email         = ['swift@mlh.io']+  spec.authors       = ['MLH']

'Major League Hacking (MLH)'

RashikaKarki

comment created time in 3 months

Pull request review commentMLH/omniauth-mlh

[DEV-728] Setup GitHub workflow and update documentation

+# Contributing Guidelines++Thank you for considering contributing to omniauth-mlh.++## Contributor Checklist++- Fork the Repo ( https://github.com/mlh/omniauth-mlh/fork )+- Create your feature branch (`git checkout -b my-new-feature`)+- Commit your changes (`git commit -am 'Add some feature'`)+- Push to the branch (`git push origin my-new-feature`)+- Create a new Pull Request++## Local Testing Strategy++To test omniauth-mlh locally, you can use [Sinatra application](https://gist.github.com/theycallmeswift/d8a8a22f95dd5d35f03661b19665e0d3). Here are the steps to set up and run the application:++- Add files from [Sinatra application](https://gist.github.com/theycallmeswift/d8a8a22f95dd5d35f03661b19665e0d3) in a folder within a directory next to the checked out [omniauth-mlh](https://github.com/MLH/omniauth-mlh) library. +- Add your `api_key` and `api_secret` from your My MLH application to `server.rb` file+- Install the required gems+```bundle install```+- Run the Sinatra Application+```bundle exec rackup```+- Test the application +Go to `http://localhost:9292` in your browser to test the application++## Releasing a New Version of the Gem++To release a new version of the Gem, follow these steps:++- Update the version number +Replace the version in `OmniAuth::MLH::Version` with new version number you want to release, following the Semantic Versioning convention.+- Commit and push the changes+- Create a new release on GitHub+  - Go to the repository page+  - Click on the "Releases" tab+  - Click on the "Draft a new release" button+  - Fill the release information, including the tag version, release title, and release notes+- Build and publish the Gem+```+gem build omniauth-mlh.gemspec+gem push omniauth-mlh-X.Y.Z.gem+```+Replace `X.Y.Z` with the new version number you want to release.

We should remove this section anyway. It's not on the contributor to maintain the version number, that's on the maintainer (us). I do think we may want to document the release process somewhere though. Maybe in the Engineering gitbook?

Also, this is missing the tagging steps:

$ git commit -m "vX.Y.Z"
$ git tag -a vX.Y.Z -m "vX.Y.Z"
$ git push origin main --tags
RashikaKarki

comment created time in 3 months

more