servi 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/servi/form.rb +51 -0
  3. metadata +2 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d709873b6eb803abba6738c857dc91ab3f5db58b
4
- data.tar.gz: 65fc977b2f68056312576f5354e4990d16862c18
3
+ metadata.gz: d356442d48496f255f8557d1599babedae0cdfc8
4
+ data.tar.gz: 6ad9b60ff0cca553224ae5bb55c88368e88d1ab9
5
5
  SHA512:
6
- metadata.gz: bc3671d343c2fc906ad0e72f43348eca4298b6f128ff6dcf588b00f060fe170ec1ccbcee6fc1042cb9501edc5efb84b8d3c590e7d5c175d1481706c5288ef517
7
- data.tar.gz: 1018746b84bfa01ecba75849adbbaf71c3709394d5c6ac764758e32fa8dcbd0dc499f0578893d9e2826b58cd06a4e2e732094ca93cd2ae4d6da9fce73d46775c
6
+ metadata.gz: e3c0533934762b83a1fff7bd16fb23e8ed6ffa80f3c79c83d0d9c82e0b9c682bb531e9011704533c8426e1bd021db4689bc31d42acfa446b23f7005197c4f724
7
+ data.tar.gz: 6adddfec1aca5f0ccfa733537dd7cbdec026b25edad6834e0debf8dbc2c8d09474d00f13a567bb88a241f696e8accaa1dee4047a07519dab72e7f82c55232aed
data/lib/servi/form.rb ADDED
@@ -0,0 +1,51 @@
1
+ class Servi
2
+ class Form
3
+ def self.empty
4
+ new(Servi::Result.new(:unbound, {}, {}))
5
+ end
6
+
7
+ def self.from(attrs)
8
+ form = self.empty
9
+ form.fill(attrs)
10
+ form
11
+ end
12
+
13
+ def initialize(result)
14
+ @result = result
15
+ end
16
+
17
+ def params
18
+ @result.params
19
+ end
20
+
21
+ def errors
22
+ Errors.new(@result.errors)
23
+ end
24
+ end
25
+
26
+ class Errors
27
+ def initialize(errors)
28
+ @errors = errors
29
+ end
30
+
31
+ def empty?
32
+ @errors.empty?
33
+ end
34
+
35
+ def on(att, name)
36
+ @errors[att].include?(name)
37
+ end
38
+
39
+ def [](key)
40
+ @errors[key]
41
+ end
42
+
43
+ def each
44
+ @errors.each do |att, names|
45
+ names.each do |name|
46
+ yield([att, name])
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: servi
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Hanna
@@ -19,6 +19,7 @@ extensions: []
19
19
  extra_rdoc_files: []
20
20
  files:
21
21
  - lib/servi.rb
22
+ - lib/servi/form.rb
22
23
  - lib/servi/validations.rb
23
24
  homepage: http://github.com/kevinjhanna/servi
24
25
  licenses: