bottle_service 0.0.2 → 0.1.0
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/.gitignore +2 -0
- data/Gemfile +0 -2
- data/Guardfile +6 -0
- data/bottle_service.gemspec +4 -1
- data/lib/bottle_service.rb +3 -8
- data/lib/bottle_service/version.rb +1 -1
- data/lib/bottle_service/waitress.rb +12 -0
- data/spec/bottle_service_spec.rb +31 -0
- data/spec/fixtures/greeter.rb +10 -0
- data/spec/spec_helper.rb +13 -0
- metadata +47 -3
- data/Gemfile.lock +0 -51
- data/lib/bottle_service/bottle_service_error.rb +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5dfa858874d43209d28614f5e6e1b719278e7e47
|
4
|
+
data.tar.gz: 0621db9058691d4ceacd0e40178f043eb2932978
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a064f9848f4ef75f14d3ed38485d5794822a15468affd1760667822656188a259ca9df1879166aa4a3443e74394c11acd9e643a4f8a888c9040ba1f8f54495e1
|
7
|
+
data.tar.gz: b0b76708e098ed995ee78e3fc192127ff0a5b13dc55dfc35aeab96585e79768a148844da96449719a52e9d0ce2792ba503203c3525a4455243cd8a8515913833
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/Guardfile
ADDED
data/bottle_service.gemspec
CHANGED
@@ -21,5 +21,8 @@ Gem::Specification.new do |gem|
|
|
21
21
|
|
22
22
|
gem.add_dependency "virtus", "~> 1.0", ">= 1.0.5"
|
23
23
|
|
24
|
-
gem.add_development_dependency "rake"
|
24
|
+
gem.add_development_dependency "rake", ">= 11.1"
|
25
|
+
gem.add_development_dependency "simplecov"
|
26
|
+
gem.add_development_dependency "rspec", "~> 3.4"
|
27
|
+
gem.add_development_dependency "guard-rspec", "~> 4.6"
|
25
28
|
end
|
data/lib/bottle_service.rb
CHANGED
@@ -1,11 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require "
|
2
|
+
require "bottle_service/waitress"
|
3
|
+
require "bottle_service/version"
|
3
4
|
|
4
|
-
|
5
|
-
class BottleService
|
6
|
-
include Virtus.model strict: true
|
7
|
-
|
8
|
-
def call(*args)
|
9
|
-
new(*args).call
|
10
|
-
end
|
5
|
+
module BottleService
|
11
6
|
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require "spec_helper"
|
3
|
+
require "fixtures/greeter"
|
4
|
+
|
5
|
+
RSpec.describe Greeter do
|
6
|
+
describe '#call' do
|
7
|
+
it "works with name: 'world'" do
|
8
|
+
expect(Greeter.call(name: "world")).to eq("Hello world!")
|
9
|
+
end
|
10
|
+
|
11
|
+
it "fails with name: 'netherlands'" do
|
12
|
+
expect(Greeter.call(name: "netherlands")).not_to eq("Hello world!")
|
13
|
+
end
|
14
|
+
|
15
|
+
it "fails with name: 'netherlands'" do
|
16
|
+
expect do
|
17
|
+
Greeter.call(location: "netherlands")
|
18
|
+
end.to raise_exception(Virtus::CoercionError)
|
19
|
+
end
|
20
|
+
|
21
|
+
it "fails with 'world'" do
|
22
|
+
expect { Greeter.call("world") }.to raise_exception(NoMethodError)
|
23
|
+
end
|
24
|
+
|
25
|
+
it "fails when it's being sent an integer" do
|
26
|
+
expect do
|
27
|
+
Greeter.call(name: { hello: "world" })
|
28
|
+
end.to raise_exception(Virtus::CoercionError)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,4 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
require "simplecov"
|
3
|
+
|
4
|
+
SimpleCov.start "rails" do
|
5
|
+
add_filter "app/channels/application_cable"
|
6
|
+
add_group "ActionCable", "app/channels"
|
7
|
+
add_group "Services", "app/services"
|
8
|
+
|
9
|
+
# Files with <= 5 lines often are application_*.rb files
|
10
|
+
add_filter do |source_file|
|
11
|
+
source_file.lines.count <= 5
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
2
15
|
# This file was generated by the `rspec --init` command. Conventionally, all
|
3
16
|
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
4
17
|
# The generated `.rspec` file contains `--require spec_helper` which will cause
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bottle_service
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Henricus Louwhoff
|
@@ -33,6 +33,20 @@ dependencies:
|
|
33
33
|
version: 1.0.5
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: rake
|
36
|
+
requirement: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '11.1'
|
41
|
+
type: :development
|
42
|
+
prerelease: false
|
43
|
+
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '11.1'
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: simplecov
|
36
50
|
requirement: !ruby/object:Gem::Requirement
|
37
51
|
requirements:
|
38
52
|
- - ">="
|
@@ -45,6 +59,34 @@ dependencies:
|
|
45
59
|
- - ">="
|
46
60
|
- !ruby/object:Gem::Version
|
47
61
|
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rspec
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.4'
|
69
|
+
type: :development
|
70
|
+
prerelease: false
|
71
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3.4'
|
76
|
+
- !ruby/object:Gem::Dependency
|
77
|
+
name: guard-rspec
|
78
|
+
requirement: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '4.6'
|
83
|
+
type: :development
|
84
|
+
prerelease: false
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '4.6'
|
48
90
|
description: Service Objects on Steroids for Plain Old Ruby Objects
|
49
91
|
email:
|
50
92
|
- henry@postb.us
|
@@ -59,14 +101,16 @@ files:
|
|
59
101
|
- ".rspec"
|
60
102
|
- ".rubocop.yml"
|
61
103
|
- Gemfile
|
62
|
-
-
|
104
|
+
- Guardfile
|
63
105
|
- LICENSE
|
64
106
|
- README.md
|
65
107
|
- Rakefile
|
66
108
|
- bottle_service.gemspec
|
67
109
|
- lib/bottle_service.rb
|
68
|
-
- lib/bottle_service/bottle_service_error.rb
|
69
110
|
- lib/bottle_service/version.rb
|
111
|
+
- lib/bottle_service/waitress.rb
|
112
|
+
- spec/bottle_service_spec.rb
|
113
|
+
- spec/fixtures/greeter.rb
|
70
114
|
- spec/spec_helper.rb
|
71
115
|
homepage: https://github.com/uberous/bottle_service
|
72
116
|
licenses:
|
data/Gemfile.lock
DELETED
@@ -1,51 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
bottle_service (1.0.0)
|
5
|
-
virtus (~> 1.0, >= 1.0.5)
|
6
|
-
|
7
|
-
GEM
|
8
|
-
remote: https://rubygems.org/
|
9
|
-
specs:
|
10
|
-
axiom-types (0.1.1)
|
11
|
-
descendants_tracker (~> 0.0.4)
|
12
|
-
ice_nine (~> 0.11.0)
|
13
|
-
thread_safe (~> 0.3, >= 0.3.1)
|
14
|
-
coercible (1.0.0)
|
15
|
-
descendants_tracker (~> 0.0.1)
|
16
|
-
descendants_tracker (0.0.4)
|
17
|
-
thread_safe (~> 0.3, >= 0.3.1)
|
18
|
-
diff-lcs (1.2.5)
|
19
|
-
equalizer (0.0.11)
|
20
|
-
ice_nine (0.11.2)
|
21
|
-
rake (11.1.2)
|
22
|
-
rspec (3.4.0)
|
23
|
-
rspec-core (~> 3.4.0)
|
24
|
-
rspec-expectations (~> 3.4.0)
|
25
|
-
rspec-mocks (~> 3.4.0)
|
26
|
-
rspec-core (3.4.4)
|
27
|
-
rspec-support (~> 3.4.0)
|
28
|
-
rspec-expectations (3.4.0)
|
29
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
30
|
-
rspec-support (~> 3.4.0)
|
31
|
-
rspec-mocks (3.4.1)
|
32
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
33
|
-
rspec-support (~> 3.4.0)
|
34
|
-
rspec-support (3.4.1)
|
35
|
-
thread_safe (0.3.5)
|
36
|
-
virtus (1.0.5)
|
37
|
-
axiom-types (~> 0.1)
|
38
|
-
coercible (~> 1.0)
|
39
|
-
descendants_tracker (~> 0.0, >= 0.0.3)
|
40
|
-
equalizer (~> 0.0, >= 0.0.9)
|
41
|
-
|
42
|
-
PLATFORMS
|
43
|
-
ruby
|
44
|
-
|
45
|
-
DEPENDENCIES
|
46
|
-
bottle_service!
|
47
|
-
rake
|
48
|
-
rspec (~> 3.1)
|
49
|
-
|
50
|
-
BUNDLED WITH
|
51
|
-
1.11.2
|