mirror of
https://github.com/usetrmnl/sensor_scanner.git
synced 2026-04-29 13:45:14 -07:00
Added project skeleton
Necessary to provide initial scaffolding for this project. This was generated using link:https://alchemists.io/projects/rubysmith[Rubysmith]. While this isn't a Ruby project since the core implementation is in C, having the Ruby tooling will help from a CI and code quality perspective.
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
version: 2.1
|
||||
jobs:
|
||||
build:
|
||||
working_directory: ~/project
|
||||
docker:
|
||||
- image: bkuhlmann/alpine-ruby:latest
|
||||
steps:
|
||||
- checkout
|
||||
|
||||
- restore_cache:
|
||||
name: Gems Restore
|
||||
keys:
|
||||
- gem-cache-{{.Branch}}-{{checksum "Gemfile.lock"}}
|
||||
- gem-cache-
|
||||
|
||||
- run:
|
||||
name: Gems Install
|
||||
command: |
|
||||
gem update --system
|
||||
bundle config set path "vendor/bundle"
|
||||
bundle install
|
||||
|
||||
- save_cache:
|
||||
name: Gems Store
|
||||
key: gem-cache-{{.Branch}}-{{checksum "Gemfile.lock"}}
|
||||
paths:
|
||||
- vendor/bundle
|
||||
|
||||
- run:
|
||||
name: Rake
|
||||
command: bundle exec rake
|
||||
|
||||
- store_artifacts:
|
||||
name: SimpleCov Report
|
||||
path: ~/project/coverage
|
||||
destination: coverage
|
||||
@@ -0,0 +1,2 @@
|
||||
inherit_gem:
|
||||
caliber: config/all.yml
|
||||
@@ -0,0 +1,5 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Community
|
||||
url: https://discord.gg/CAgBZQqVWp
|
||||
about: Please ask questions or discuss specifics here.
|
||||
@@ -0,0 +1,18 @@
|
||||
---
|
||||
name: Issue
|
||||
title: "Add|Update|Fix|Remove|Refactor "
|
||||
about: Report an issue. Please use only one of the subject prefixes.
|
||||
---
|
||||
|
||||
<!--
|
||||
Please focus on well written issues. Context: https://alchemists.io/articles/software_issues.
|
||||
-->
|
||||
|
||||
## Why
|
||||
<!-- Required. Describe, briefly, why this issue is important. -->
|
||||
|
||||
## How
|
||||
<!-- Optional. List exact steps to implement or reproduce behavior. Screen shots/casts are welcome! -->
|
||||
|
||||
## Notes
|
||||
<!-- Optional. Provide additional details like operating system, software version(s), stack dump, logs, or anything else that would be helpful. -->
|
||||
@@ -0,0 +1,8 @@
|
||||
## Overview
|
||||
<!-- Required. Describe, briefly, why this is necessary and what the overarching architecture is. -->
|
||||
|
||||
## Screenshots/Screencasts
|
||||
<!-- Optional. Provide supporting screen shots/casts. -->
|
||||
|
||||
## Details
|
||||
<!-- Optional. As bullet points, list related issue(s); major highlights; team callouts; and/or other information that is helpful. -->
|
||||
@@ -0,0 +1,3 @@
|
||||
.bundle
|
||||
tmp
|
||||
Gemfile.lock
|
||||
@@ -0,0 +1,7 @@
|
||||
exclude_paths:
|
||||
- tmp
|
||||
- vendor
|
||||
|
||||
detectors:
|
||||
LongParameterList:
|
||||
enabled: false
|
||||
@@ -0,0 +1 @@
|
||||
4.0.1
|
||||
@@ -0,0 +1,30 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
ruby file: ".ruby-version"
|
||||
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "refinements", "~> 14.0"
|
||||
gem "zeitwerk", "~> 2.7"
|
||||
|
||||
group :quality do
|
||||
gem "caliber", "~> 0.87"
|
||||
gem "git-lint", "~> 10.0"
|
||||
gem "reek", "~> 6.5", require: false
|
||||
gem "simplecov", "~> 0.22", require: false
|
||||
end
|
||||
|
||||
group :development do
|
||||
gem "rake", "~> 13.3"
|
||||
end
|
||||
|
||||
group :test do
|
||||
gem "rspec", "~> 3.13"
|
||||
end
|
||||
|
||||
group :tools do
|
||||
gem "amazing_print", "~> 2.0"
|
||||
gem "debug", "~> 1.11"
|
||||
gem "irb-kit", "~> 2.0"
|
||||
gem "repl_type_completor", "~> 0.1"
|
||||
end
|
||||
@@ -0,0 +1,20 @@
|
||||
Copyright 2025 link:https://trmnl.com[TRMNL].
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
:toc: macro
|
||||
:toclevels: 5
|
||||
:figure-caption!:
|
||||
|
||||
= Sensor Scanner
|
||||
|
||||
toc::[]
|
||||
|
||||
== Features
|
||||
|
||||
== Requirements
|
||||
|
||||
. link:https://www.ruby-lang.org[Ruby].
|
||||
|
||||
== Setup
|
||||
|
||||
To set up project, run:
|
||||
|
||||
[source,bash]
|
||||
----
|
||||
git clone https://github.com/bkuhlmann/sensor_scanner
|
||||
cd sensor_scanner
|
||||
bin/setup
|
||||
----
|
||||
|
||||
== Usage
|
||||
|
||||
== Development
|
||||
|
||||
To contribute, run:
|
||||
|
||||
[source,bash]
|
||||
----
|
||||
git clone https://github.com/usetrmnl/sensor_scanner
|
||||
cd sensor_scanner
|
||||
bin/setup
|
||||
----
|
||||
|
||||
You can also use the IRB console for direct access to all objects:
|
||||
|
||||
[source,bash]
|
||||
----
|
||||
bin/console
|
||||
----
|
||||
|
||||
== Tests
|
||||
|
||||
To test, run:
|
||||
|
||||
[source,bash]
|
||||
----
|
||||
bin/rake
|
||||
----
|
||||
|
||||
== Credits
|
||||
|
||||
* Built with link:https://alchemists.io/projects/rubysmith[Rubysmith].
|
||||
* Engineered by {trmnl_link}.
|
||||
@@ -0,0 +1,17 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "bundler/setup"
|
||||
require "git/lint/rake/register"
|
||||
require "reek/rake/task"
|
||||
require "rspec/core/rake_task"
|
||||
require "rubocop/rake_task"
|
||||
|
||||
Git::Lint::Rake::Register.call
|
||||
Reek::Rake::Task.new
|
||||
RSpec::Core::RakeTask.new { |task| task.verbose = false }
|
||||
RuboCop::RakeTask.new
|
||||
|
||||
desc "Run code quality checks"
|
||||
task quality: %i[git_lint reek rubocop]
|
||||
|
||||
task default: %i[quality spec]
|
||||
@@ -0,0 +1,6 @@
|
||||
#! /usr/bin/env ruby
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "bundler/setup"
|
||||
|
||||
load Gem.bin_path "rake", "rake"
|
||||
@@ -0,0 +1,6 @@
|
||||
#! /usr/bin/env ruby
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "bundler/setup"
|
||||
|
||||
load Gem.bin_path "rspec-core", "rspec"
|
||||
Executable
+6
@@ -0,0 +1,6 @@
|
||||
#! /usr/bin/env ruby
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "bundler/setup"
|
||||
|
||||
load Gem.bin_path "rubocop", "rubocop"
|
||||
@@ -0,0 +1,16 @@
|
||||
#! /usr/bin/env ruby
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "debug"
|
||||
require "fileutils"
|
||||
|
||||
APP_ROOT = Pathname(__dir__).join("..").expand_path
|
||||
|
||||
Runner = lambda do |*arguments, kernel: Kernel|
|
||||
kernel.system(*arguments) || kernel.abort("\nERROR: Command #{arguments.inspect} failed.")
|
||||
end
|
||||
|
||||
FileUtils.chdir APP_ROOT do
|
||||
puts "Installing dependencies..."
|
||||
Runner.call "bundle install"
|
||||
end
|
||||
Reference in New Issue
Block a user