Skip to content

Commit f32f141

Browse files
committed
[rubocop] fix offences
1 parent 6f7ef07 commit f32f141

32 files changed

+101
-38
lines changed

Gemfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
source "https://rubygems.org"
24

35
eval_gemfile "Gemfile.devtools"

Guardfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
guard :rspec, cmd: "bundle exec rspec" do
24
watch(%r{^spec/.+_spec\.rb$})
35
watch(%r{^spec/(spec_helper|support)}) { "spec" }

Rakefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
require "bundler/setup"
24
Bundler::GemHelper.install_tasks
35

lib/dry-initializer.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1+
# frozen_string_literal: true
2+
13
require_relative "dry/initializer"

lib/dry/initializer.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
require "set"
24

35
# Namespace for gems in a dry-rb community

lib/dry/initializer/builders.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
module Dry
24
module Initializer
35
# @private

lib/dry/initializer/builders/attribute.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
module Dry
24
module Initializer
35
module Builders

lib/dry/initializer/builders/initializer.rb

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
module Dry
24
module Initializer
35
module Builders
@@ -41,15 +43,11 @@ def define_line
4143
end
4244

4345
def params_lines
44-
@definitions.reject(&:option)
45-
.flat_map { |item| Attribute[item] }
46-
.map { |line| " " << line }
46+
@definitions.reject(&:option).flat_map { Attribute[_1] }.map { " #{_1}" }
4747
end
4848

4949
def options_lines
50-
@definitions.select(&:option)
51-
.flat_map { |item| Attribute[item] }
52-
.map { |line| " " << line }
50+
@definitions.select(&:option).flat_map { Attribute[_1] }.map { " #{_1}" }
5351
end
5452

5553
def end_line

lib/dry/initializer/builders/reader.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
module Dry
24
module Initializer
35
module Builders

lib/dry/initializer/builders/signature.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
module Dry
24
module Initializer
35
module Builders

lib/dry/initializer/config.rb

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
module Dry
24
module Initializer
35
#
@@ -23,10 +25,10 @@ class Config
2325
# @return [Module] reference to the module to be included into class
2426
def mixin
2527
@mixin ||= Module.new.tap do |mod|
26-
__dry_initializer__ = self
28+
initializer = self
2729
mod.extend(Mixin::Local)
28-
mod.send :define_method, :__dry_initializer_config__ do
29-
__dry_initializer__
30+
mod.define_method(:__dry_initializer_config__) do
31+
initializer
3032
end
3133
mod.send :private, :__dry_initializer_config__
3234
end

lib/dry/initializer/definition.rb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
module Dry
24
module Initializer
35
#
@@ -21,11 +23,11 @@ def options
2123
default: default,
2224
reader: reader,
2325
desc: desc
24-
}.reject { |_, value| value.nil? }
26+
}.compact
2527
end
2628

2729
def name
28-
@name ||= (option ? "option" : "parameter") << " '#{source}'"
30+
@name ||= "#{option ? "option" : "parameter"} '#{source}'"
2931
end
3032
alias_method :to_s, :name
3133
alias_method :to_str, :name

lib/dry/initializer/dispatchers.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
#
1+
# frozen_string_literal: true
2+
23
# The module is responsible for __normalizing__ arguments
34
# of `.param` and `.option`.
45
#

lib/dry/initializer/dispatchers/build_nested_type.rb

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
#
1+
# frozen_string_literal: true
2+
23
# Prepare nested data type from a block
34
#
45
# @example
@@ -56,8 +57,15 @@ def full_name(parent, name)
5657
end
5758

5859
def build_struct(klass_name, block)
59-
eval "class #{klass_name} < Dry::Initializer::Struct; end"
60-
const_get(klass_name).tap { |klass| klass.class_eval(&block) }
60+
# rubocop: disable Security/Eval
61+
# rubocop: disable Style/DocumentDynamicEvalDefinition
62+
eval <<~RUBY, TOPLEVEL_BINDING, __FILE__, __LINE__ + 1
63+
class #{klass_name} < Dry::Initializer::Struct
64+
end
65+
RUBY
66+
# rubocop: enable Style/DocumentDynamicEvalDefinition
67+
# rubocop: enable Security/Eval
68+
const_get(klass_name).tap { _1.class_eval(&block) }
6169
end
6270
end
6371
end

lib/dry/initializer/dispatchers/check_type.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
#
1+
# frozen_string_literal: true
2+
23
# Checks whether an unwrapped type is valid
34
#
45
module Dry

lib/dry/initializer/dispatchers/prepare_default.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
#
1+
# frozen_string_literal: true
2+
23
# Prepares the `:default` option
34
#
45
# It must respond to `.call` without arguments

lib/dry/initializer/dispatchers/prepare_ivar.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
#
1+
# frozen_string_literal: true
2+
23
# Prepares the variable name of a parameter or an option.
34
#
45
module Dry

lib/dry/initializer/dispatchers/prepare_optional.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
#
1+
# frozen_string_literal: true
2+
23
# Defines whether an argument is optional
34
#
45
module Dry

lib/dry/initializer/dispatchers/prepare_reader.rb

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
#
1+
# frozen_string_literal: true
2+
23
# Checks the reader privacy
34
#
45
module Dry
@@ -9,11 +10,11 @@ module PrepareReader
910

1011
def call(target: nil, reader: :public, **options)
1112
reader = case reader.to_s
12-
when "false", "" then nil
13-
when "true" then :public
14-
when "public", "private", "protected" then reader.to_sym
15-
else invalid_reader!(target, reader)
16-
end
13+
when "false", "" then nil
14+
when "true" then :public
15+
when "public", "private", "protected" then reader.to_sym
16+
else invalid_reader!(target, reader)
17+
end
1718

1819
{target: target, reader: reader, **options}
1920
end

lib/dry/initializer/dispatchers/prepare_source.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
#
1+
# frozen_string_literal: true
2+
23
# The dispatcher verifies a correctness of the source name
34
# of param or option, taken as a `:source` option.
45
#

lib/dry/initializer/dispatchers/prepare_target.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
#
1+
# frozen_string_literal: true
2+
23
# Prepares the target name of a parameter or an option.
34
#
45
# Unlike source, the target must satisfy requirements for Ruby variable names.

lib/dry/initializer/dispatchers/unwrap_type.rb

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
#
1+
# frozen_string_literal: true
2+
23
# Looks at the `:type` option and counts how many nested arrays
34
# it contains around either nil or a callable value.
45
#
@@ -12,15 +13,19 @@ module UnwrapType
1213
extend self
1314

1415
def call(type: nil, wrap: 0, **options)
15-
type, wrap = unwrap(type, 0)
16+
type, count = unwrap(type, wrap)
1617

17-
{type: type, wrap: wrap, **options}
18+
{type: type, wrap: count, **options}
1819
end
1920

2021
private
2122

2223
def unwrap(type, count)
23-
type.is_a?(Array) ? unwrap(type.first, count + 1) : [type, count]
24+
if type.is_a?(::Array)
25+
unwrap(type.first, count + 1)
26+
else
27+
[type, count]
28+
end
2429
end
2530
end
2631
end

lib/dry/initializer/dispatchers/wrap_type.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
#
1+
# frozen_string_literal: true
2+
23
# Takes `:type` and `:wrap` to construct the final value coercer
34
#
45
module Dry

lib/dry/initializer/dsl.rb

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
module Dry
24
module Initializer
35
# Module-level DSL
@@ -37,8 +39,12 @@ def extended(klass)
3739
klass.include Mixin::Root
3840
end
3941

40-
def self.extended(mod)
41-
mod.instance_variable_set :@null, UNDEFINED
42+
class << self
43+
private
44+
45+
def extended(mod)
46+
mod.instance_variable_set :@null, UNDEFINED
47+
end
4248
end
4349
end
4450
end

lib/dry/initializer/mixin.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
module Dry
24
module Initializer
35
# @private

lib/dry/initializer/mixin/local.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
module Dry
24
module Initializer
35
module Mixin

lib/dry/initializer/mixin/root.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
module Dry
24
module Initializer
35
module Mixin

lib/dry/initializer/struct.rb

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
#
1+
# frozen_string_literal: true
2+
23
# The nested structure that takes nested hashes with indifferent access
34
#
4-
class Dry
5+
module Dry
56
module Initializer
6-
module Struct
7+
class Struct
78
extend ::Dry::Initializer
89

910
class << self

lib/dry/initializer/undefined.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
module Dry
24
module Initializer
35
module UNDEFINED

lib/dry/initializer/version.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1+
# frozen_string_literal: true
2+
13
module Dry
24
module Initializer
3-
VERSION = "3.1.0".freeze
5+
VERSION = "3.1.0"
46
end
57
end

lib/tasks/benchmark.rake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
namespace :benchmark do
24
desc "Runs benchmarks for plain params"
35
task :plain_params do

lib/tasks/profile.rake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# frozen_string_literal: true
2+
13
# rubocop: disable Lint/ConstantDefinitionInBlock
24
namespace :profile do
35
def profile(name, execution, &definition)

0 commit comments

Comments
 (0)