Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .document

This file was deleted.

12 changes: 12 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
version: 2
updates:
- package-ecosystem: "bundler"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
29 changes: 29 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Ruby

on:
push:
branches:
- master

pull_request:

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

steps:
- uses: actions/checkout@v5
with:
persist-credentials: false
- 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
27 changes: 27 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Release Gem

on:
push:
tags:
- 'v*'

jobs:
release:
name: Release gem to RubyGems.org
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write

steps:
- uses: actions/checkout@v5
with:
persist-credentials: false

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: "3.4.5"
bundler-cache: true

- uses: rubygems/release-gem@v1
75 changes: 27 additions & 48 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,52 +1,31 @@
# rcov generated
coverage
coverage.data

# rdoc generated
rdoc

# yard generated
doc
.yardoc

# bundler
.bundle
/.bundle/
/.yardoc
/_yardoc/
/coverage/
/doc/
/pkg/
/tmp/

# Test coverage
/coverage/

# YARD documentation
/.yardoc/
/doc/
/_yardoc/

# RubyGems
*.gem
Gemfile.lock

# juwelier generated
pkg
# Bundler
/vendor/bundle/

# Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
#
# * Create a file at ~/.gitignore
# * Include files you want ignored
# * Run: git config --global core.excludesfile ~/.gitignore
#
# After doing this, these files will be ignored in all your git projects,
# saving you from having to 'pollute' every project you touch with them
#
# Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
#
# For MacOS:
#
# Mac finder artifacts
.DS_Store

# For TextMate
#*.tmproj
#tmtags

# For emacs:
#*~
#\#*
#.\#*

# For vim:
#*.swp

.idea/

# For redcar:
#.redcar

# For rubinius:
#*.rbc
Gemfile.lock
AGENTS.md
CLAUDE.md
.claude/
.worktrees/
.repoprompt/
1 change: 0 additions & 1 deletion .rspec

This file was deleted.

46 changes: 42 additions & 4 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,53 @@
AllCops:
TargetRubyVersion: 3.2
NewCops: enable
SuggestExtensions: false
Exclude:
- '*.gemspec'
- 'Rakefile'
- 'spec/spec_helper.rb'
- 'vendor/**/*'

Style/StringLiterals:
EnforcedStyle: double_quotes

Style/Documentation:
Enabled: false

Metrics/MethodLength:
Max: 20
Exclude:
- 'lib/intacct/functions/query.rb'

Style/Documentation:
Metrics/ClassLength:
Max: 150
Exclude:
- 'test/**/*'

Metrics/ModuleLength:
Max: 150
Exclude:
- 'test/**/*'

Metrics/AbcSize:
Exclude:
- 'lib/intacct/functions/query.rb'

Metrics/CyclomaticComplexity:
Exclude:
- 'lib/intacct/functions/query.rb'

Metrics/PerceivedComplexity:
Exclude:
- 'lib/intacct/functions/query.rb'

Metrics/BlockLength:
Exclude:
- 'test/**/*'
- 'lib/intacct/functions/query.rb'
- '*.gemspec'

Naming/AccessorMethodName:
Enabled: false

Gemspec/DevelopmentDependencies:
Enabled: false

Style/StringConcatenation:
Expand Down
8 changes: 0 additions & 8 deletions .travis.yml

This file was deleted.

6 changes: 6 additions & 0 deletions .yardopts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
--markup markdown
--no-private
lib/**/*.rb
- README.md
- CHANGELOG.md
- LICENSE.txt
33 changes: 33 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.0.0] - 2025-11-13

### Changed
- **BREAKING**: Minimum Ruby version raised to 3.2.0
- Migrated from RSpec to Minitest
- Modernized gemspec with comprehensive metadata
- Replaced Juwelier with standard Bundler gem tasks
- Updated RuboCop configuration for Ruby 3.2
- Added frozen string literal pragma to all files

### Added
- YARD documentation with comprehensive examples
- Complete test coverage with Minitest
- CHANGELOG.md (this file)
- Enhanced README with usage examples and badges
- RuboCop to default rake task

### Removed
- Support for Ruby < 3.2
- RSpec test framework
- Juwelier gem management
- Legacy coverage tools (CodeClimate, Coveralls)

## [0.0.15] - Previous Release

Historical changes before 1.0.0 modernization.
21 changes: 4 additions & 17 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,20 +1,7 @@
source 'https://rubygems.org'
# frozen_string_literal: true

gem 'faraday', '~> 1.10.0'
gem 'json', '~> 2.7'
source "https://rubygems.org"

group :development do
gem 'bundler'
gem 'juwelier', '~> 2.4.9'
gem 'pry-byebug'
gem 'rdoc', '~> 6.0'
gem 'rspec', '~> 3.11.0'
gem 'shoulda', '~> 4.0.0'
gem 'simplecov', '>= 0.21.0'
gem 'timecop', '~> 0.9.0'
gem 'webmock', '~> 3.18.0'
gemspec

gem 'codeclimate-test-reporter', require: false
gem 'coveralls', require: false
gem 'rubocop', require: false
end
gem "rake", "~> 13.0"
Loading