strudel 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9079d5282e709ae5c7ae25bf3e0798fcb18ba4d7a4b6e812c4550f14c9050ee0
4
- data.tar.gz: 7527860dd73a27c326578b26a5faa55e3b12475556bed7ee1fb6a11cb9e118a2
3
+ metadata.gz: 9db4e6d114547cb7cea2a9fa90518d63d6bd57a740cc0e98d7e91653570c65c6
4
+ data.tar.gz: 0ef732a0b969100b1e5e1d43e86437231bbdda1a77d78ad923c6bd1a96e63921
5
5
  SHA512:
6
- metadata.gz: 650a967118b4953db191fa9fd197c301e606c59452a378502a3e130f5e343b68a1c0d802212e998c26805486fc0245d1c84cab6cb370b42817f97d227d7db754
7
- data.tar.gz: cbbeff6d186f8f34892ace98613fa30585ff7d1769e65146f7ef2303339670d23c91e1c757e36335db026850a97673c42f5ed34391dcd54be79e2f2411f5a246
6
+ metadata.gz: 74888d188dd6910dc36cd8c59bd20e7600eaefad47a5084480ebfbe481112d2f773671bee37d82591df61a90835f8629c24fc5d87b17a78c16356c803ab7ee9e
7
+ data.tar.gz: 34d51387b1f6784a349be15ac1aa5a30a4131c1d68d46f0aa2830997faa6e0786365fb2402ccd932252fbbeb75b4cbfbb45ee25e86b3a742d2de2730fb5ab120
@@ -5,13 +5,13 @@ AllCops:
5
5
  Layout/EndAlignment:
6
6
  EnforcedStyleAlignWith: variable
7
7
 
8
- Layout/AlignParameters:
8
+ Layout/ParameterAlignment:
9
9
  EnforcedStyle: with_fixed_indentation
10
10
 
11
- Layout/IndentArray:
11
+ Layout/FirstArrayElementIndentation:
12
12
  EnforcedStyle: consistent
13
13
 
14
- Layout/IndentHash:
14
+ Layout/FirstHashElementIndentation:
15
15
  EnforcedStyle: consistent
16
16
 
17
17
  Layout/MultilineMethodCallIndentation:
@@ -19,3 +19,10 @@ Layout/MultilineMethodCallIndentation:
19
19
 
20
20
  Lint/MissingCopEnableDirective:
21
21
  Enabled: false
22
+
23
+ Metrics/BlockLength:
24
+ Exclude:
25
+ - spec/*
26
+
27
+ Style/Documentation:
28
+ Enabled: false
@@ -4,6 +4,8 @@ rvm:
4
4
  - 2.3
5
5
  - 2.4
6
6
  - 2.5
7
+ - 2.6
8
+ - 2.7
7
9
  env:
8
10
  global:
9
11
  - COVERAGE=1
@@ -17,6 +19,7 @@ before_script:
17
19
  script:
18
20
  - bin/rubocop
19
21
  - bin/rspec --format doc
22
+ - bin/check-version
20
23
 
21
24
  after_script:
22
25
  - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
@@ -30,7 +33,7 @@ jobs:
30
33
  provider: rubygems
31
34
  api_key:
32
35
  secure: 'tcEf3gBUUPOVkDFjvKhBX44cYghbFLXA5BEtmBPwqDXbWaoMVSDcsBRCddLLJts2k1tmYyGVSLP7FR8zE7tfJy40iqSqQRTtdB58SxAoMdU02+x0D8uCgMwdX7qLJePoxW4WVryMo8bql7N4ydtXwlV9POJiDKK47R21G7KvIplMGvav0/SYFFfI21BzCc6Pt8X6a0EuJXJNvqFhJAEvyp+7T8M83owIXwEIsarVc3VTTmefjAJ6zAvpLlRKYU63qN1hOqdzDfGhynNAYhIgstpDwmbwSqxkn4vxmn2OQSXwCeajLiB+nDMpevPGgE9KoeKKGWmv/N0qsgLohR9HziCBl1rolhjfYKshgN18iBBOW1iKBr0sb3EeWU2EDcnDGRvCx6vqD6LTj2TkFI0/nQYuIdPK8eWogpH3hpDwQWcC970bFDWrPFnuQ/jy2wS43y+Q8eAY3cbi07qzc5dMtA/YHkl/PpXM/VjPSWz95clcKc9tSgZN6Vy9dEfYhsTbtbY32SSBw+54N9g1dBaLgeA0T5J/HfNRRldLsZmoolNpeQ11ZLD/afL0Va4rR+qgKG3Hx8Yglp34NzZhSZ0wkrw/RPE2cSCBvknwL/thw+9PKqbSiao9GGFadVJt5KajIP501Bn8oBzoHqU9OuGG8i95MNLZSktnemMbYIgBsDc='
33
- gem: uncsv
36
+ gem: strudel
34
37
  on:
35
38
  tags: true
36
39
  condition: bin/check-version
@@ -0,0 +1,25 @@
1
+ ## Release v1.0.2
2
+
3
+ * Remove rake development dependency
4
+ * Add Strudel.version method
5
+ * Add support for Ruby 2.7
6
+
7
+ ## Release v1.0.0
8
+
9
+ Update dependencies and first stable release
10
+
11
+ ## Release v0.1.3
12
+
13
+ Add support for Ruby 2.3
14
+
15
+ ## Release v0.1.2
16
+
17
+ Add versions to all dev dependencies
18
+
19
+ ## Release v0.1.1
20
+
21
+ Clean up development dependencies
22
+
23
+ ## Release v0.1.0
24
+
25
+ Initial release
@@ -1,6 +1,10 @@
1
1
  #!/usr/bin/env sh
2
2
 
3
- tag="$(git describe --abbrev=0)"
3
+ set -e
4
+
5
+ tag="$(git describe --abbrev=0 2>/dev/null || echo)"
4
6
  tag="${tag#v}"
5
- gt=$(ruby -r ./lib/strudel/version -e "puts Gem::Version.new(Strudel::VERSION) >= Gem::Version.new('${tag}')")
6
- test "$gt" = true
7
+ [ "$tag" = '' ] && exit 0
8
+
9
+ tag_gt_version=$(ruby -r ./lib/strudel/version -e "puts Strudel.version >= Gem::Version.new('${tag}')")
10
+ test "$tag_gt_version" = true
data/bin/rspec CHANGED
@@ -9,8 +9,10 @@
9
9
  #
10
10
 
11
11
  require 'pathname'
12
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
13
- Pathname.new(__FILE__).realpath)
12
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path(
13
+ '../../Gemfile',
14
+ Pathname.new(__FILE__).realpath
15
+ )
14
16
 
15
17
  require 'rubygems'
16
18
  require 'bundler/setup'
@@ -9,8 +9,10 @@
9
9
  #
10
10
 
11
11
  require 'pathname'
12
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
13
- Pathname.new(__FILE__).realpath)
12
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path(
13
+ '../../Gemfile',
14
+ Pathname.new(__FILE__).realpath
15
+ )
14
16
 
15
17
  require 'rubygems'
16
18
  require 'bundler/setup'
data/bin/yard CHANGED
@@ -9,8 +9,10 @@
9
9
  #
10
10
 
11
11
  require 'pathname'
12
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
13
- Pathname.new(__FILE__).realpath)
12
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path(
13
+ '../../Gemfile',
14
+ Pathname.new(__FILE__).realpath
15
+ )
14
16
 
15
17
  require 'rubygems'
16
18
  require 'bundler/setup'
data/bin/yardoc CHANGED
@@ -9,8 +9,10 @@
9
9
  #
10
10
 
11
11
  require 'pathname'
12
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
13
- Pathname.new(__FILE__).realpath)
12
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path(
13
+ '../../Gemfile',
14
+ Pathname.new(__FILE__).realpath
15
+ )
14
16
 
15
17
  require 'rubygems'
16
18
  require 'bundler/setup'
data/bin/yri CHANGED
@@ -9,8 +9,10 @@
9
9
  #
10
10
 
11
11
  require 'pathname'
12
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
13
- Pathname.new(__FILE__).realpath)
12
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path(
13
+ '../../Gemfile',
14
+ Pathname.new(__FILE__).realpath
15
+ )
14
16
 
15
17
  require 'rubygems'
16
18
  require 'bundler/setup'
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'strudel/version'
4
+
3
5
  # Strudel
4
6
  #
5
7
  # A tiny dependency injection container
@@ -57,8 +59,8 @@ class Strudel
57
59
  # service
58
60
  # @yield [self]
59
61
  # @return [self]
60
- def set(key, service = nil)
61
- create(key, service || Proc.new, @procs)
62
+ def set(key, service = nil, &block)
63
+ create(key, service || block, @procs)
62
64
  end
63
65
 
64
66
  # Set a factory service by key and value
@@ -73,8 +75,8 @@ class Strudel
73
75
  # @param [Proc, block] factory The service factory Proc or static service
74
76
  # @yield [self]
75
77
  # @return [self]
76
- def factory(key, factory = nil)
77
- create(key, factory || Proc.new, @factories)
78
+ def factory(key, factory = nil, &block)
79
+ create(key, factory || block, @factories)
78
80
  end
79
81
 
80
82
  # Set a protected service by name and value
@@ -89,8 +91,8 @@ class Strudel
89
91
  # @param [Proc, value, nil] service The service function.
90
92
  # @yield [self]
91
93
  # @return [self]
92
- def protect(key, service = nil)
93
- create(key, service || Proc.new)
94
+ def protect(key, service = nil, &block)
95
+ create(key, service || block)
94
96
  end
95
97
 
96
98
  # Extends an existing service and overrides it.
@@ -116,8 +118,8 @@ class Strudel
116
118
  # @param [Proc, value, nil] extender
117
119
  # @yield [old_value, self]
118
120
  # @return [self]
119
- def extend(key, extender = nil)
120
- extender ||= Proc.new
121
+ def extend(key, extender = nil, &block)
122
+ extender ||= block
121
123
  return set(key, extender) unless extender.is_a?(Proc) && @services.key?(key)
122
124
 
123
125
  extended = @services[key]
@@ -2,5 +2,9 @@
2
2
 
3
3
  class Strudel
4
4
  # The current Strudel gem version
5
- VERSION = '1.0.0'
5
+ VERSION = '1.0.2'
6
+
7
+ def self.version
8
+ Gem::Version.new(VERSION)
9
+ end
6
10
  end
@@ -6,7 +6,7 @@ require 'strudel/version'
6
6
 
7
7
  Gem::Specification.new do |spec|
8
8
  spec.name = 'strudel'
9
- spec.version = Strudel::VERSION
9
+ spec.version = Strudel.version
10
10
  spec.authors = ['Justin Howard']
11
11
  spec.email = ['jmhoward0@gmail.com']
12
12
 
@@ -19,10 +19,10 @@ Gem::Specification.new do |spec|
19
19
  end
20
20
  spec.require_paths = ['lib']
21
21
 
22
- spec.add_development_dependency 'rake', '~> 10.0'
23
22
  spec.add_development_dependency 'redcarpet', '~> 3.4'
24
23
  spec.add_development_dependency 'rspec', '~> 3.4'
25
- spec.add_development_dependency 'rubocop', '~> 0.61'
24
+ # 0.81 is the last rubocop version with Ruby 2.3 support
25
+ spec.add_development_dependency 'rubocop', '0.81.0'
26
26
  spec.add_development_dependency 'simplecov', '~> 0.11'
27
27
  spec.add_development_dependency 'yard', '>= 0.9.11'
28
28
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: strudel
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Howard
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-09 00:00:00.000000000 Z
11
+ date: 2020-08-28 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rake
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '10.0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '10.0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: redcarpet
29
15
  requirement: !ruby/object:Gem::Requirement
@@ -56,16 +42,16 @@ dependencies:
56
42
  name: rubocop
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
- - - "~>"
45
+ - - '='
60
46
  - !ruby/object:Gem::Version
61
- version: '0.61'
47
+ version: 0.81.0
62
48
  type: :development
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
- - - "~>"
52
+ - - '='
67
53
  - !ruby/object:Gem::Version
68
- version: '0.61'
54
+ version: 0.81.0
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: simplecov
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -106,12 +92,11 @@ files:
106
92
  - ".rubocop.yml"
107
93
  - ".travis.yml"
108
94
  - ".yardopts"
95
+ - CHANGELOG.md
109
96
  - Gemfile
110
97
  - LICENSE.txt
111
98
  - README.md
112
- - Rakefile
113
99
  - bin/check-version
114
- - bin/rake
115
100
  - bin/rspec
116
101
  - bin/rubocop
117
102
  - bin/yard
@@ -139,8 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
139
124
  - !ruby/object:Gem::Version
140
125
  version: '0'
141
126
  requirements: []
142
- rubyforge_project:
143
- rubygems_version: 2.7.7
127
+ rubygems_version: 3.0.8
144
128
  signing_key:
145
129
  specification_version: 4
146
130
  summary: A tiny dependency injection container
data/Rakefile DELETED
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'bundler/gem_tasks'
4
- require 'rspec/core/rake_task'
5
- require 'rubocop/rake_task'
6
- require 'yard'
7
-
8
- RSpec::Core::RakeTask.new(:spec)
9
- RuboCop::RakeTask.new
10
- YARD::Rake::YardocTask.new
11
-
12
- task default: :check
13
- task check: %i[rubocop spec]
data/bin/rake DELETED
@@ -1,18 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- #
5
- # This file was generated by Bundler.
6
- #
7
- # The application 'rake' is installed as part of a gem, and
8
- # this file is here to facilitate running it.
9
- #
10
-
11
- require 'pathname'
12
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile',
13
- Pathname.new(__FILE__).realpath)
14
-
15
- require 'rubygems'
16
- require 'bundler/setup'
17
-
18
- load Gem.bin_path('rake', 'rake')