hat-trick 0.3.0 → 0.4.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b23ea5678f7381bb57707ad2a6fbe528ef927bf0
4
+ data.tar.gz: 31a2714731ccc727bbc6de9df8c91c7244d309cd
5
+ SHA512:
6
+ metadata.gz: 403fed398d10bd055447086f68254007896d49fd22e0f31ba2fd7d52210ee6d2b882e3ddbce28655c781b56f0d1eef05a8f552ac8405027d886fcfa8381df0ba
7
+ data.tar.gz: 7d029b1de0fcf1fbf384d5a85cab657bf0c5e1c6b0b89dec04b9b185c630bae558a12cb6700838f4dbc21895638a150e34559bd1bac50d2226f2ac15a18e1327
data/.gitignore CHANGED
@@ -4,3 +4,4 @@ Gemfile.lock
4
4
  pkg/*
5
5
  .tags*
6
6
  tags
7
+ .idea
data/Changelog CHANGED
@@ -1,3 +1,4 @@
1
+ * 0.4.0 - Add ability to set lambdas as button labels. They will be called each time the button is rendered.
1
2
  * 0.3.0 - Add model_class DSL method to explicitly tell hat-trick which model to use.
2
3
  - Clean up validation_groups on models after each request.
3
4
  - Stop monkey-patching all of ActiveRecord::Base with hat-trick's model methods.
data/hat-trick.gemspec CHANGED
@@ -18,9 +18,8 @@ Gem::Specification.new do |s|
18
18
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
19
  s.require_paths = ["lib"]
20
20
 
21
- s.add_development_dependency "rspec"
21
+ s.add_development_dependency "rspec", "~> 2.99"
22
22
  s.add_development_dependency "mocha"
23
- s.add_development_dependency "debugger"
24
23
 
25
24
  s.add_runtime_dependency "rails", ">= 3.1"
26
25
  s.add_runtime_dependency "validation_group"
@@ -48,9 +48,22 @@ module HatTrick
48
48
  visited_steps << self.to_sym
49
49
  end
50
50
 
51
+ def render_buttons(buttons)
52
+ buttons.map do |b|
53
+ button_type = b.keys.first
54
+ button = b[button_type]
55
+ if button[:label].respond_to?(:call)
56
+ rendered_label = button[:label].call
57
+ { button_type => button.merge({label: rendered_label}) }
58
+ else
59
+ b
60
+ end
61
+ end
62
+ end
63
+
51
64
  def as_json(options = nil)
52
65
  json = { :name => name, :fieldset => fieldset }
53
- json[:buttons] = buttons.empty? ? [] : buttons
66
+ json[:buttons] = buttons.empty? ? [] : render_buttons(buttons)
54
67
  json[:first] = first?
55
68
  json[:redirect] = redirect?
56
69
  json[:redirectFrom] = redirect_from
@@ -1,3 +1,3 @@
1
1
  module HatTrick
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
metadata CHANGED
@@ -1,110 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hat-trick
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
5
- prerelease:
4
+ version: 0.4.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Wes Morgan
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-07-08 00:00:00.000000000 Z
11
+ date: 2015-11-24 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rspec
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
- version: '0'
19
+ version: '2.99'
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: '0'
26
+ version: '2.99'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: mocha
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - ! '>='
36
- - !ruby/object:Gem::Version
37
- version: '0'
38
- type: :development
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - ! '>='
44
- - !ruby/object:Gem::Version
45
- version: '0'
46
- - !ruby/object:Gem::Dependency
47
- name: debugger
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
50
30
  requirements:
51
- - - ! '>='
31
+ - - ">="
52
32
  - !ruby/object:Gem::Version
53
33
  version: '0'
54
34
  type: :development
55
35
  prerelease: false
56
36
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
37
  requirements:
59
- - - ! '>='
38
+ - - ">="
60
39
  - !ruby/object:Gem::Version
61
40
  version: '0'
62
41
  - !ruby/object:Gem::Dependency
63
42
  name: rails
64
43
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
44
  requirements:
67
- - - ! '>='
45
+ - - ">="
68
46
  - !ruby/object:Gem::Version
69
47
  version: '3.1'
70
48
  type: :runtime
71
49
  prerelease: false
72
50
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
51
  requirements:
75
- - - ! '>='
52
+ - - ">="
76
53
  - !ruby/object:Gem::Version
77
54
  version: '3.1'
78
55
  - !ruby/object:Gem::Dependency
79
56
  name: validation_group
80
57
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
58
  requirements:
83
- - - ! '>='
59
+ - - ">="
84
60
  - !ruby/object:Gem::Version
85
61
  version: '0'
86
62
  type: :runtime
87
63
  prerelease: false
88
64
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
65
  requirements:
91
- - - ! '>='
66
+ - - ">="
92
67
  - !ruby/object:Gem::Version
93
68
  version: '0'
94
69
  - !ruby/object:Gem::Dependency
95
70
  name: gon
96
71
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
72
  requirements:
99
- - - ! '>='
73
+ - - ">="
100
74
  - !ruby/object:Gem::Version
101
75
  version: '0'
102
76
  type: :runtime
103
77
  prerelease: false
104
78
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
79
  requirements:
107
- - - ! '>='
80
+ - - ">="
108
81
  - !ruby/object:Gem::Version
109
82
  version: '0'
110
83
  description: Hat-Trick brings together jQuery, validation_group, and Ajax to make
@@ -116,8 +89,8 @@ executables: []
116
89
  extensions: []
117
90
  extra_rdoc_files: []
118
91
  files:
119
- - .gitignore
120
- - .rspec
92
+ - ".gitignore"
93
+ - ".rspec"
121
94
  - Changelog
122
95
  - Gemfile
123
96
  - LICENSE
@@ -157,27 +130,26 @@ files:
157
130
  - vendor/assets/javascripts/vendor_js.js
158
131
  homepage: https://github.com/turbovote/hat-trick
159
132
  licenses: []
133
+ metadata: {}
160
134
  post_install_message:
161
135
  rdoc_options: []
162
136
  require_paths:
163
137
  - lib
164
138
  required_ruby_version: !ruby/object:Gem::Requirement
165
- none: false
166
139
  requirements:
167
- - - ! '>='
140
+ - - ">="
168
141
  - !ruby/object:Gem::Version
169
142
  version: '0'
170
143
  required_rubygems_version: !ruby/object:Gem::Requirement
171
- none: false
172
144
  requirements:
173
- - - ! '>='
145
+ - - ">="
174
146
  - !ruby/object:Gem::Version
175
147
  version: '0'
176
148
  requirements: []
177
149
  rubyforge_project: hat-trick
178
- rubygems_version: 1.8.23
150
+ rubygems_version: 2.2.2
179
151
  signing_key:
180
- specification_version: 3
152
+ specification_version: 4
181
153
  summary: A simple DSL for creating client-side multi-step forms in Rails.
182
154
  test_files:
183
155
  - spec/lib/hat_trick/dsl_spec.rb