zss 0.3.2 → 0.3.3

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
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