sums_up 1.2.0 → 1.2.1
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 +4 -4
- data/.ruby-version +1 -1
- data/.travis.yml +21 -8
- data/{lib/sums_up/CHANGELOG.md → CHANGELOG.md} +0 -0
- data/Gemfile +1 -4
- data/Rakefile +4 -13
- data/bin/console +2 -2
- data/lib/sums_up/core/matcher.rb +3 -3
- data/lib/sums_up/core/parser.rb +2 -2
- data/lib/sums_up/core/strings.rb +1 -1
- data/lib/sums_up/core/variant.rb +4 -4
- data/lib/sums_up/core.rb +6 -6
- data/lib/sums_up/version.rb +1 -1
- data/lib/sums_up.rb +5 -5
- data/sums_up.gemspec +15 -15
- metadata +14 -15
- data/.rubocop.yml +0 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e79b011455ff5abed7ac7a82c14701946058f19cfc61a26e9b7ab2e3665c5f46
|
4
|
+
data.tar.gz: 9653429413070b22b8d7629d967252b321717c6eeb6eedc78b53962689eb0703
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 85508278406a10cf27cb314be87e1381038735c482f68dd6f5e7cc9ae0a1f6644ef5482a0137fe7703c69ffafb23bb10c4d33b38843bca64980a9f04ee03b632
|
7
|
+
data.tar.gz: bf13dbac9829555e578cf950495badd889cc853a5ed30c6e3404b74eed4aa5787bd4a23b6f78ccfcb202047f6bf1112eb639d882337c12cbaf27416dbd6ab559
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.1.0
|
data/.travis.yml
CHANGED
@@ -1,12 +1,25 @@
|
|
1
1
|
---
|
2
2
|
language: ruby
|
3
3
|
cache: bundler
|
4
|
-
rvm:
|
5
|
-
- 2.3.0
|
6
|
-
- 2.3.8
|
7
|
-
- 2.4.10
|
8
|
-
- 2.5.8
|
9
|
-
- 2.6.6
|
10
|
-
- 2.7.2
|
11
|
-
- 3.0.0
|
12
4
|
before_install: gem install bundler -v '< 3'
|
5
|
+
jobs:
|
6
|
+
include:
|
7
|
+
# Ubuntu 20.04 versions
|
8
|
+
- dist: focal
|
9
|
+
rvm: 2.5.0
|
10
|
+
name: "Ruby 2.5.0"
|
11
|
+
- dist: focal
|
12
|
+
rvm: 2.5.9
|
13
|
+
name: "Ruby 2.5.9"
|
14
|
+
- dist: focal
|
15
|
+
rvm: 2.6.9
|
16
|
+
name: "Ruby 2.6.9"
|
17
|
+
- dist: focal
|
18
|
+
rvm: 2.7.5
|
19
|
+
name: "Ruby 2.7.5"
|
20
|
+
- dist: focal
|
21
|
+
rvm: 3.0.3
|
22
|
+
name: "Ruby 3.0.3"
|
23
|
+
- dist: focal
|
24
|
+
rvm: 3.1.0
|
25
|
+
name: "Ruby 3.1.0"
|
File without changes
|
data/Gemfile
CHANGED
@@ -1,9 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
source
|
3
|
+
source "https://rubygems.org"
|
4
4
|
|
5
5
|
# Specify your gem's dependencies in sums_up.gemspec
|
6
6
|
gemspec
|
7
|
-
|
8
|
-
# Only run rubocop on rubies >= 2.5; see Rakfeile for more details.
|
9
|
-
gem 'rubocop', '~> 1.1' unless /\A2\.[34]./.match(RUBY_VERSION)
|
data/Rakefile
CHANGED
@@ -1,18 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
3
|
+
require "bundler/gem_tasks"
|
4
|
+
require "rspec/core/rake_task"
|
5
|
+
require "standard/rake"
|
5
6
|
|
6
7
|
RSpec::Core::RakeTask.new(:spec)
|
7
8
|
|
8
|
-
|
9
|
-
# This allows us to test older versions on travis and feel better about lowering
|
10
|
-
# the required Ruby version to >= 2.3.
|
11
|
-
if /\A2\.[34]\./.match(RUBY_VERSION)
|
12
|
-
task default: %i[spec]
|
13
|
-
else
|
14
|
-
require 'rubocop/rake_task'
|
15
|
-
RuboCop::RakeTask.new(:rubocop)
|
16
|
-
|
17
|
-
task default: %i[spec rubocop]
|
18
|
-
end
|
9
|
+
task default: %i[spec standard]
|
data/bin/console
CHANGED
data/lib/sums_up/core/matcher.rb
CHANGED
@@ -64,8 +64,8 @@ module SumsUp
|
|
64
64
|
if unknown_variants.any?
|
65
65
|
raise(
|
66
66
|
UnknownVariantError,
|
67
|
-
"Unknown variant(s): #{unknown_variants.join(
|
68
|
-
"valid variant(s) are: #{variants.join(
|
67
|
+
"Unknown variant(s): #{unknown_variants.join(", ")}; " \
|
68
|
+
"valid variant(s) are: #{variants.join(", ")}"
|
69
69
|
)
|
70
70
|
end
|
71
71
|
|
@@ -82,7 +82,7 @@ module SumsUp
|
|
82
82
|
return @result if @wildcard_matched
|
83
83
|
return @result if @matched_variants.length == variants.length
|
84
84
|
|
85
|
-
unmatched_variants = (variants - @matched_variants).join(
|
85
|
+
unmatched_variants = (variants - @matched_variants).join(", ")
|
86
86
|
|
87
87
|
raise(
|
88
88
|
UnmatchedVariantError,
|
data/lib/sums_up/core/parser.rb
CHANGED
@@ -4,7 +4,7 @@ module SumsUp
|
|
4
4
|
module Core
|
5
5
|
# Validates and normalizes arguments passed to SumsUp.define.
|
6
6
|
module Parser
|
7
|
-
LOWER_SNAKE_CASE_REGEXP = /\A[[:lower:]]+(_[[:lower:]]+)*\z
|
7
|
+
LOWER_SNAKE_CASE_REGEXP = /\A[[:lower:]]+(_[[:lower:]]+)*\z/
|
8
8
|
|
9
9
|
module_function
|
10
10
|
|
@@ -31,7 +31,7 @@ module SumsUp
|
|
31
31
|
|
32
32
|
raise(
|
33
33
|
DuplicateNameError,
|
34
|
-
"Duplicated names: #{duplicates.join(
|
34
|
+
"Duplicated names: #{duplicates.join(", ")}"
|
35
35
|
)
|
36
36
|
end
|
37
37
|
|
data/lib/sums_up/core/strings.rb
CHANGED
data/lib/sums_up/core/variant.rb
CHANGED
@@ -85,7 +85,7 @@ module SumsUp
|
|
85
85
|
end
|
86
86
|
end
|
87
87
|
|
88
|
-
|
88
|
+
alias_method :to_a, :members
|
89
89
|
|
90
90
|
def attributes
|
91
91
|
self.class::MEMBERS.zip(@values).to_h
|
@@ -93,7 +93,7 @@ module SumsUp
|
|
93
93
|
|
94
94
|
def to_h(include_root: true)
|
95
95
|
if include_root
|
96
|
-
{
|
96
|
+
{self.class::VARIANT => attributes}
|
97
97
|
else
|
98
98
|
attributes
|
99
99
|
end
|
@@ -107,7 +107,7 @@ module SumsUp
|
|
107
107
|
attrs = self.class::MEMBERS
|
108
108
|
.zip(@values)
|
109
109
|
.map { |member, value| "#{member}=#{value.inspect}" }
|
110
|
-
.join(
|
110
|
+
.join(", ")
|
111
111
|
|
112
112
|
if attrs.empty?
|
113
113
|
"#<variant #{variant}>"
|
@@ -116,7 +116,7 @@ module SumsUp
|
|
116
116
|
end
|
117
117
|
end
|
118
118
|
|
119
|
-
|
119
|
+
alias_method :to_s, :inspect
|
120
120
|
|
121
121
|
def ==(other)
|
122
122
|
other.is_a?(self.class) &&
|
data/lib/sums_up/core.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
6
|
-
require
|
7
|
-
require
|
8
|
-
require
|
3
|
+
require "sums_up/core/functions"
|
4
|
+
require "sums_up/core/matcher"
|
5
|
+
require "sums_up/core/parser"
|
6
|
+
require "sums_up/core/strings"
|
7
|
+
require "sums_up/core/sum_type"
|
8
|
+
require "sums_up/core/variant"
|
9
9
|
|
10
10
|
module SumsUp
|
11
11
|
# Core functionality which builds modules for sum types and classes for
|
data/lib/sums_up/version.rb
CHANGED
data/lib/sums_up.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
3
|
+
require "forwardable"
|
4
4
|
|
5
|
-
require
|
6
|
-
require
|
5
|
+
require "sums_up/core"
|
6
|
+
require "sums_up/version"
|
7
7
|
|
8
8
|
# UI-level functions for the gem.
|
9
9
|
module SumsUp
|
@@ -27,5 +27,5 @@ module SumsUp
|
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
|
-
require
|
31
|
-
require
|
30
|
+
require "sums_up/maybe"
|
31
|
+
require "sums_up/result"
|
data/sums_up.gemspec
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require_relative
|
3
|
+
require_relative "lib/sums_up/version"
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
|
-
spec.name =
|
6
|
+
spec.name = "sums_up"
|
7
7
|
spec.version = SumsUp::VERSION
|
8
|
-
spec.authors = [
|
9
|
-
spec.email = [
|
8
|
+
spec.authors = ["Tom Hulihan"]
|
9
|
+
spec.email = ["hulihan.tom159@gmail.com"]
|
10
10
|
|
11
|
-
spec.summary =
|
12
|
-
spec.homepage =
|
13
|
-
spec.license =
|
14
|
-
spec.required_ruby_version = Gem::Requirement.new(
|
11
|
+
spec.summary = "Sum types for Ruby"
|
12
|
+
spec.homepage = "https://github.com/nahiluhmot/sums_up"
|
13
|
+
spec.license = "MIT"
|
14
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
|
15
15
|
|
16
|
-
spec.metadata[
|
17
|
-
spec.metadata[
|
18
|
-
spec.metadata[
|
16
|
+
spec.metadata["homepage_uri"] = spec.homepage
|
17
|
+
spec.metadata["source_code_uri"] = spec.homepage
|
18
|
+
spec.metadata["changelog_uri"] = "#{spec.homepage}/CHANGELOG.md"
|
19
19
|
|
20
20
|
# Specify which files should be added to the gem when it is released.
|
21
21
|
# The `git ls-files -z` loads the files in the RubyGem that have been added
|
@@ -25,9 +25,9 @@ Gem::Specification.new do |spec|
|
|
25
25
|
.split("\x0")
|
26
26
|
.reject { |f| f.match(%r{^(test|spec|features)/}) }
|
27
27
|
end
|
28
|
-
spec.require_paths = [
|
28
|
+
spec.require_paths = ["lib"]
|
29
29
|
|
30
|
-
spec.add_development_dependency
|
31
|
-
spec.add_development_dependency
|
32
|
-
spec.add_development_dependency
|
30
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
31
|
+
spec.add_development_dependency "rspec", "~> 3.10"
|
32
|
+
spec.add_development_dependency "standard", "~> 1.7"
|
33
33
|
end
|
metadata
CHANGED
@@ -1,57 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sums_up
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Hulihan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: rake
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '0
|
19
|
+
version: '13.0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '0
|
26
|
+
version: '13.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: rspec
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '3.10'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '3.10'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: standard
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
47
|
+
version: '1.7'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
54
|
+
version: '1.7'
|
55
55
|
description:
|
56
56
|
email:
|
57
57
|
- hulihan.tom159@gmail.com
|
@@ -61,9 +61,9 @@ extra_rdoc_files: []
|
|
61
61
|
files:
|
62
62
|
- ".gitignore"
|
63
63
|
- ".rspec"
|
64
|
-
- ".rubocop.yml"
|
65
64
|
- ".ruby-version"
|
66
65
|
- ".travis.yml"
|
66
|
+
- CHANGELOG.md
|
67
67
|
- CODE_OF_CONDUCT.md
|
68
68
|
- Gemfile
|
69
69
|
- LICENSE.txt
|
@@ -72,7 +72,6 @@ files:
|
|
72
72
|
- bin/console
|
73
73
|
- bin/setup
|
74
74
|
- lib/sums_up.rb
|
75
|
-
- lib/sums_up/CHANGELOG.md
|
76
75
|
- lib/sums_up/core.rb
|
77
76
|
- lib/sums_up/core/functions.rb
|
78
77
|
- lib/sums_up/core/matcher.rb
|
@@ -99,14 +98,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
99
98
|
requirements:
|
100
99
|
- - ">="
|
101
100
|
- !ruby/object:Gem::Version
|
102
|
-
version: 2.
|
101
|
+
version: 2.5.0
|
103
102
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
104
103
|
requirements:
|
105
104
|
- - ">="
|
106
105
|
- !ruby/object:Gem::Version
|
107
106
|
version: '0'
|
108
107
|
requirements: []
|
109
|
-
rubygems_version: 3.
|
108
|
+
rubygems_version: 3.3.3
|
110
109
|
signing_key:
|
111
110
|
specification_version: 4
|
112
111
|
summary: Sum types for Ruby
|
data/.rubocop.yml
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
AllCops:
|
2
|
-
NewCops: enable
|
3
|
-
SuggestExtensions: false
|
4
|
-
TargetRubyVersion: 2.5.0
|
5
|
-
|
6
|
-
Gemspec/RequiredRubyVersion:
|
7
|
-
Enabled: False
|
8
|
-
|
9
|
-
Layout/LineLength:
|
10
|
-
Max: 80
|
11
|
-
|
12
|
-
Layout/MultilineMethodCallIndentation:
|
13
|
-
EnforcedStyle: indented
|
14
|
-
|
15
|
-
Metrics/AbcSize:
|
16
|
-
Enabled: false
|
17
|
-
|
18
|
-
Metrics/BlockLength:
|
19
|
-
Enabled: false
|
20
|
-
|
21
|
-
Metrics/MethodLength:
|
22
|
-
Enabled: false
|
23
|
-
|
24
|
-
Style/ExplicitBlockArgument:
|
25
|
-
Enabled: false
|
26
|
-
|
27
|
-
# Disabling for now to support Ruby 2.3.
|
28
|
-
Style/HashTransformValues:
|
29
|
-
Enabled: false
|