receptacle 0.3.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: c9fe755e41253d67a0be871fab1aebf01ed201ec
4
- data.tar.gz: 246b2cb847fd611e9886c75992667dae615f6a84
2
+ SHA256:
3
+ metadata.gz: 1f7323081fe278e72a9e8c7fd361196e11ec0dd4b7bc6db33f7bdccd7dd9fdac
4
+ data.tar.gz: 0700021212c9301e956e89456ebbbc2dfd3d681fa9be444ba83914591461dfa6
5
5
  SHA512:
6
- metadata.gz: f6f2eb8a27fc37b7838c43c1cf2534415bbb76200f4db266cb5ceb4576f09f1f99250862ca8392463295b791a7b63792888b6a806971637b2beab306130ca81d
7
- data.tar.gz: 69f486884c18e7eaf28ef651a15c007ac17dde96b4ce40eb99ea53dd06c0f9f162372c6fa2585fad03994f8a621b841bc10e0a07b7de3b27860b21d88f89838f
6
+ metadata.gz: 18a674c448d529d3a0297bb20b87835200abd54f596b0b7bc6b8722aa42af9f0e6356edb86a7b8eb3a0a0a40adc2315a0f24ac07e38fcd762ab7cb9ec2f8cb74
7
+ data.tar.gz: 787b73997a3f6c1d350a94791f3169d364a318e2932948e6772deec4476c60ef3d462b8b34a19dddb422ee171d9f04f1d34711248d0d94c5ac7e650d4d1c9cdb
@@ -0,0 +1,64 @@
1
+ # Ruby CircleCI 2.0 configuration file
2
+ #
3
+ # Check https://circleci.com/docs/2.0/language-ruby/ for more details
4
+ #
5
+
6
+ version: 2
7
+
8
+ common_steps: &common_steps
9
+ - checkout
10
+ - run: gem update --system
11
+ - restore_cache:
12
+ key: gem-cache-{{ .Branch }}-{{ checksum "Gemfile" }}
13
+ - run:
14
+ name: install dependencies
15
+ command: |
16
+ gem update bundler
17
+ bundle install --jobs=4 --retry=3 --path vendor/bundle
18
+ - save_cache:
19
+ key: gem-cache-{{ .Branch }}-{{ checksum "Gemfile" }}
20
+ paths:
21
+ - vendor/bundle
22
+ - run: bundle exec danger
23
+ - run: bundle exec rake test
24
+
25
+ jobs:
26
+ ruby-2.4:
27
+ docker:
28
+ - image: circleci/ruby:2.4
29
+ steps:
30
+ *common_steps
31
+ ruby-2.5:
32
+ docker:
33
+ - image: circleci/ruby:2.5
34
+ steps:
35
+ *common_steps
36
+ ruby-2.6:
37
+ docker:
38
+ - image: circleci/ruby:2.6
39
+ steps:
40
+ *common_steps
41
+ jruby-9.2:
42
+ docker:
43
+ - image: circleci/jruby:9.2
44
+ environment:
45
+ JRUBY_OPTS: '--dev'
46
+ steps:
47
+ *common_steps
48
+ jruby-9.2-indy:
49
+ docker:
50
+ - image: circleci/jruby:9.2
51
+ environment:
52
+ JRUBY_OPTS: '-Xcompile.invokedynamic=true'
53
+ steps:
54
+ *common_steps
55
+
56
+ workflows:
57
+ version: 2
58
+ build:
59
+ jobs:
60
+ - ruby-2.4
61
+ - ruby-2.5
62
+ - ruby-2.6
63
+ - jruby-9.2
64
+ - jruby-9.2-indy
@@ -1,5 +1,9 @@
1
+ require: rt_rubocop_defaults
2
+
1
3
  AllCops:
2
- TargetRubyVersion: 2.1
4
+ TargetRubyVersion: 2.4
5
+ Exclude:
6
+ - Dangerfile
3
7
 
4
8
  Metrics/LineLength:
5
9
  Max: 99
@@ -21,6 +25,3 @@ Metrics/ClassLength:
21
25
  Metrics/MethodLength:
22
26
  Exclude:
23
27
  - test/*
24
-
25
- Style/Documentation:
26
- Enabled: false
@@ -4,6 +4,13 @@ Changelog
4
4
  master
5
5
  ---
6
6
 
7
+ 1.0.0
8
+ ---
9
+
10
+ * repackage 0.3.1 as 1.0.0
11
+ * setup circleci
12
+ * drop ruby < 2.4
13
+
7
14
 
8
15
  0.3.1
9
16
  ---
data/Dangerfile CHANGED
@@ -1,6 +1,8 @@
1
- # --------------------------------------------------------------------------------------------------------------------
1
+ # frozen_string_literal: true
2
+
3
+ # -------------------------------------------------------------------------
2
4
  # Has any changes happened inside the actual library code?
3
- # --------------------------------------------------------------------------------------------------------------------
5
+ # -------------------------------------------------------------------------
4
6
  has_app_changes = !git.modified_files.grep(/lib/).empty?
5
7
  has_test_changes = !git.modified_files.grep(/test/).empty?
6
8
  is_version_bump = git.modified_files.sort == ["CHANGELOG.md", "lib/receptacle/version.rb"].sort
@@ -10,7 +12,10 @@ if has_app_changes && !has_test_changes && !is_version_bump
10
12
  end
11
13
 
12
14
  if !git.modified_files.include?("CHANGELOG.md") && has_app_changes
13
- fail("Please include a CHANGELOG entry. \nYou can find it at [CHANGELOG.md](https://github.com/andreaseger/receptacle/blob/master/CHANGELOG.md).")
15
+ fail(<<~MSG)
16
+ Please include a CHANGELOG entry.
17
+ You can find it at [CHANGELOG.md](https://github.com/andreaseger/receptacle/blob/master/CHANGELOG.md).
18
+ MSG
14
19
  message "Note, we hard-wrap at 80 chars and use 2 spaces after the last line."
15
20
  end
16
21
 
@@ -23,4 +28,4 @@ warn("Big PR") if git.lines_of_code > 500
23
28
  commit_lint.check warn: :all, disable: [:subject_cap]
24
29
 
25
30
  # rubocop
26
- rubocop.lint
31
+ rubocop.lint force_exclusion: true
data/Gemfile CHANGED
@@ -1,10 +1,11 @@
1
1
  # frozen_string_literal: true
2
- source 'https://rubygems.org'
2
+
3
+ source "https://rubygems.org"
3
4
 
4
5
  gemspec
5
6
 
6
7
  group :development, :test do
7
- gem 'danger'
8
- gem 'danger-commit_lint'
9
- gem 'danger-rubocop'
8
+ gem "danger"
9
+ gem "danger-commit_lint"
10
+ gem "danger-rubocop"
10
11
  end
data/Guardfile CHANGED
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  # A sample Guardfile
3
4
  # More info at https://github.com/guard/guard#readme
4
5
 
@@ -20,11 +21,11 @@ group :red_green_refactor, halt_on_fail: true do
20
21
  # with Minitest::Unit
21
22
  watch(%r{^test/(.*)\/?test_(.*)\.rb$})
22
23
  # watch(%r{^lib/(.*/)?([^/]+)\.rb$}) { |m| "test/#{m[1]}test_#{m[2]}.rb" }
23
- watch(%r{^lib/(.*/)?([^/]+)\.rb$}) { 'test' }
24
- watch(%r{^test/test_helper\.rb$}) { 'test' }
25
- watch(%r{^test/fixture\.rb$}) { 'test' }
24
+ watch(%r{^lib/(.*/)?([^/]+)\.rb$}) { "test" }
25
+ watch(%r{^test/test_helper\.rb$}) { "test" }
26
+ watch(%r{^test/fixture\.rb$}) { "test" }
26
27
  end
27
- guard :rubocop, all_on_start: false, cli: ['--auto-correct'] do
28
+ guard :rubocop, all_on_start: false, cli: ["--auto-correct"] do
28
29
  watch(/.+\.rb$/)
29
30
  watch(%r{(?:.+/)?\.rubocop\.yml%}) { |m| File.dirname(m[0]) }
30
31
  end
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/receptacle.svg)](https://badge.fury.io/rb/receptacle)
4
4
  [![Gem Downloads](https://img.shields.io/gem/dt/receptacle.svg)](https://rubygems.org/gems/receptacle)
5
- [![Build Status](https://travis-ci.org/andreaseger/receptacle.svg?branch=master)](https://travis-ci.org/andreaseger/receptacle)
5
+ [![CircleCI](https://circleci.com/gh/andreaseger/receptacle.svg?style=svg)](https://circleci.com/gh/andreaseger/receptacle)
6
6
  [![codecov](https://codecov.io/gh/andreaseger/receptacle/branch/master/graph/badge.svg)](https://codecov.io/gh/andreaseger/receptacle)
7
7
 
8
8
  ## About
data/Rakefile CHANGED
@@ -1,25 +1,18 @@
1
1
  # frozen_string_literal: true
2
- require 'bundler/gem_tasks'
3
- require 'rake/testtask'
2
+
3
+ require "bundler/gem_tasks"
4
+ require "rake/testtask"
4
5
 
5
6
  Rake::TestTask.new(:test) do |t|
6
- t.libs << 'test'
7
- t.libs << 'lib'
8
- t.test_files = FileList['test/**/test_*.rb']
7
+ t.libs << "test"
8
+ t.libs << "lib"
9
+ t.test_files = FileList["test/**/test_*.rb"]
9
10
  end
10
11
 
11
- begin
12
- require 'rubocop/rake_task'
13
- RuboCop::RakeTask.new
14
- namespace :rubocop do
15
- desc 'Install Rubocop as pre-commit hook'
16
- task :install do
17
- require 'rubocop_runner'
18
- RubocopRunner.install
19
- end
20
- end
21
- rescue LoadError
22
- p 'rubocop not installed'
23
- end
12
+ require "rubocop/rake_task"
13
+ RuboCop::RakeTask.new
14
+
15
+ require "rubocop_runner/rake_task"
16
+ RubocopRunner::RakeTask.new
24
17
 
25
18
  task default: :test
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
3
 
4
- require 'bundler/setup'
5
- require 'receptacle'
4
+ require "bundler/setup"
5
+ require "receptacle"
6
6
 
7
7
  # You can add fixtures and/or initialization code here to make experimenting
8
8
  # with your gem easier. You can also use a different console, if you like.
9
9
 
10
- require 'pry'
10
+ require "pry"
11
11
  Pry.start
@@ -1,12 +1,13 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
- require 'bundler/inline'
4
+ require "bundler/inline"
4
5
  gemfile true do
5
- source 'https://rubygems.org'
6
- gem 'receptacle', '~>0.3'
7
- gem 'mongo'
6
+ source "https://rubygems.org"
7
+ gem "receptacle", "~>0.3"
8
+ gem "mongo"
8
9
  end
9
- require 'irb'
10
+ require "irb"
10
11
 
11
12
  # a simple struct to act as business entity
12
13
  User = Struct.new(:id, :name)
@@ -18,7 +19,7 @@ module Connection
18
19
 
19
20
  def initialize
20
21
  ::Mongo::Logger.logger.level = Logger::INFO
21
- @client = ::Mongo::Client.new(['127.0.0.1:27017'], database: 'receptacle')
22
+ @client = ::Mongo::Client.new(["127.0.0.1:27017"], database: "receptacle")
22
23
  client[:users].delete_many # empty collection
23
24
  end
24
25
  attr_reader :client
@@ -45,7 +46,7 @@ module Repository
45
46
  class Mongo
46
47
  def find(id:)
47
48
  mongo_to_model(collection.find(_id: id).first)
48
- rescue
49
+ rescue StandardError
49
50
  nil
50
51
  end
51
52
 
@@ -61,7 +62,7 @@ module Repository
61
62
  private
62
63
 
63
64
  def mongo_to_model(doc)
64
- ::User.new(doc['_id'], doc['name'])
65
+ ::User.new(doc["_id"], doc["name"])
65
66
  end
66
67
 
67
68
  def collection
@@ -100,21 +101,21 @@ end
100
101
  # configure the repository and use it
101
102
  Repository::User.strategy Repository::User::Strategy::InMemory
102
103
 
103
- user = Repository::User.create(name: 'foo')
104
- print 'created user: '
104
+ user = Repository::User.create(name: "foo")
105
+ print "created user: "
105
106
  p user
106
- print 'find user by id: '
107
+ print "find user by id: "
107
108
  p Repository::User.find(id: user.id)
108
109
 
109
110
  # switching to mongo and we see it's using a different store but keeps the same interface
110
111
  Repository::User.strategy Repository::User::Strategy::Mongo
111
112
 
112
- print 'search same user in other strategy: '
113
+ print "search same user in other strategy: "
113
114
  p Repository::User.find(id: user.id)
114
115
  #-> nil
115
116
 
116
- user = Repository::User.create(name: 'foo mongo')
117
- print 'create new user: '
117
+ user = Repository::User.create(name: "foo mongo")
118
+ print "create new user: "
118
119
  p user
119
- print 'find new user by id: '
120
+ print "find new user by id: "
120
121
  p Repository::User.find(id: user.id)
@@ -1,7 +1,8 @@
1
1
  # frozen_string_literal: true
2
- require 'receptacle/version'
3
- require 'receptacle/interface_methods'
4
- require 'receptacle/method_delegation'
2
+
3
+ require "receptacle/version"
4
+ require "receptacle/interface_methods"
5
+ require "receptacle/method_delegation"
5
6
 
6
7
  module Receptacle
7
8
  module Repo
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Receptacle
3
4
  module Errors
4
5
  class NotConfigured < StandardError
@@ -1,10 +1,11 @@
1
1
  # frozen_string_literal: true
2
- require 'receptacle/registration'
3
- require 'receptacle/errors'
2
+
3
+ require "receptacle/registration"
4
+ require "receptacle/errors"
4
5
 
5
6
  module Receptacle
6
7
  module InterfaceMethods
7
- RESERVED_METHOD_NAMES = Set.new(%i(wrappers mediate strategy delegate_to_strategy))
8
+ RESERVED_METHOD_NAMES = Set.new(%i[wrappers mediate strategy delegate_to_strategy])
8
9
  private_constant :RESERVED_METHOD_NAMES
9
10
 
10
11
  # registers a method_name for the to be mediated or forwarded to the configured strategy
@@ -12,6 +13,7 @@ module Receptacle
12
13
  # @param method_name [String] name of method to register
13
14
  def mediate(method_name)
14
15
  raise Errors::ReservedMethodName if RESERVED_METHOD_NAMES.include?(method_name)
16
+
15
17
  Registration.repositories[self].methods << method_name
16
18
  end
17
19
  alias delegate_to_strategy mediate
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Receptacle
3
4
  # Cache describing which strategy and wrappers need to be applied for this method
4
5
  # @api private
@@ -16,7 +17,7 @@ module Receptacle
16
17
  # @return [Integer] arity of strategy method according to https://ruby-doc.org/core-2.3.3/Method.html#method-i-arity
17
18
  attr_reader :arity
18
19
 
19
- def initialize(method_name:, strategy:, wrappers:) # rubocop:disable Metrics/AbcSize
20
+ def initialize(method_name:, strategy:, wrappers:)
20
21
  @strategy = strategy
21
22
  @before_method_name = :"before_#{method_name}"
22
23
  @after_method_name = :"after_#{method_name}"
@@ -1,7 +1,8 @@
1
1
  # frozen_string_literal: true
2
- require 'receptacle/method_cache'
3
- require 'receptacle/registration'
4
- require 'receptacle/errors'
2
+
3
+ require "receptacle/method_cache"
4
+ require "receptacle/registration"
5
+ require "receptacle/errors"
5
6
 
6
7
  module Receptacle
7
8
  # module which enables a repository to mediate methods dynamically to wrappers and strategy
@@ -39,10 +40,11 @@ module Receptacle
39
40
  def __build_method_call_cache(method_name)
40
41
  config = Registration.repositories[self]
41
42
 
42
- raise Errors::NotConfigured, repo: self if config.strategy.nil?
43
+ raise Errors::NotConfigured.new(repo: self) if config.strategy.nil?
44
+
43
45
  MethodCache.new(
44
- strategy: config.strategy,
45
- wrappers: config.wrappers,
46
+ strategy: config.strategy,
47
+ wrappers: config.wrappers,
46
48
  method_name: method_name
47
49
  )
48
50
  end
@@ -93,6 +95,7 @@ module Receptacle
93
95
  end
94
96
  ret = high_arity ? yield(*args) : yield(args)
95
97
  return ret if method_cache.skip_after_wrappers?
98
+
96
99
  __run_after_wrappers(wrappers, method_cache.after_method_name, args, ret, high_arity)
97
100
  end
98
101
 
@@ -105,6 +108,7 @@ module Receptacle
105
108
  def __run_before_wrappers(wrappers, method_name, args, high_arity = false)
106
109
  wrappers.each do |wrapper|
107
110
  next unless wrapper.respond_to?(method_name)
111
+
108
112
  args = if high_arity
109
113
  wrapper.public_send(method_name, *args)
110
114
  else
@@ -124,6 +128,7 @@ module Receptacle
124
128
  def __run_after_wrappers(wrappers, method_name, args, return_value, high_arity = false)
125
129
  wrappers.reverse_each do |wrapper|
126
130
  next unless wrapper.respond_to?(method_name)
131
+
127
132
  return_value = if high_arity
128
133
  wrapper.public_send(method_name, return_value, *args)
129
134
  else
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
- require 'singleton'
3
- require 'set'
2
+
3
+ require "singleton"
4
+ require "set"
4
5
  module Receptacle
5
6
  # keeps global state of repositories, the defined strategy, set wrappers and methods to mediate
6
7
  class Registration
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Receptacle
3
4
  module TestSupport
4
5
  # with_strategy
@@ -7,7 +8,7 @@ module Receptacle
7
8
  #
8
9
  # can be used in rspec like this
9
10
  #
10
- # require 'receptacle/test_support'y
11
+ # require 'receptacle/test_support'
11
12
  # RSpec.configure do |c|
12
13
  # c.include Receptacle::TestSupport
13
14
  # end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module Receptacle
3
- VERSION = '0.3.1'.freeze
4
+ VERSION = "1.0.0"
4
5
  end
@@ -1,13 +1,14 @@
1
1
  # frozen_string_literal: true
2
- require 'bundler/inline'
2
+
3
+ require "bundler/inline"
3
4
 
4
5
  gemfile false do
5
- source 'https://rubygems.org'
6
- gem 'benchmark-ips'
7
- gem 'receptacle', path: './..'
6
+ source "https://rubygems.org"
7
+ gem "benchmark-ips"
8
+ gem "receptacle", path: "./.."
8
9
  end
9
10
 
10
- require_relative 'speed_receptacle'
11
+ require_relative "speed_receptacle"
11
12
 
12
13
  Speed.strategy(Speed::Strategy::One)
13
14
  Speed.wrappers [Speed::Wrappers::W1,
@@ -17,28 +18,28 @@ Speed.wrappers [Speed::Wrappers::W1,
17
18
  Speed::Wrappers::W5,
18
19
  Speed::Wrappers::W6]
19
20
 
20
- print 'w/ wrappers'
21
+ print "w/ wrappers"
21
22
  Benchmark.ips do |x|
22
- x.warmup = 10 if RUBY_ENGINE == 'jruby'
23
- x.report('a: 2x around, 1x before, 1x after') { Speed.a(1) }
24
- x.report('b: 1x around, 1x before, 1x after') { Speed.b(1) }
25
- x.report('c: 1x before, 1x after') { Speed.c(1) }
26
- x.report('d: 1x after') { Speed.d(1) }
27
- x.report('e: 1x before') { Speed.e(1) }
28
- x.report('f: 1x around') { Speed.f(1) }
29
- x.report('g: no wrappers') { Speed.g(1) }
23
+ x.warmup = 10 if RUBY_ENGINE == "jruby"
24
+ x.report("a: 2x around, 1x before, 1x after") { Speed.a(1) }
25
+ x.report("b: 1x around, 1x before, 1x after") { Speed.b(1) }
26
+ x.report("c: 1x before, 1x after") { Speed.c(1) }
27
+ x.report("d: 1x after") { Speed.d(1) }
28
+ x.report("e: 1x before") { Speed.e(1) }
29
+ x.report("f: 1x around") { Speed.f(1) }
30
+ x.report("g: no wrappers") { Speed.g(1) }
30
31
  end
31
32
 
32
33
  Speed.wrappers []
33
- print 'method dispatching w/ wrappers'
34
+ print "method dispatching w/ wrappers"
34
35
  Benchmark.ips do |x|
35
- x.warmup = 10 if RUBY_ENGINE == 'jruby'
36
- x.report('via receptacle') { Speed.a(:foo) }
37
- x.report('direct via public_send') { Speed::Strategy::One.new.public_send(:a, :foo) }
38
- x.report('direct via method-method') do
36
+ x.warmup = 10 if RUBY_ENGINE == "jruby"
37
+ x.report("via receptacle") { Speed.a(:foo) }
38
+ x.report("direct via public_send") { Speed::Strategy::One.new.public_send(:a, :foo) }
39
+ x.report("direct via method-method") do
39
40
  m = Speed::Strategy::One.new.method(:a)
40
41
  m.call(:foo)
41
42
  end
42
- x.report('direct method-call') { Speed::Strategy::One.new.a(:foo) }
43
+ x.report("direct method-call") { Speed::Strategy::One.new.a(:foo) }
43
44
  x.compare!
44
45
  end
@@ -1,15 +1,16 @@
1
1
  #!/usr/bin/env ruby
2
2
  # frozen_string_literal: true
3
+
3
4
  # run with --profile.api in JRUBY_OPTS
4
- require 'bundler/inline'
5
- require 'jruby/profiler'
6
- PROFILE_NAME = 'receptacle'.freeze
5
+ require "bundler/inline"
6
+ require "jruby/profiler"
7
+ PROFILE_NAME = "receptacle"
7
8
 
8
9
  gemfile false do
9
- source 'https://rubygems.org'
10
- gem 'receptacle', path: './..'
10
+ source "https://rubygems.org"
11
+ gem "receptacle", path: "./.."
11
12
  end
12
- require_relative 'speed_receptacle'
13
+ require_relative "speed_receptacle"
13
14
 
14
15
  Speed.strategy(Speed::Strategy::One)
15
16
  Speed.wrappers [Speed::Wrappers::W1,
@@ -32,8 +33,8 @@ profile_data = JRuby::Profiler.profile do
32
33
  end
33
34
 
34
35
  profile_printer = JRuby::Profiler::GraphProfilePrinter.new(profile_data)
35
- profile_printer.printProfile(File.open("#{PROFILE_NAME}.graph.profile", 'w+'))
36
+ profile_printer.printProfile(File.open("#{PROFILE_NAME}.graph.profile", "w+"))
36
37
  profile_printer.printProfile(STDOUT)
37
38
 
38
39
  profile_printer = JRuby::Profiler::FlatProfilePrinter.new(profile_data)
39
- profile_printer.printProfile(File.open("#{PROFILE_NAME}.flat.profile", 'w+'))
40
+ profile_printer.printProfile(File.open("#{PROFILE_NAME}.flat.profile", "w+"))
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
- require 'receptacle'
2
+
3
+ require "receptacle"
3
4
  module Speed
4
5
  include Receptacle::Repo
5
6
  mediate :a
@@ -29,7 +30,7 @@ module Speed
29
30
  args
30
31
  end
31
32
 
32
- def after_a(return_values, _)
33
+ def after_a(return_values, _args)
33
34
  return_values
34
35
  end
35
36
 
@@ -37,7 +38,7 @@ module Speed
37
38
  args
38
39
  end
39
40
 
40
- def after_f(return_values, _)
41
+ def after_f(return_values, _args)
41
42
  return_values
42
43
  end
43
44
  end
@@ -48,7 +49,7 @@ module Speed
48
49
  args
49
50
  end
50
51
 
51
- def after_a(return_values, _)
52
+ def after_a(return_values, _args)
52
53
  return_values
53
54
  end
54
55
 
@@ -57,7 +58,7 @@ module Speed
57
58
  args
58
59
  end
59
60
 
60
- def after_b(return_values, _)
61
+ def after_b(return_values, _args)
61
62
  return_values
62
63
  end
63
64
  end
@@ -72,11 +73,11 @@ module Speed
72
73
  end
73
74
 
74
75
  class W4
75
- def after_a(return_values, _)
76
+ def after_a(return_values, _args)
76
77
  return_values
77
78
  end
78
79
 
79
- def after_d(return_value, _)
80
+ def after_d(return_value, _args)
80
81
  return_value
81
82
  end
82
83
  end
@@ -86,13 +87,13 @@ module Speed
86
87
  args
87
88
  end
88
89
 
89
- def after_c(return_value, _)
90
+ def after_c(return_value, _args)
90
91
  return_value
91
92
  end
92
93
  end
93
94
 
94
95
  class W6
95
- def after_b(return_value, _)
96
+ def after_b(return_value, _args)
96
97
  return_value
97
98
  end
98
99
 
@@ -1,38 +1,38 @@
1
- # coding: utf-8
2
1
  # frozen_string_literal: true
3
- lib = File.expand_path('../lib', __FILE__)
2
+
3
+ lib = File.expand_path("lib", __dir__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require 'receptacle/version'
5
+ require "receptacle/version"
6
6
 
7
7
  Gem::Specification.new do |spec|
8
- spec.name = 'receptacle'
8
+ spec.name = "receptacle"
9
9
  spec.version = Receptacle::VERSION
10
- spec.authors = ['Andreas Eger']
11
- spec.email = ['dev@eger-andreas.de']
10
+ spec.authors = ["Andreas Eger"]
11
+ spec.email = ["dev@eger-andreas.de"]
12
12
 
13
- spec.summary = 'repository pattern'
14
- spec.description = 'provides functionality for the repository or strategy pattern'
15
- spec.homepage = 'https://github.com/andreaseger/receptacle'
16
- spec.license = 'MIT'
13
+ spec.summary = "repository pattern"
14
+ spec.description = "provides functionality for the repository or strategy pattern"
15
+ spec.homepage = "https://github.com/andreaseger/receptacle"
16
+ spec.license = "MIT"
17
17
 
18
- spec.required_ruby_version = '~> 2.1'
18
+ spec.required_ruby_version = "~> 2.4"
19
19
 
20
20
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
21
21
  f.match(%r{^(test|spec|features)/})
22
22
  end
23
- spec.bindir = 'exe'
23
+ spec.bindir = "exe"
24
24
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
- spec.require_paths = ['lib']
25
+ spec.require_paths = ["lib"]
26
26
 
27
- spec.add_development_dependency 'bundler', '~> 1.13'
28
- spec.add_development_dependency 'rake', '~> 10.0'
29
- spec.add_development_dependency 'minitest', '~> 5.0'
30
- spec.add_development_dependency 'pry'
31
- spec.add_development_dependency 'rubocop_runner', '~> 2.0'
32
- spec.add_development_dependency 'rubocop', '~> 0.46.0'
33
- spec.add_development_dependency 'simplecov', '~> 0.13'
34
- spec.add_development_dependency 'codecov'
35
- spec.add_development_dependency 'guard'
36
- spec.add_development_dependency 'guard-minitest'
37
- spec.add_development_dependency 'guard-rubocop'
27
+ spec.add_development_dependency "bundler", ">= 1.13", "< 3"
28
+ spec.add_development_dependency "codecov"
29
+ spec.add_development_dependency "guard"
30
+ spec.add_development_dependency "guard-minitest"
31
+ spec.add_development_dependency "guard-rubocop"
32
+ spec.add_development_dependency "minitest", "~> 5.0"
33
+ spec.add_development_dependency "pry"
34
+ spec.add_development_dependency "rake", "~> 10.0"
35
+ spec.add_development_dependency "rt_rubocop_defaults", ">= 1.0.2", "< 2"
36
+ spec.add_development_dependency "rubocop_runner", "~> 2.0"
37
+ spec.add_development_dependency "simplecov", "~> 0.13"
38
38
  end
metadata CHANGED
@@ -1,59 +1,65 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: receptacle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andreas Eger
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-07-14 00:00:00.000000000 Z
11
+ date: 2019-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.13'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '3'
20
23
  type: :development
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: '1.13'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '3'
27
33
  - !ruby/object:Gem::Dependency
28
- name: rake
34
+ name: codecov
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
- - - "~>"
37
+ - - ">="
32
38
  - !ruby/object:Gem::Version
33
- version: '10.0'
39
+ version: '0'
34
40
  type: :development
35
41
  prerelease: false
36
42
  version_requirements: !ruby/object:Gem::Requirement
37
43
  requirements:
38
- - - "~>"
44
+ - - ">="
39
45
  - !ruby/object:Gem::Version
40
- version: '10.0'
46
+ version: '0'
41
47
  - !ruby/object:Gem::Dependency
42
- name: minitest
48
+ name: guard
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
- - - "~>"
51
+ - - ">="
46
52
  - !ruby/object:Gem::Version
47
- version: '5.0'
53
+ version: '0'
48
54
  type: :development
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
51
57
  requirements:
52
- - - "~>"
58
+ - - ">="
53
59
  - !ruby/object:Gem::Version
54
- version: '5.0'
60
+ version: '0'
55
61
  - !ruby/object:Gem::Dependency
56
- name: pry
62
+ name: guard-minitest
57
63
  requirement: !ruby/object:Gem::Requirement
58
64
  requirements:
59
65
  - - ">="
@@ -67,103 +73,109 @@ dependencies:
67
73
  - !ruby/object:Gem::Version
68
74
  version: '0'
69
75
  - !ruby/object:Gem::Dependency
70
- name: rubocop_runner
76
+ name: guard-rubocop
71
77
  requirement: !ruby/object:Gem::Requirement
72
78
  requirements:
73
- - - "~>"
79
+ - - ">="
74
80
  - !ruby/object:Gem::Version
75
- version: '2.0'
81
+ version: '0'
76
82
  type: :development
77
83
  prerelease: false
78
84
  version_requirements: !ruby/object:Gem::Requirement
79
85
  requirements:
80
- - - "~>"
86
+ - - ">="
81
87
  - !ruby/object:Gem::Version
82
- version: '2.0'
88
+ version: '0'
83
89
  - !ruby/object:Gem::Dependency
84
- name: rubocop
90
+ name: minitest
85
91
  requirement: !ruby/object:Gem::Requirement
86
92
  requirements:
87
93
  - - "~>"
88
94
  - !ruby/object:Gem::Version
89
- version: 0.46.0
95
+ version: '5.0'
90
96
  type: :development
91
97
  prerelease: false
92
98
  version_requirements: !ruby/object:Gem::Requirement
93
99
  requirements:
94
100
  - - "~>"
95
101
  - !ruby/object:Gem::Version
96
- version: 0.46.0
102
+ version: '5.0'
97
103
  - !ruby/object:Gem::Dependency
98
- name: simplecov
104
+ name: pry
99
105
  requirement: !ruby/object:Gem::Requirement
100
106
  requirements:
101
- - - "~>"
107
+ - - ">="
102
108
  - !ruby/object:Gem::Version
103
- version: '0.13'
109
+ version: '0'
104
110
  type: :development
105
111
  prerelease: false
106
112
  version_requirements: !ruby/object:Gem::Requirement
107
113
  requirements:
108
- - - "~>"
114
+ - - ">="
109
115
  - !ruby/object:Gem::Version
110
- version: '0.13'
116
+ version: '0'
111
117
  - !ruby/object:Gem::Dependency
112
- name: codecov
118
+ name: rake
113
119
  requirement: !ruby/object:Gem::Requirement
114
120
  requirements:
115
- - - ">="
121
+ - - "~>"
116
122
  - !ruby/object:Gem::Version
117
- version: '0'
123
+ version: '10.0'
118
124
  type: :development
119
125
  prerelease: false
120
126
  version_requirements: !ruby/object:Gem::Requirement
121
127
  requirements:
122
- - - ">="
128
+ - - "~>"
123
129
  - !ruby/object:Gem::Version
124
- version: '0'
130
+ version: '10.0'
125
131
  - !ruby/object:Gem::Dependency
126
- name: guard
132
+ name: rt_rubocop_defaults
127
133
  requirement: !ruby/object:Gem::Requirement
128
134
  requirements:
129
135
  - - ">="
130
136
  - !ruby/object:Gem::Version
131
- version: '0'
137
+ version: 1.0.2
138
+ - - "<"
139
+ - !ruby/object:Gem::Version
140
+ version: '2'
132
141
  type: :development
133
142
  prerelease: false
134
143
  version_requirements: !ruby/object:Gem::Requirement
135
144
  requirements:
136
145
  - - ">="
137
146
  - !ruby/object:Gem::Version
138
- version: '0'
147
+ version: 1.0.2
148
+ - - "<"
149
+ - !ruby/object:Gem::Version
150
+ version: '2'
139
151
  - !ruby/object:Gem::Dependency
140
- name: guard-minitest
152
+ name: rubocop_runner
141
153
  requirement: !ruby/object:Gem::Requirement
142
154
  requirements:
143
- - - ">="
155
+ - - "~>"
144
156
  - !ruby/object:Gem::Version
145
- version: '0'
157
+ version: '2.0'
146
158
  type: :development
147
159
  prerelease: false
148
160
  version_requirements: !ruby/object:Gem::Requirement
149
161
  requirements:
150
- - - ">="
162
+ - - "~>"
151
163
  - !ruby/object:Gem::Version
152
- version: '0'
164
+ version: '2.0'
153
165
  - !ruby/object:Gem::Dependency
154
- name: guard-rubocop
166
+ name: simplecov
155
167
  requirement: !ruby/object:Gem::Requirement
156
168
  requirements:
157
- - - ">="
169
+ - - "~>"
158
170
  - !ruby/object:Gem::Version
159
- version: '0'
171
+ version: '0.13'
160
172
  type: :development
161
173
  prerelease: false
162
174
  version_requirements: !ruby/object:Gem::Requirement
163
175
  requirements:
164
- - - ">="
176
+ - - "~>"
165
177
  - !ruby/object:Gem::Version
166
- version: '0'
178
+ version: '0.13'
167
179
  description: provides functionality for the repository or strategy pattern
168
180
  email:
169
181
  - dev@eger-andreas.de
@@ -171,10 +183,10 @@ executables: []
171
183
  extensions: []
172
184
  extra_rdoc_files: []
173
185
  files:
186
+ - ".circleci/config.yml"
174
187
  - ".dir-locals.el"
175
188
  - ".gitignore"
176
189
  - ".rubocop.yml"
177
- - ".travis.yml"
178
190
  - CHANGELOG.md
179
191
  - CODE_OF_CONDUCT.md
180
192
  - Dangerfile
@@ -210,15 +222,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
210
222
  requirements:
211
223
  - - "~>"
212
224
  - !ruby/object:Gem::Version
213
- version: '2.1'
225
+ version: '2.4'
214
226
  required_rubygems_version: !ruby/object:Gem::Requirement
215
227
  requirements:
216
228
  - - ">="
217
229
  - !ruby/object:Gem::Version
218
230
  version: '0'
219
231
  requirements: []
220
- rubyforge_project:
221
- rubygems_version: 2.6.11
232
+ rubygems_version: 3.0.2
222
233
  signing_key:
223
234
  specification_version: 4
224
235
  summary: repository pattern
@@ -1,36 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
- rvm:
4
- - 2.1.10
5
- - 2.2.6
6
- - 2.3.4
7
- - 2.4.1
8
- - jruby-9.1.12.0
9
- jdk:
10
- - oraclejdk8
11
- env:
12
- - "JRUBY_OPTS='--dev --debug'"
13
- - "JRUBY_OPTS='-Xcompile.invokedynamic=true --debug'"
14
- matrix:
15
- exclude:
16
- - rvm: 2.1.10
17
- jdk: oraclejdk8
18
- env: "JRUBY_OPTS='-Xcompile.invokedynamic=true --debug'"
19
- - rvm: 2.2.6
20
- jdk: oraclejdk8
21
- env: "JRUBY_OPTS='-Xcompile.invokedynamic=true --debug'"
22
- - rvm: 2.3.4
23
- jdk: oraclejdk8
24
- env: "JRUBY_OPTS='-Xcompile.invokedynamic=true --debug'"
25
- - rvm: 2.4.1
26
- jdk: oraclejdk8
27
- env: "JRUBY_OPTS='-Xcompile.invokedynamic=true --debug'"
28
- allow_failures:
29
- - rvm: jruby-9.1.12.0
30
- jdk: oraclejdk8
31
- env: "JRUBY_OPTS='-Xcompile.invokedynamic=true --debug'"
32
- before_install:
33
- - gem update --system
34
- - gem install bundler -v 1.15.1
35
- before_script:
36
- - bundle exec danger