Skip to content

Commit

Permalink
Removes unused files. Adds common Gems. Fills out generic gemspec
Browse files Browse the repository at this point in the history
  • Loading branch information
omgreenfield committed Aug 23, 2024
0 parents commit 992e6dc
Show file tree
Hide file tree
Showing 12 changed files with 317 additions and 0 deletions.
27 changes: 27 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Ruby

on:
push:
branches:
- main

pull_request:

jobs:
build:
runs-on: ubuntu-latest
name: Ruby ${{ matrix.ruby }}
strategy:
matrix:
ruby:
- '3.2.1'

steps:
- uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- name: Run the default task
run: bundle exec rake
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/.bundle/
/.yardoc
/_yardoc/
/coverage/
/doc/
/pkg/
/spec/reports/
/tmp/

# rspec failure tracking
.rspec_status
3 changes: 3 additions & 0 deletions .rspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
--format documentation
--color
--require spec_helper
35 changes: 35 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# frozen_string_literal: true

source 'https://rubygems.org'

gemspec

# General
gem 'activesupport'
gem 'amatch'
gem 'dotenv'
gem 'hashdiff'
gem 'highline'
gem 'logger'
gem 'nokogiri'
gem 'text'
gem 'zeitwerk'

# OMG
gem 'omg-attrs'
gem 'omg-audit-group'
gem 'omg-thor-ext'

# Debugging
gem 'pry-byebug'
gem 'pry-stack_explorer'
gem 'pry'

# Testing
gem 'rspec'

# CLI
gem 'thor'
gem 'tty-cursor'
gem 'tty-prompt'
gem 'tty-spinner'
154 changes: 154 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
PATH
remote: .
specs:
ruby-project-template (0.1.0)

GEM
remote: https://rubygems.org/
specs:
activemodel (7.1.4)
activesupport (= 7.1.4)
activerecord (7.1.4)
activemodel (= 7.1.4)
activesupport (= 7.1.4)
timeout (>= 0.4.0)
activesupport (7.1.4)
base64
bigdecimal
concurrent-ruby (~> 1.0, >= 1.0.2)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
minitest (>= 5.1)
mutex_m
tzinfo (~> 2.0)
amatch (0.4.1)
mize
tins (~> 1.0)
audited (5.7.0)
activerecord (>= 5.2, < 8.0)
activesupport (>= 5.2, < 8.0)
base64 (0.2.0)
bigdecimal (3.1.8)
binding_of_caller (1.0.1)
debug_inspector (>= 1.2.0)
byebug (11.1.3)
coderay (1.1.3)
concurrent-ruby (1.3.4)
connection_pool (2.4.1)
debug_inspector (1.2.0)
diff-lcs (1.5.1)
dotenv (3.1.2)
drb (2.2.1)
hashdiff (1.1.1)
highline (3.1.0)
reline
i18n (1.14.5)
concurrent-ruby (~> 1.0)
io-console (0.7.2)
logger (1.6.0)
method_source (1.1.0)
minitest (5.25.1)
mize (0.6.0)
mutex_m (0.2.0)
nokogiri (1.16.7-aarch64-linux)
racc (~> 1.4)
nokogiri (1.16.7-arm-linux)
racc (~> 1.4)
nokogiri (1.16.7-arm64-darwin)
racc (~> 1.4)
nokogiri (1.16.7-x86-linux)
racc (~> 1.4)
nokogiri (1.16.7-x86_64-darwin)
racc (~> 1.4)
nokogiri (1.16.7-x86_64-linux)
racc (~> 1.4)
omg-attrs (0.1.1)
omg-audit-group (0.1.4)
activerecord (>= 5.2, < 7.2)
audited (>= 4.9, < 6.0)
omg-thor-ext (0.1.0)
pastel (0.8.0)
tty-color (~> 0.5)
pry (0.14.2)
coderay (~> 1.1)
method_source (~> 1.0)
pry-byebug (3.10.1)
byebug (~> 11.0)
pry (>= 0.13, < 0.15)
pry-stack_explorer (0.6.1)
binding_of_caller (~> 1.0)
pry (~> 0.13)
racc (1.8.1)
reline (0.5.9)
io-console (~> 0.5)
rspec (3.13.0)
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
rspec-mocks (~> 3.13.0)
rspec-core (3.13.0)
rspec-support (~> 3.13.0)
rspec-expectations (3.13.2)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-mocks (3.13.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-support (3.13.1)
sync (0.5.0)
text (1.3.1)
thor (1.3.1)
timeout (0.4.1)
tins (1.33.0)
bigdecimal
sync
tty-color (0.6.0)
tty-cursor (0.7.1)
tty-prompt (0.23.1)
pastel (~> 0.8)
tty-reader (~> 0.8)
tty-reader (0.9.0)
tty-cursor (~> 0.7)
tty-screen (~> 0.8)
wisper (~> 2.0)
tty-screen (0.8.2)
tty-spinner (0.9.3)
tty-cursor (~> 0.7)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
wisper (2.0.1)
zeitwerk (2.6.17)

PLATFORMS
aarch64-linux
arm-linux
arm64-darwin
x86-linux
x86_64-darwin
x86_64-linux

DEPENDENCIES
activesupport
amatch
dotenv
hashdiff
highline
logger
nokogiri
omg-attrs
omg-audit-group
omg-thor-ext
pry
pry-byebug
pry-stack_explorer
rspec
ruby-project-template!
text
thor
tty-cursor
tty-prompt
tty-spinner
zeitwerk

BUNDLED WITH
2.5.17
Empty file added README.md
Empty file.
11 changes: 11 additions & 0 deletions bin/console
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/usr/bin/env ruby
# frozen_string_literal: true

require 'bundler/setup'
require 'ruby/project/template'

# You can add fixtures and/or initialization code here to make experimenting
# with your gem easier. You can also use a different console, if you like.

require 'pry'
Pry.start(__FILE__)
8 changes: 8 additions & 0 deletions bin/setup
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
set -vx

bundle install

# Do any other automated setup that you need to do here
6 changes: 6 additions & 0 deletions lib/ruby_project_template.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# frozen_string_literal: true

class RubyProjectTemplate
VERSION = '0.1.0'
end

36 changes: 36 additions & 0 deletions ruby-project-template.gemspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# frozen_string_literal: true

require_relative 'lib/ruby_project_template'

Gem::Specification.new do |spec|
spec.name = 'ruby-project-template'
spec.version = RubyProjectTemplate::VERSION
spec.authors = ['Matthew Greenfield']
spec.email = ['[email protected]']

spec.summary = 'SUMMARY HERE'
spec.description = 'DESCRIPTION HERE'
spec.homepage = 'https://github.com/omgreenfield/ruby_project_template'
spec.license = 'MIT'
spec.required_ruby_version = '>= 3.0.0'

spec.metadata['homepage_uri'] = spec.homepage
spec.metadata['rubygems_mfa_required'] = 'true'

# Specify which files should be added to the gem when it is released.
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
gemspec = File.basename(__FILE__)
spec.files = IO.popen(%w[git ls-files -z], chdir: __dir__, err: IO::NULL) do |ls|
ls.readlines('\x0', chomp: true).reject do |f|
(f == gemspec) ||
f.start_with?(*%w[bin/ spec/ .git .github Gemfile])
end
end
spec.bindir = 'exe'
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
spec.require_paths = ['lib']

# spec.add_dependency 'example-gem', '~> 1.0'

# guide at: https://bundler.io/guides/creating_gem.html
end
11 changes: 11 additions & 0 deletions spec/ruby_project_template_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# frozen_string_literal: true

RSpec.describe Ruby::Project::Template do
it 'has a version number' do
expect(RubyProjectTemplate::VERSION).not_to be nil
end

it 'does something useful' do
expect(false).to eq(true)
end
end
15 changes: 15 additions & 0 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# frozen_string_literal: true

require "ruby/project/template"

RSpec.configure do |config|
# Enable flags like --only-failures and --next-failure
config.example_status_persistence_file_path = ".rspec_status"

# Disable RSpec exposing methods globally on `Module` and `main`
config.disable_monkey_patching!

config.expect_with :rspec do |c|
c.syntax = :expect
end
end

0 comments on commit 992e6dc

Please sign in to comment.