zss 0.3.2 → 0.3.3

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
  SHA1:
3
- metadata.gz: f2706731d57e862040a15b1da6ef8984c597f772
4
- data.tar.gz: cd21403fea64b67b7fd4b5fd7ecb5305938c7d72
3
+ metadata.gz: 3ee2c88c981357c17dd093d250bf59d3a875cd6f
4
+ data.tar.gz: 32baca82197034c6984b7077932f9f490cab5d88
5
5
  SHA512:
6
- metadata.gz: 057aac335a99194c32aab69f540043624933a7366ef8b471b525e4d36cce5891e958cac46886b91c042dab6bbb5dc1f89365436d2b23be33ff3875a198525ae0
7
- data.tar.gz: 0c3028d41f04be9bcae40d44d235ed69bf7302db1611eaf05f1674983553463d0b4997b1a332a00bf91c06272f4f73a93fa619902fc4acf8e196224c1d017a96
6
+ metadata.gz: 523023fa07cff6cc0f1f1bd8edfab53c0a937adc49d90ce1b80b81027354ad0398e75ae568ec3a28da2324b602a9294b7b56420319fa669b206999f386f5365b
7
+ data.tar.gz: 117cee817892be99ef23b0e4fc5b02fae3934b043ed1f2278959b32537a697aa7742cf056f6d9da4eb50f16f72879ecf0b4be3b0616fa7f88785852684f4c240
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- zss (0.3.2)
4
+ zss (0.3.3)
5
5
  activesupport (~> 4.2)
6
6
  daemons (~> 1.1)
7
7
  em-zeromq (~> 0.5)
@@ -29,7 +29,7 @@ GEM
29
29
  codeclimate-test-reporter (0.4.6)
30
30
  simplecov (>= 0.7.1, < 1.0.0)
31
31
  coderay (1.1.0)
32
- daemons (1.1.9)
32
+ daemons (1.2.1)
33
33
  diff-lcs (1.2.5)
34
34
  docile (1.1.5)
35
35
  em-zeromq (0.5.0)
@@ -78,9 +78,9 @@ GEM
78
78
  simplecov-html (~> 0.9.0)
79
79
  simplecov-html (0.9.0)
80
80
  slop (3.6.0)
81
- sucker_punch (1.3.2)
81
+ sucker_punch (1.4.0)
82
82
  celluloid (~> 0.16.0)
83
- thread_safe (0.3.4)
83
+ thread_safe (0.3.5)
84
84
  timers (4.0.1)
85
85
  hitimes
86
86
  tzinfo (1.2.2)
@@ -0,0 +1,19 @@
1
+ module ZSS
2
+ module Permit
3
+
4
+ class Permitter
5
+
6
+ def self.permit! params, attributes
7
+ params.keep_if do |k, _|
8
+ Array(attributes).include? k.to_sym
9
+ end
10
+ end
11
+
12
+ end
13
+
14
+ def permit! params, *attributes
15
+ Permitter.permit!(params, attributes)
16
+ end
17
+
18
+ end
19
+ end
@@ -0,0 +1,21 @@
1
+ module ZSS
2
+ module Require
3
+
4
+ class Requirer
5
+
6
+ def self.requires params, attributes
7
+ Array(attributes).each do |attribute|
8
+ unless params[attribute].present?
9
+ raise ZSS::Error.new(400, "Invalid parameter '#{attribute}'")
10
+ end
11
+ end
12
+ end
13
+
14
+ end
15
+
16
+ def requires params, *attributes
17
+ Requirer.requires(params, attributes)
18
+ end
19
+
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ module ZSS
2
+ module Validate
3
+
4
+ class Validator
5
+
6
+ def self.is_valid_uri?(uri)
7
+ !URI::parse(uri).relative?
8
+ rescue
9
+ false
10
+ end
11
+
12
+ end
13
+
14
+ def is_valid_uri?(uri)
15
+ Validator.is_valid_uri?(uri)
16
+ end
17
+
18
+ end
19
+ end
@@ -1,3 +1,3 @@
1
1
  module ZSS
2
- VERSION = '0.3.2'
2
+ VERSION = '0.3.3'
3
3
  end
@@ -0,0 +1,32 @@
1
+ require 'spec_helper'
2
+ require 'zss/permit'
3
+
4
+ describe ZSS::Permit do
5
+
6
+ let!(:params) do
7
+ { arg1: 'somevalue', arg2: 'someothervalue' }
8
+ end
9
+
10
+ it 'filters all non permitted params' do
11
+ ZSS::Permit::Permitter.permit!(params, [ :arg1 ])
12
+ expect(
13
+ params
14
+ ).to eq({ arg1: 'somevalue' })
15
+ end
16
+
17
+ it 'can be included' do
18
+
19
+ class SomeClass
20
+ include ZSS::Permit
21
+ end
22
+
23
+ testObject = SomeClass.new
24
+ testObject.permit!(params, :arg1)
25
+
26
+ expect(
27
+ params
28
+ ).to eq({ arg1: 'somevalue' })
29
+
30
+ end
31
+
32
+ end
@@ -0,0 +1,38 @@
1
+ require 'spec_helper'
2
+ require 'zss/require'
3
+
4
+ describe ZSS::Require do
5
+
6
+ it 'raises 400 if any attributes are missing' do
7
+
8
+ expect{
9
+ ZSS::Require::Requirer.requires({ arg1: 'somevalue' }, [ :arg1, :arg2 ])
10
+ }.to raise_error(ZSS::Error) do |e|
11
+ expect(e.code).to eq(400)
12
+ end
13
+
14
+ end
15
+
16
+ it 'accepts when all params are set' do
17
+ expect(
18
+ ZSS::Require::Requirer.requires({ arg1: 'somevalue', arg2: 'someothervalue' }, [ :arg1, :arg2 ])
19
+ ).to be
20
+ end
21
+
22
+ it 'can be included' do
23
+
24
+ class SomeClass
25
+ include ZSS::Require
26
+ end
27
+
28
+ testObject = SomeClass.new
29
+
30
+ expect{
31
+ testObject.requires({ arg1: 'somevalue' }, [ :arg1, :arg2 ])
32
+ }.to raise_error(ZSS::Error) do |e|
33
+ expect(e.code).to eq(400)
34
+ end
35
+
36
+ end
37
+
38
+ end
@@ -0,0 +1,41 @@
1
+ require 'spec_helper'
2
+ require 'zss/validate'
3
+
4
+ describe ZSS::Validate do
5
+
6
+ it 'accepts a valid uri' do
7
+
8
+ expect(ZSS::Validate::Validator.is_valid_uri?('https://clubjudge.com')).to be
9
+
10
+ end
11
+
12
+ it 'denies an inclomplete uri' do
13
+
14
+ expect(ZSS::Validate::Validator.is_valid_uri?('www.sapo.pt')).not_to be
15
+
16
+ end
17
+
18
+ it 'denies an erroneous url' do
19
+ expect(URI).to receive(:parse).and_raise(StandardError)
20
+ expect(ZSS::Validate::Validator.is_valid_uri?('somestring')).not_to be
21
+ end
22
+
23
+ it 'denies an invalid uri' do
24
+
25
+ expect(ZSS::Validate::Validator.is_valid_uri?('some1nval/dUrl')).not_to be
26
+
27
+ end
28
+
29
+ it 'can be included' do
30
+
31
+ class SomeClass
32
+ include ZSS::Validate
33
+ end
34
+
35
+ testObject = SomeClass.new
36
+
37
+ expect(testObject.is_valid_uri?('https://clubjudge.com')).to be
38
+
39
+ end
40
+
41
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zss
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pedro Januário
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-24 00:00:00.000000000 Z
11
+ date: 2015-05-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -232,10 +232,13 @@ files:
232
232
  - lib/zss/message/message_address.rb
233
233
  - lib/zss/message/message_type.rb
234
234
  - lib/zss/message/smi.rb
235
+ - lib/zss/permit.rb
236
+ - lib/zss/require.rb
235
237
  - lib/zss/router.rb
236
238
  - lib/zss/runner.rb
237
239
  - lib/zss/service.rb
238
240
  - lib/zss/socket.rb
241
+ - lib/zss/validate.rb
239
242
  - lib/zss/version.rb
240
243
  - spec/integration/client_spec.rb
241
244
  - spec/integration/service_spec.rb
@@ -247,9 +250,12 @@ files:
247
250
  - spec/unit/error_spec.rb
248
251
  - spec/unit/message_address_spec.rb
249
252
  - spec/unit/message_spec.rb
253
+ - spec/unit/permit_spec.rb
254
+ - spec/unit/require_spec.rb
250
255
  - spec/unit/router_spec.rb
251
256
  - spec/unit/service_spec.rb
252
257
  - spec/unit/socket_spec.rb
258
+ - spec/unit/validate_spec.rb
253
259
  - zss.gemspec
254
260
  homepage: https://github.com/pjanuario/zmq-service-suite-ruby
255
261
  licenses:
@@ -289,6 +295,9 @@ test_files:
289
295
  - spec/unit/error_spec.rb
290
296
  - spec/unit/message_address_spec.rb
291
297
  - spec/unit/message_spec.rb
298
+ - spec/unit/permit_spec.rb
299
+ - spec/unit/require_spec.rb
292
300
  - spec/unit/router_spec.rb
293
301
  - spec/unit/service_spec.rb
294
302
  - spec/unit/socket_spec.rb
303
+ - spec/unit/validate_spec.rb