Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
87 changes: 80 additions & 7 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,86 @@
# .rubocop.yml
require:
- rubocop-minitest

AllCops:
TargetRubyVersion: 2.6
TargetRubyVersion: 2.7
NewCops: enable

# Allow development dependencies in gemspec
Gemspec/DevelopmentDependencies:
Enabled: false

# Make documentation optional for most files
Style/Documentation:
Enabled: false

# Allow unused arguments (often needed for API compatibility)
Lint/UnusedMethodArgument:
Enabled: false

# Allow missing super in inherited callbacks
Lint/MissingSuper:
Enabled: false

# Allow private class methods to be defined normally
Lint/IneffectiveAccessModifier:
Enabled: false

# Allow longer classes and modules for better organization
Metrics/ClassLength:
Max: 200
Exclude:
- 'test/**/*'

Metrics/ModuleLength:
Max: 200

# Allow more reasonable method lengths
Metrics/MethodLength:
Max: 40
Exclude:
- 'test/**/*'

Metrics/AbcSize:
Max: 50
Exclude:
- 'test/**/*'

Metrics/CyclomaticComplexity:
Max: 12

Metrics/PerceivedComplexity:
Max: 12

# Allow longer parameter lists for API methods
Metrics/ParameterLists:
Max: 10
CountKeywordArgs: false

# Allow longer lines, especially for documentation
Layout/LineLength:
Max: 150
Exclude:
- 'test/**/*'

# Allow larger blocks in tests
Metrics/BlockLength:
Exclude:
- 'test/**/*'
- '*.gemspec'

# Other style preferences
Style/StringLiterals:
Enabled: true
EnforcedStyle: double_quotes

Style/StringLiteralsInInterpolation:
Enabled: true
EnforcedStyle: double_quotes
Lint/DuplicateMethods:
Exclude:
- 'test/**/*'

Layout/LineLength:
Max: 120
Style/FrozenStringLiteralComment:
Enabled: false

Lint/Void:
Exclude:
- test/cdss/test_analysis.rb
- test/cdss/test_structures.rb
11 changes: 6 additions & 5 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,12 @@ gem "rake", "~> 13.0"
group :development, :test do
gem "minitest", "~> 5.0"
gem "rubocop", "~> 1.21"
gem "rubocop-minitest"

gem 'pry'
gem 'pry-byebug'
gem "pry"
gem "pry-byebug"

gem 'yard'
gem 'webrick'
gem 'rack', '~> 2.2'
gem "rack", "~> 2.2"
gem "webrick"
gem "yard"
end
10 changes: 10 additions & 0 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,13 @@ require "rubocop/rake_task"
RuboCop::RakeTask.new

task default: %i[test rubocop]

require "yard"

YARD::Rake::YardocTask.new do |t|
t.options = ["--output-dir", "docs"]
end

task :publish_docs do
sh "git subtree push --prefix docs origin gh-pages"
end
7 changes: 4 additions & 3 deletions cdss-ruby.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,16 @@ Gem::Specification.new do |spec|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
spec.require_paths = ["lib"]

spec.add_dependency "httparty", "~> 0.21.0"
spec.add_dependency "dry-configurable", "~> 1.0"
spec.add_dependency "httparty", "~> 0.21.0"
spec.add_dependency "zeitwerk", "~> 2.6"

# Development dependencies
spec.add_development_dependency "bundler", "~> 2.0"
spec.add_development_dependency "rake", "~> 13.0"
spec.add_development_dependency "minitest", "~> 5.0"
spec.add_development_dependency "minitest-reporters", "~> 1.5"
spec.add_development_dependency "webmock", "~> 3.18"
spec.add_development_dependency "rake", "~> 13.0"
spec.add_development_dependency "vcr", "~> 6.0"
spec.add_development_dependency "webmock", "~> 3.18"
spec.metadata["rubygems_mfa_required"] = "true"
end
Loading