Skip to content

Commit

Permalink
Merge pull request #49 from Shopify/rubocop
Browse files Browse the repository at this point in the history
fix rubocop warnings
  • Loading branch information
sbfaulkner committed Oct 28, 2023
2 parents 6121891 + 7b986af commit 4b13fef
Show file tree
Hide file tree
Showing 18 changed files with 74 additions and 205 deletions.
6 changes: 4 additions & 2 deletions .rubocop.yml
@@ -1,5 +1,3 @@
inherit_from: .rubocop_todo.yml

inherit_gem:
rubocop-shopify: rubocop.yml

Expand All @@ -10,3 +8,7 @@ require:
AllCops:
NewCops: enable
TargetRubyVersion: 3.2

Naming/FileName:
Exclude:
- 'lib/ruby-limiter.rb'
144 changes: 0 additions & 144 deletions .rubocop_todo.yml

This file was deleted.

2 changes: 1 addition & 1 deletion Gemfile
@@ -1,5 +1,5 @@
# frozen_string_literal: true

source 'https://rubygems.org'
source "https://rubygems.org"

gemspec
2 changes: 1 addition & 1 deletion Rakefile
Expand Up @@ -10,4 +10,4 @@ Rake::TestTask.new(:test) do |t|
t.warning = true
end

task default: :test
task default: :test
6 changes: 3 additions & 3 deletions bin/console
@@ -1,8 +1,8 @@
#!/usr/bin/env ruby
# frozen_string_literal: true

require 'bundler/setup'
require 'limiter'
require "bundler/setup"
require "limiter"

# 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.
Expand All @@ -11,5 +11,5 @@ require 'limiter'
# require 'pry'
# Pry.start

require 'irb'
require "irb"
IRB.start(__FILE__)
6 changes: 4 additions & 2 deletions bin/rake
Expand Up @@ -9,8 +9,10 @@
#

require "pathname"
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
Pathname.new(__FILE__).realpath)
ENV["BUNDLE_GEMFILE"] ||= File.expand_path(
"../../Gemfile",
Pathname.new(__FILE__).realpath,
)

bundle_binstub = File.expand_path("../bundle", __FILE__)

Expand Down
8 changes: 4 additions & 4 deletions lib/limiter.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true

require 'limiter/clock'
require 'limiter/mixin'
require 'limiter/rate_queue'
require 'limiter/version'
require "limiter/clock"
require "limiter/mixin"
require "limiter/rate_queue"
require "limiter/version"
4 changes: 2 additions & 2 deletions lib/limiter/clock.rb
@@ -1,7 +1,7 @@
# frozen_string_literal: true

require 'singleton'
require 'forwardable'
require "singleton"
require "forwardable"

module Limiter
class Clock
Expand Down
2 changes: 1 addition & 1 deletion lib/limiter/mixin.rb
Expand Up @@ -16,7 +16,7 @@ def limit_method(method, rate:, interval: 60, balanced: false, &b)
queue.reset
end

prepend mixin
prepend(mixin)
end
end
end
3 changes: 2 additions & 1 deletion lib/limiter/rate_queue.rb
Expand Up @@ -43,7 +43,8 @@ def shift
def sleep_until(time)
interval = time - clock.time
return unless interval.positive?
@blk.call if @blk

@blk&.call
clock.sleep(interval)
end

Expand Down
2 changes: 1 addition & 1 deletion lib/limiter/version.rb
@@ -1,5 +1,5 @@
# frozen_string_literal: true

module Limiter
VERSION = '2.3.0'
VERSION = "2.3.0"
end
4 changes: 3 additions & 1 deletion lib/ruby-limiter.rb
@@ -1 +1,3 @@
require 'limiter'
# frozen_string_literal: true

require "limiter"
44 changes: 22 additions & 22 deletions limiter.gemspec
@@ -1,41 +1,41 @@
# frozen_string_literal: true

lib = File.expand_path('lib', __dir__)
lib = File.expand_path("lib", __dir__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'limiter/version'
require "limiter/version"

Gem::Specification.new do |spec|
spec.name = 'ruby-limiter'
spec.name = "ruby-limiter"
spec.version = Limiter::VERSION
spec.authors = ['S. Brent Faulkner']
spec.email = ['brent.faulkner@shopify.com']
spec.authors = ["S. Brent Faulkner"]
spec.email = ["brent.faulkner@shopify.com"]

spec.summary = 'Simple Ruby rate limiting mechanism.'
spec.homepage = 'https://github.com/Shopify/limiter'
spec.license = 'MIT'
spec.summary = "Simple Ruby rate limiting mechanism."
spec.homepage = "https://github.com/Shopify/limiter"
spec.license = "MIT"
spec.required_ruby_version = Gem::Requirement.new(">= 2.6.0")

if spec.respond_to?(:metadata)
spec.metadata['allowed_push_host'] = "https://rubygems.org"
spec.metadata["allowed_push_host"] = "https://rubygems.org"
else
raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
end

spec.files = `git ls-files -z`.split("\x0").reject do |f|
spec.files = %x(git ls-files -z).split("\x0").reject do |f|
f.match(%r{^(test|spec|features)/})
end
spec.bindir = 'exe'
spec.bindir = "exe"
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
spec.require_paths = %w(lib)
spec.require_paths = ["lib"]

spec.add_development_dependency 'bundler'
spec.add_development_dependency 'minitest', '~> 5.20'
spec.add_development_dependency 'minitest-focus', '~> 1.4'
spec.add_development_dependency 'mocha', '~> 2.1'
spec.add_development_dependency 'rake', '~> 13.0'
spec.add_development_dependency 'rubocop', '~> 1.57'
spec.add_development_dependency 'code-scanning-rubocop', '~> 0.6.1'
spec.add_development_dependency 'rubocop-shopify', '~> 2.14'
spec.add_development_dependency 'rubocop-minitest', '~> 0.33.0'
spec.add_development_dependency 'rubocop-rake', '~> 0.6.0'
spec.add_development_dependency("bundler")
spec.add_development_dependency("code-scanning-rubocop", "~> 0.6.1")
spec.add_development_dependency("minitest", "~> 5.20")
spec.add_development_dependency("minitest-focus", "~> 1.4")
spec.add_development_dependency("mocha", "~> 2.1")
spec.add_development_dependency("rake", "~> 13.0")
spec.add_development_dependency("rubocop", "~> 1.57")
spec.add_development_dependency("rubocop-minitest", "~> 0.33.0")
spec.add_development_dependency("rubocop-rake", "~> 0.6.0")
spec.add_development_dependency("rubocop-shopify", "~> 2.14")
end
4 changes: 2 additions & 2 deletions test/limiter/clock_test.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true

require 'test_helper'
require "test_helper"

module Limiter
class ClockTest < Minitest::Test
Expand All @@ -10,7 +10,7 @@ def setup
end

def test_clock_is_advancing
assert Clock.time > @start_time
assert_operator(Clock.time, :>, @start_time)
end
end
end
18 changes: 10 additions & 8 deletions test/limiter/mixin_test.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true

require 'test_helper'
require "test_helper"

module Limiter
class MixinTest < Minitest::Test
Expand All @@ -15,8 +15,8 @@ class MixinTestClass

@limited = 0

def self.limited
@limited
class << self
attr_reader :limited
end

limit_method :tick, rate: RATE, interval: INTERVAL
Expand Down Expand Up @@ -89,25 +89,27 @@ def test_original_method_is_called
@object.tick
end

assert_equal COUNT, @object.ticks
assert_equal(COUNT, @object.ticks)
end

def test_arguments_are_passed
@object.tick 123
assert_equal 123, @object.ticks
@object.tick(123)

assert_equal(123, @object.ticks)
end

def test_default_keyword_arguments_are_passed
COUNT.times do
@object.tock
end

assert_equal COUNT, @object.ticks
assert_equal(COUNT, @object.ticks)
end

def test_keyword_arguments_are_passed
@object.tock(count: 321)
assert_equal 321, @object.ticks

assert_equal(321, @object.ticks)
end

def test_block_was_called_on_rate_limit
Expand Down

0 comments on commit 4b13fef

Please sign in to comment.