rectify 0.6.1 → 0.7.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/lib/rectify/form.rb +7 -0
- data/lib/rectify/version.rb +1 -1
- data/readme.md +18 -9
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: deb2b71f7c40c0fb4757215a7ba7410ef9a627c4
|
4
|
+
data.tar.gz: 45b9aee2aae6176d9acabaa246eb21615c3470e9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d97d1edb9d00fe805110457ad9613a304983fa018681bd10baf26d362f22b33f186900634d1c62718459fb40dc9a58052ef0dc507f3ecf3c04f8185910c4dfbb
|
7
|
+
data.tar.gz: 726f511c00978ed1dd2f475bbd4f783465a3a3b5680816157f70df693204eaa6e48d03541f2438dfe5d1afff4a181356e7b272b6c5f35084597037bbee740c1f
|
data/lib/rectify/form.rb
CHANGED
@@ -70,6 +70,8 @@ module Rectify
|
|
70
70
|
end
|
71
71
|
|
72
72
|
def valid?(context = nil)
|
73
|
+
before_validation
|
74
|
+
|
73
75
|
[super, form_attributes_valid?, arrays_attributes_valid?].all?
|
74
76
|
end
|
75
77
|
|
@@ -95,6 +97,11 @@ module Rectify
|
|
95
97
|
# populated (optional).
|
96
98
|
end
|
97
99
|
|
100
|
+
def before_validation
|
101
|
+
# Implement this in your form object if you would like to perform some
|
102
|
+
# some processing before validation happens (optional).
|
103
|
+
end
|
104
|
+
|
98
105
|
private
|
99
106
|
|
100
107
|
def form_attributes_valid?
|
data/lib/rectify/version.rb
CHANGED
data/readme.md
CHANGED
@@ -11,9 +11,18 @@ several other gems and adds improved APIs to make things easier.
|
|
11
11
|
Rectify is an extraction from a number of projects that use these techniques and
|
12
12
|
proved to be successful.
|
13
13
|
|
14
|
+
## Video
|
15
|
+
|
16
|
+
In June 2016, I spoke at RubyC about Rectify and how it can be used to improve
|
17
|
+
areas of your application. The full video and slides can be found here:
|
18
|
+
|
19
|
+
[Building maintainable Rails apps - RubyC 2016](http://andypike.com/blog/conferences/rubyc-2016/)
|
20
|
+
|
21
|
+
## Installation
|
22
|
+
|
14
23
|
To install, add it to your `Gemfile`:
|
15
24
|
|
16
|
-
```
|
25
|
+
```ruby
|
17
26
|
gem "rectify"
|
18
27
|
```
|
19
28
|
|
@@ -349,7 +358,7 @@ form.age # => 38
|
|
349
358
|
```
|
350
359
|
|
351
360
|
Populating the form from JSON can be useful when dealing with API requests into
|
352
|
-
your system. Which allows you to easily access data and perform validation if
|
361
|
+
your system. Which allows you to easily access data and perform validation if
|
353
362
|
required.
|
354
363
|
|
355
364
|
### Validations
|
@@ -408,7 +417,7 @@ class RegisterAccount < Rectify::Command
|
|
408
417
|
return broadcast(:invalid) if form.invalid?
|
409
418
|
|
410
419
|
transaction do
|
411
|
-
|
420
|
+
create_user
|
412
421
|
notifiy_admins
|
413
422
|
audit_event
|
414
423
|
send_user_details_to_crm
|
@@ -421,7 +430,7 @@ class RegisterAccount < Rectify::Command
|
|
421
430
|
|
422
431
|
attr_reader :form
|
423
432
|
|
424
|
-
def
|
433
|
+
def create_user
|
425
434
|
# ...
|
426
435
|
end
|
427
436
|
|
@@ -532,7 +541,7 @@ def create
|
|
532
541
|
end
|
533
542
|
```
|
534
543
|
|
535
|
-
```
|
544
|
+
```erb
|
536
545
|
<!-- within the view: -->
|
537
546
|
|
538
547
|
<p><%= @greeting %> <%= presenter.name %></p>
|
@@ -591,7 +600,7 @@ You need to call `#attach_controller` and pass it a controller instance which wi
|
|
591
600
|
allow it access to the view helpers. You can then use the Presenter in your
|
592
601
|
views as you would expect:
|
593
602
|
|
594
|
-
```
|
603
|
+
```erb
|
595
604
|
<p><%= @presenter.edit_link %></p>
|
596
605
|
```
|
597
606
|
|
@@ -613,7 +622,7 @@ end
|
|
613
622
|
|
614
623
|
In your view, you can access this presenter using the `presenter` helper method:
|
615
624
|
|
616
|
-
```
|
625
|
+
```erb
|
617
626
|
<p><%= presenter.edit_link %></p>
|
618
627
|
```
|
619
628
|
|
@@ -633,7 +642,7 @@ end
|
|
633
642
|
To access this Presenter in the view, just pass the Presenter key to the
|
634
643
|
`presenter` method like so:
|
635
644
|
|
636
|
-
```
|
645
|
+
```erb
|
637
646
|
<p><%= presenter(:layout).login_link %></p>
|
638
647
|
```
|
639
648
|
|
@@ -1065,7 +1074,7 @@ specs with `bundle exec rspec`, the database will be created for you.
|
|
1065
1074
|
There are some Rake tasks to help with the management of this test database
|
1066
1075
|
using normal(ish) commands from Rails:
|
1067
1076
|
|
1068
|
-
```
|
1077
|
+
```sh
|
1069
1078
|
rake db:migrate # => Migrates the test database
|
1070
1079
|
rake db:schema # => Dumps database schema
|
1071
1080
|
rake g:migration # => Create a new migration file (use snake_case name)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rectify
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Pike
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: virtus
|