varify 0.0.4 → 0.0.5

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: aacced4d1f52fceaaece6c136c5421c3a2ec6d2f
4
- data.tar.gz: 87e49ca6a7fb6c2df3b3e0934ebf507229c012a5
3
+ metadata.gz: 4a09b25837451766e4098f793750a0a4def78b6c
4
+ data.tar.gz: 63d72b745abd89fd74357b0efac8acb3def13b95
5
5
  SHA512:
6
- metadata.gz: f9f63bf1080c4fa47e0e68b9d1ccde07c9685c5f5c84d811bdbea65dc8b4213d69fe7fb422de4b45c61543b8b90ca965b3356b765ac3d907c7c24c81468b0a6e
7
- data.tar.gz: 0607d2ca99243d1709efd23669546c8b6e3ab59893c4a4328c41c478cf9b22170637d92eeaca0d0c87e22df1f07bd0afe1942cc6d1d623b0e3792be415904bad
6
+ metadata.gz: 50fb5577464729a223c803977918fb970da920b5b990da0534ccc5a78c051c76c152050fd0f16bb3ed16fc3f246830f23eb5cea2e31204bde82becbf01fbc2d9
7
+ data.tar.gz: d123a309daff3cda8e62ee4ae42eee55632723118db386ac20882d611668f792401b0c30bbbe3fed89dc48d004dad7eb3e7719662a78bab91bf7af005a140b80
@@ -1,6 +1,12 @@
1
1
  require 'varify/base'
2
2
 
3
3
  class Hash
4
+ # Extends Hash object to add support for Hash.varify to extract the hash
5
+ # @param key [Symbol] The hash key you would like to pull and verify
6
+ # @param options [Hash] The key/value pairs of validators you'd like to run
7
+ # @example Extract a value
8
+ # {a:'b',c:'d'}.varify(:a,required:true, is_a:String)
9
+ # {a:'b',c:['d','e']}.varify(:b,required:true, is_a:Array[String])
4
10
  def varify(key, options = {})
5
11
  Varify::Base.varify(key, self, options)
6
12
  end
@@ -4,7 +4,11 @@ module Varify
4
4
  module Rules
5
5
  class IsARule < Rule
6
6
  def valid?
7
- @value.is_a?(@options)
7
+ if @options.is_a?(Array)
8
+ @values.all?{|i| i.is_a?(@options.first)}
9
+ else
10
+ @value.is_a?(@options)
11
+ end
8
12
  end
9
13
 
10
14
  def error_message
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: varify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Skierkowski
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-21 00:00:00.000000000 Z
11
+ date: 2015-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: codeclimate-test-reporter
@@ -116,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
116
116
  version: '0'
117
117
  requirements: []
118
118
  rubyforge_project:
119
- rubygems_version: 2.4.5
119
+ rubygems_version: 2.4.6
120
120
  signing_key:
121
121
  specification_version: 4
122
122
  summary: Varify