jeffp-wizardly 0.1.3 → 0.1.4

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.
data/README.rdoc CHANGED
@@ -61,7 +61,7 @@ Step 2: Tell your controller to act 'wizardly'.
61
61
 
62
62
  Step 3: Generate a 'wizardly' scaffold for your controller.
63
63
 
64
- ./script/generate wizardly_scaffold :signup
64
+ ./script/generate wizardly_scaffold signup
65
65
 
66
66
  You are ready to go.
67
67
 
@@ -1,6 +1,3 @@
1
- # Validation group code from Alex Kira's repository of validationgroup on Github
2
- # modifications made for wizardly integration
3
- # included herein until such time the code can be managed and released independantly with modifications
4
1
  module ValidationGroup
5
2
  module ActiveRecord
6
3
  module ActsMethods # extends ActiveRecord::Base
@@ -11,29 +8,29 @@ module ValidationGroup
11
8
  cattr_accessor :validation_group_classes
12
9
  self.validation_group_classes = {}
13
10
 
14
- def self.validation_group_order; @validation_group_order; end
15
- def self.validation_groups(all_classes = false)
16
- return (self.validation_group_classes[self] || {}) unless all_classes
17
- klasses = ValidationGroup::Util.current_and_ancestors(self).reverse
18
- returning Hash.new do |hash|
19
- klasses.each do |klass|
20
- hash.merge! self.validation_group_classes[klass]
21
- end
22
- end
23
- end
11
+ def self.validation_group_order; @validation_group_order; end
12
+ def self.validation_groups(all_classes = false)
13
+ return (self.validation_group_classes[self] || {}) unless all_classes
14
+ klasses = ValidationGroup::Util.current_and_ancestors(self).reverse
15
+ returning Hash.new do |hash|
16
+ klasses.each do |klass|
17
+ hash.merge! self.validation_group_classes[klass]
18
+ end
19
+ end
20
+ end
24
21
  end
25
22
  end
26
23
 
27
24
  def validation_group(name, options={})
28
25
  self_groups = (self.validation_group_classes[self] ||= {})
29
26
  self_groups[name.to_sym] = options[:fields] || []
30
- @validation_group_order ||= []
31
- @validation_group_order << name.to_sym
27
+ @validation_group_order ||= []
28
+ @validation_group_order << name.to_sym
32
29
 
33
30
  unless included_modules.include?(InstanceMethods)
34
31
  attr_reader :current_validation_group, :current_validation_fields
35
32
  include InstanceMethods
36
- alias_method_chain :valid?, :validation_group
33
+ alias_method_chain :valid?, :validation_group
37
34
  end
38
35
  end
39
36
  end
@@ -41,16 +38,16 @@ module ValidationGroup
41
38
  module InstanceMethods # included in every model which calls validation_group
42
39
 
43
40
  def enable_validation_group(group)
44
- # Check if given validation group is defined for current class
45
- # or one of its ancestors
41
+ # Check if given validation group is defined for current class or one of
42
+ # its ancestors
46
43
  group_classes = self.class.validation_group_classes
47
44
  found = ValidationGroup::Util.current_and_ancestors(self.class).
48
- find do |klass|
49
- group_classes[klass] && group_classes[klass].include?(group)
50
- end
45
+ find do |klass|
46
+ group_classes[klass] && group_classes[klass].include?(group)
47
+ end
51
48
  if found
52
49
  @current_validation_group = group
53
- @current_validation_fields = group_classes[found][group]
50
+ @current_validation_fields = group_classes[found][group]
54
51
  else
55
52
  raise ArgumentError, "No validation group of name :#{group}"
56
53
  end
@@ -58,35 +55,32 @@ module ValidationGroup
58
55
 
59
56
  def disable_validation_group
60
57
  @current_validation_group = nil
61
- @current_validation_fields = nil
58
+ @current_validation_fields = nil
62
59
  end
63
60
 
64
- #can be used
65
- def should_validate?(attribute)
66
- @current_validation_fields && @current_validation_fields.include?(attribute.to_sym)
67
- end
61
+ def should_validate?(attribute)
62
+ !self.validation_group_enabled? || (@current_validation_fields && @current_validation_fields.include?(attribute.to_sym))
63
+ end
68
64
 
69
65
  def validation_group_enabled?
70
66
  respond_to?(:current_validation_group) && !current_validation_group.nil?
71
67
  end
72
68
 
73
- #alias_method_chain :valid?, :validation_group
74
- def valid_with_validation_group?(group=nil)
75
- self.enable_validation_group(group) if group
76
- valid_without_validation_group?
77
- end
69
+ # eliminates need to use :enable_validation_group before :valid? call --
70
+ # nice
71
+ def valid_with_validation_group?(group=nil)
72
+ self.enable_validation_group(group) if group
73
+ valid_without_validation_group?
74
+ end
78
75
  end
79
76
 
80
77
  module Errors # included in ActiveRecord::Errors
81
78
  def add_with_validation_group(attribute,
82
- msg = @@default_error_messages[:invalid], *args,
83
- &block)
84
- add_error = true
85
- if @base.validation_group_enabled?
86
- add_error = false unless @base.current_validation_fields.include?(attribute.to_sym)
87
- end
88
- add_without_validation_group(attribute, msg, *args, &block) if add_error
89
- end
79
+ msg = @@default_error_messages[:invalid], *args,
80
+ &block)
81
+ add_error = @base.respond_to?(:should_validate?) ? @base.should_validate?(attribute.to_sym) : true
82
+ add_without_validation_group(attribute, msg, *args, &block) if add_error
83
+ end
90
84
 
91
85
  def self.included(base) #:nodoc:
92
86
  base.class_eval do
@@ -97,8 +91,8 @@ module ValidationGroup
97
91
  end
98
92
 
99
93
  module Util
100
- # Return array consisting of current and its superclasses
101
- # down to and including base_class.
94
+ # Return array consisting of current and its superclasses down to and
95
+ # including base_class.
102
96
  def self.current_and_ancestors(current)
103
97
  returning [] do |klasses|
104
98
  klasses << current
@@ -5,8 +5,8 @@ class WizardlyControllerGenerator < Rails::Generator::Base
5
5
 
6
6
  def initialize(runtime_args, runtime_options = {})
7
7
  super
8
- @controller_name = @args[0].underscore
9
- @model_name = @args[1].underscore
8
+ @controller_name = @args[0].sub(/^:/, '').underscore
9
+ @model_name = @args[1].sub(/^:/, '').underscore
10
10
  @completed_redirect = @args[2]
11
11
  @canceled_redirect = @args[3]
12
12
  opts = {}
@@ -15,7 +15,7 @@ class WizardlyScaffoldGenerator < Rails::Generator::Base
15
15
 
16
16
  def initialize(runtime_args, runtime_options = {})
17
17
  super
18
- name = @args[0].underscore.sub(/_controller$/, '').camelize + 'Controller'
18
+ name = @args[0].sub(/^:/, '').underscore.sub(/_controller$/, '').camelize + 'Controller'
19
19
 
20
20
  base_name, @controller_class_path, @controller_file_path, @controller_class_nesting, @controller_class_nesting_depth = extract_modules(name)
21
21
  @controller_class_name_without_nesting = base_name.camelize
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jeffp-wizardly
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Patmon
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-08-02 00:00:00 -07:00
12
+ date: 2009-08-04 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15