Skip to content
This repository was archived by the owner on Jan 14, 2025. It is now read-only.

Commit 2dc3f25

Browse files
initial commit
0 parents  commit 2dc3f25

16 files changed

+259
-0
lines changed

.github/workflows/main.yml

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Ruby
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
pull_request:
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
name: Ruby ${{ matrix.ruby }}
14+
strategy:
15+
matrix:
16+
ruby:
17+
- '3.1.1'
18+
19+
steps:
20+
- uses: actions/checkout@v3
21+
- name: Set up Ruby
22+
uses: ruby/setup-ruby@v1
23+
with:
24+
ruby-version: ${{ matrix.ruby }}
25+
bundler-cache: true
26+
- name: Run the default task
27+
run: bundle exec rake

.gitignore

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/.bundle/
2+
/.yardoc
3+
/_yardoc/
4+
/coverage/
5+
/doc/
6+
/pkg/
7+
/spec/reports/
8+
/tmp/
9+
10+
# rspec failure tracking
11+
.rspec_status

.rspec

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
--format documentation
2+
--color
3+
--require spec_helper

.rubocop.yml

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
AllCops:
2+
TargetRubyVersion: 2.6
3+
4+
Style/StringLiterals:
5+
Enabled: true
6+
EnforcedStyle: double_quotes
7+
8+
Style/StringLiteralsInInterpolation:
9+
Enabled: true
10+
EnforcedStyle: double_quotes
11+
12+
Layout/LineLength:
13+
Max: 120

Gemfile

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# frozen_string_literal: true
2+
3+
source "https://rubygems.org"
4+
5+
gemspec
6+
7+
gem "rake", "~> 13.0"
8+
gem "rspec", "~> 3.0"
9+
gem "rubocop", "~> 1.21"

Gemfile.lock

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
PATH
2+
remote: .
3+
specs:
4+
seamapi (0.1.0)
5+
6+
GEM
7+
remote: https://rubygems.org/
8+
specs:
9+
ast (2.4.2)
10+
diff-lcs (1.5.0)
11+
parallel (1.22.1)
12+
parser (3.1.2.0)
13+
ast (~> 2.4.1)
14+
rainbow (3.1.1)
15+
rake (13.0.6)
16+
regexp_parser (2.5.0)
17+
rexml (3.2.5)
18+
rspec (3.11.0)
19+
rspec-core (~> 3.11.0)
20+
rspec-expectations (~> 3.11.0)
21+
rspec-mocks (~> 3.11.0)
22+
rspec-core (3.11.0)
23+
rspec-support (~> 3.11.0)
24+
rspec-expectations (3.11.0)
25+
diff-lcs (>= 1.2.0, < 2.0)
26+
rspec-support (~> 3.11.0)
27+
rspec-mocks (3.11.1)
28+
diff-lcs (>= 1.2.0, < 2.0)
29+
rspec-support (~> 3.11.0)
30+
rspec-support (3.11.0)
31+
rubocop (1.31.0)
32+
parallel (~> 1.10)
33+
parser (>= 3.1.0.0)
34+
rainbow (>= 2.2.2, < 4.0)
35+
regexp_parser (>= 1.8, < 3.0)
36+
rexml (>= 3.2.5, < 4.0)
37+
rubocop-ast (>= 1.18.0, < 2.0)
38+
ruby-progressbar (~> 1.7)
39+
unicode-display_width (>= 1.4.0, < 3.0)
40+
rubocop-ast (1.18.0)
41+
parser (>= 3.1.1.0)
42+
ruby-progressbar (1.11.0)
43+
unicode-display_width (2.2.0)
44+
45+
PLATFORMS
46+
ruby
47+
48+
DEPENDENCIES
49+
rake (~> 13.0)
50+
rspec (~> 3.0)
51+
rubocop (~> 1.21)
52+
seamapi!
53+
54+
BUNDLED WITH
55+
2.3.16

README.md

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Seam API Ruby Gem
2+
3+
Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/seamapi`. To experiment with that code, run `bin/console` for an interactive prompt.
4+
5+
TODO: Delete this and the text above, and describe your gem
6+
7+
## Installation
8+
9+
Install the gem and add to the application's Gemfile by executing:
10+
11+
$ bundle add seamapi
12+
13+
If bundler is not being used to manage dependencies, install the gem by executing:
14+
15+
$ gem install seamapi
16+
17+
## Usage
18+
19+
TODO: Write usage instructions here
20+
21+
## Development
22+
23+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
24+
25+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).

Rakefile

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# frozen_string_literal: true
2+
3+
require "bundler/gem_tasks"
4+
require "rspec/core/rake_task"
5+
6+
RSpec::Core::RakeTask.new(:spec)
7+
8+
require "rubocop/rake_task"
9+
10+
RuboCop::RakeTask.new
11+
12+
task default: %i[spec rubocop]

bin/console

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/usr/bin/env ruby
2+
# frozen_string_literal: true
3+
4+
require "bundler/setup"
5+
require "seamapi"
6+
7+
# You can add fixtures and/or initialization code here to make experimenting
8+
# with your gem easier. You can also use a different console, if you like.
9+
10+
# (If you use this, don't forget to add pry to your Gemfile!)
11+
# require "pry"
12+
# Pry.start
13+
14+
require "irb"
15+
IRB.start(__FILE__)

bin/setup

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
IFS=$'\n\t'
4+
set -vx
5+
6+
bundle install
7+
8+
# Do any other automated setup that you need to do here

lib/seamapi.rb

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# frozen_string_literal: true
2+
3+
require_relative "seamapi/version"
4+
5+
module Seamapi
6+
class Error < StandardError; end
7+
# Your code goes here...
8+
end

lib/seamapi/version.rb

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# frozen_string_literal: true
2+
3+
module Seamapi
4+
VERSION = "0.1.0"
5+
end

seamapi.gemspec

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# frozen_string_literal: true
2+
3+
require_relative "lib/seamapi/version"
4+
5+
Gem::Specification.new do |spec|
6+
spec.name = "seamapi"
7+
spec.version = Seamapi::VERSION
8+
spec.authors = ["Abimael Martell"]
9+
spec.email = ["abi@getseam.com"]
10+
11+
spec.summary = "Seam API Ruby Library"
12+
spec.description = "seamapi is a Ruby gem that provides a simple interface to Seam Connect's API."
13+
spec.homepage = "https://github.com/seamapi/ruby"
14+
spec.required_ruby_version = ">= 2.6.0"
15+
16+
# spec.metadata["allowed_push_host"] = "TODO: Set to your gem server 'https://example.com'"
17+
18+
spec.metadata["homepage_uri"] = spec.homepage
19+
spec.metadata["source_code_uri"] = "https://github.com/seamapi/ruby"
20+
# spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
21+
22+
# Specify which files should be added to the gem when it is released.
23+
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
24+
spec.files = Dir.chdir(__dir__) do
25+
`git ls-files -z`.split("\x0").reject do |f|
26+
(f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
27+
end
28+
end
29+
spec.bindir = "exe"
30+
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
31+
spec.require_paths = ["lib"]
32+
33+
# Uncomment to register a new dependency of your gem
34+
# spec.add_dependency "example-gem", "~> 1.0"
35+
36+
# For more information and examples about making a new gem, check out our
37+
# guide at: https://bundler.io/guides/creating_gem.html
38+
end

sig/seamapi.rbs

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
module Seamapi
2+
VERSION: String
3+
# See the writing guide of rbs: https://github.com/ruby/rbs#guides
4+
end

spec/seamapi_spec.rb

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# frozen_string_literal: true
2+
3+
RSpec.describe Seamapi do
4+
it "has a version number" do
5+
expect(Seamapi::VERSION).not_to be nil
6+
end
7+
8+
it "does something useful" do
9+
expect(false).to eq(true)
10+
end
11+
end

spec/spec_helper.rb

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# frozen_string_literal: true
2+
3+
require "seamapi"
4+
5+
RSpec.configure do |config|
6+
# Enable flags like --only-failures and --next-failure
7+
config.example_status_persistence_file_path = ".rspec_status"
8+
9+
# Disable RSpec exposing methods globally on `Module` and `main`
10+
config.disable_monkey_patching!
11+
12+
config.expect_with :rspec do |c|
13+
c.syntax = :expect
14+
end
15+
end

0 commit comments

Comments
 (0)