actionview 4.1.0.beta1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of actionview might be problematic. Click here for more details.

Files changed (106) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +274 -0
  3. data/MIT-LICENSE +21 -0
  4. data/README.rdoc +34 -0
  5. data/lib/action_view.rb +97 -0
  6. data/lib/action_view/base.rb +205 -0
  7. data/lib/action_view/buffers.rb +49 -0
  8. data/lib/action_view/context.rb +36 -0
  9. data/lib/action_view/dependency_tracker.rb +93 -0
  10. data/lib/action_view/digestor.rb +116 -0
  11. data/lib/action_view/flows.rb +76 -0
  12. data/lib/action_view/helpers.rb +64 -0
  13. data/lib/action_view/helpers/active_model_helper.rb +49 -0
  14. data/lib/action_view/helpers/asset_tag_helper.rb +322 -0
  15. data/lib/action_view/helpers/asset_url_helper.rb +355 -0
  16. data/lib/action_view/helpers/atom_feed_helper.rb +203 -0
  17. data/lib/action_view/helpers/cache_helper.rb +200 -0
  18. data/lib/action_view/helpers/capture_helper.rb +216 -0
  19. data/lib/action_view/helpers/controller_helper.rb +25 -0
  20. data/lib/action_view/helpers/csrf_helper.rb +30 -0
  21. data/lib/action_view/helpers/date_helper.rb +1075 -0
  22. data/lib/action_view/helpers/debug_helper.rb +39 -0
  23. data/lib/action_view/helpers/form_helper.rb +1876 -0
  24. data/lib/action_view/helpers/form_options_helper.rb +843 -0
  25. data/lib/action_view/helpers/form_tag_helper.rb +746 -0
  26. data/lib/action_view/helpers/javascript_helper.rb +75 -0
  27. data/lib/action_view/helpers/number_helper.rb +425 -0
  28. data/lib/action_view/helpers/output_safety_helper.rb +38 -0
  29. data/lib/action_view/helpers/record_tag_helper.rb +108 -0
  30. data/lib/action_view/helpers/rendering_helper.rb +90 -0
  31. data/lib/action_view/helpers/sanitize_helper.rb +256 -0
  32. data/lib/action_view/helpers/tag_helper.rb +176 -0
  33. data/lib/action_view/helpers/tags.rb +41 -0
  34. data/lib/action_view/helpers/tags/base.rb +148 -0
  35. data/lib/action_view/helpers/tags/check_box.rb +64 -0
  36. data/lib/action_view/helpers/tags/checkable.rb +16 -0
  37. data/lib/action_view/helpers/tags/collection_check_boxes.rb +44 -0
  38. data/lib/action_view/helpers/tags/collection_helpers.rb +85 -0
  39. data/lib/action_view/helpers/tags/collection_radio_buttons.rb +36 -0
  40. data/lib/action_view/helpers/tags/collection_select.rb +28 -0
  41. data/lib/action_view/helpers/tags/color_field.rb +25 -0
  42. data/lib/action_view/helpers/tags/date_field.rb +13 -0
  43. data/lib/action_view/helpers/tags/date_select.rb +72 -0
  44. data/lib/action_view/helpers/tags/datetime_field.rb +22 -0
  45. data/lib/action_view/helpers/tags/datetime_local_field.rb +19 -0
  46. data/lib/action_view/helpers/tags/datetime_select.rb +8 -0
  47. data/lib/action_view/helpers/tags/email_field.rb +8 -0
  48. data/lib/action_view/helpers/tags/file_field.rb +8 -0
  49. data/lib/action_view/helpers/tags/grouped_collection_select.rb +29 -0
  50. data/lib/action_view/helpers/tags/hidden_field.rb +8 -0
  51. data/lib/action_view/helpers/tags/label.rb +65 -0
  52. data/lib/action_view/helpers/tags/month_field.rb +13 -0
  53. data/lib/action_view/helpers/tags/number_field.rb +18 -0
  54. data/lib/action_view/helpers/tags/password_field.rb +12 -0
  55. data/lib/action_view/helpers/tags/radio_button.rb +31 -0
  56. data/lib/action_view/helpers/tags/range_field.rb +8 -0
  57. data/lib/action_view/helpers/tags/search_field.rb +24 -0
  58. data/lib/action_view/helpers/tags/select.rb +41 -0
  59. data/lib/action_view/helpers/tags/tel_field.rb +8 -0
  60. data/lib/action_view/helpers/tags/text_area.rb +18 -0
  61. data/lib/action_view/helpers/tags/text_field.rb +29 -0
  62. data/lib/action_view/helpers/tags/time_field.rb +13 -0
  63. data/lib/action_view/helpers/tags/time_select.rb +8 -0
  64. data/lib/action_view/helpers/tags/time_zone_select.rb +20 -0
  65. data/lib/action_view/helpers/tags/url_field.rb +8 -0
  66. data/lib/action_view/helpers/tags/week_field.rb +13 -0
  67. data/lib/action_view/helpers/text_helper.rb +447 -0
  68. data/lib/action_view/helpers/translation_helper.rb +111 -0
  69. data/lib/action_view/helpers/url_helper.rb +625 -0
  70. data/lib/action_view/layouts.rb +426 -0
  71. data/lib/action_view/locale/en.yml +56 -0
  72. data/lib/action_view/log_subscriber.rb +44 -0
  73. data/lib/action_view/lookup_context.rb +249 -0
  74. data/lib/action_view/model_naming.rb +12 -0
  75. data/lib/action_view/path_set.rb +77 -0
  76. data/lib/action_view/railtie.rb +49 -0
  77. data/lib/action_view/record_identifier.rb +84 -0
  78. data/lib/action_view/renderer/abstract_renderer.rb +47 -0
  79. data/lib/action_view/renderer/partial_renderer.rb +492 -0
  80. data/lib/action_view/renderer/renderer.rb +50 -0
  81. data/lib/action_view/renderer/streaming_template_renderer.rb +103 -0
  82. data/lib/action_view/renderer/template_renderer.rb +96 -0
  83. data/lib/action_view/rendering.rb +145 -0
  84. data/lib/action_view/routing_url_for.rb +109 -0
  85. data/lib/action_view/tasks/dependencies.rake +17 -0
  86. data/lib/action_view/template.rb +340 -0
  87. data/lib/action_view/template/error.rb +141 -0
  88. data/lib/action_view/template/handlers.rb +53 -0
  89. data/lib/action_view/template/handlers/builder.rb +26 -0
  90. data/lib/action_view/template/handlers/erb.rb +145 -0
  91. data/lib/action_view/template/handlers/raw.rb +11 -0
  92. data/lib/action_view/template/resolver.rb +329 -0
  93. data/lib/action_view/template/text.rb +34 -0
  94. data/lib/action_view/template/types.rb +57 -0
  95. data/lib/action_view/test_case.rb +272 -0
  96. data/lib/action_view/testing/resolvers.rb +50 -0
  97. data/lib/action_view/vendor/html-scanner.rb +20 -0
  98. data/lib/action_view/vendor/html-scanner/html/document.rb +68 -0
  99. data/lib/action_view/vendor/html-scanner/html/node.rb +532 -0
  100. data/lib/action_view/vendor/html-scanner/html/sanitizer.rb +188 -0
  101. data/lib/action_view/vendor/html-scanner/html/selector.rb +830 -0
  102. data/lib/action_view/vendor/html-scanner/html/tokenizer.rb +107 -0
  103. data/lib/action_view/vendor/html-scanner/html/version.rb +11 -0
  104. data/lib/action_view/version.rb +11 -0
  105. data/lib/action_view/view_paths.rb +96 -0
  106. metadata +218 -0
@@ -0,0 +1,107 @@
1
+ require 'strscan'
2
+
3
+ module HTML #:nodoc:
4
+
5
+ # A simple HTML tokenizer. It simply breaks a stream of text into tokens, where each
6
+ # token is a string. Each string represents either "text", or an HTML element.
7
+ #
8
+ # This currently assumes valid XHTML, which means no free < or > characters.
9
+ #
10
+ # Usage:
11
+ #
12
+ # tokenizer = HTML::Tokenizer.new(text)
13
+ # while token = tokenizer.next
14
+ # p token
15
+ # end
16
+ class Tokenizer #:nodoc:
17
+
18
+ # The current (byte) position in the text
19
+ attr_reader :position
20
+
21
+ # The current line number
22
+ attr_reader :line
23
+
24
+ # Create a new Tokenizer for the given text.
25
+ def initialize(text)
26
+ text.encode!
27
+ @scanner = StringScanner.new(text)
28
+ @position = 0
29
+ @line = 0
30
+ @current_line = 1
31
+ end
32
+
33
+ # Return the next token in the sequence, or +nil+ if there are no more tokens in
34
+ # the stream.
35
+ def next
36
+ return nil if @scanner.eos?
37
+ @position = @scanner.pos
38
+ @line = @current_line
39
+ if @scanner.check(/<\S/)
40
+ update_current_line(scan_tag)
41
+ else
42
+ update_current_line(scan_text)
43
+ end
44
+ end
45
+
46
+ private
47
+
48
+ # Treat the text at the current position as a tag, and scan it. Supports
49
+ # comments, doctype tags, and regular tags, and ignores less-than and
50
+ # greater-than characters within quoted strings.
51
+ def scan_tag
52
+ tag = @scanner.getch
53
+ if @scanner.scan(/!--/) # comment
54
+ tag << @scanner.matched
55
+ tag << (@scanner.scan_until(/--\s*>/) || @scanner.scan_until(/\Z/))
56
+ elsif @scanner.scan(/!\[CDATA\[/)
57
+ tag << @scanner.matched
58
+ tag << (@scanner.scan_until(/\]\]>/) || @scanner.scan_until(/\Z/))
59
+ elsif @scanner.scan(/!/) # doctype
60
+ tag << @scanner.matched
61
+ tag << consume_quoted_regions
62
+ else
63
+ tag << consume_quoted_regions
64
+ end
65
+ tag
66
+ end
67
+
68
+ # Scan all text up to the next < character and return it.
69
+ def scan_text
70
+ "#{@scanner.getch}#{@scanner.scan(/[^<]*/)}"
71
+ end
72
+
73
+ # Counts the number of newlines in the text and updates the current line
74
+ # accordingly.
75
+ def update_current_line(text)
76
+ text.scan(/\r?\n/) { @current_line += 1 }
77
+ end
78
+
79
+ # Skips over quoted strings, so that less-than and greater-than characters
80
+ # within the strings are ignored.
81
+ def consume_quoted_regions
82
+ text = ""
83
+ loop do
84
+ match = @scanner.scan_until(/['"<>]/) or break
85
+
86
+ delim = @scanner.matched
87
+ if delim == "<"
88
+ match = match.chop
89
+ @scanner.pos -= 1
90
+ end
91
+
92
+ text << match
93
+ break if delim == "<" || delim == ">"
94
+
95
+ # consume the quoted region
96
+ while match = @scanner.scan_until(/[\\#{delim}]/)
97
+ text << match
98
+ break if @scanner.matched == delim
99
+ break if @scanner.eos?
100
+ text << @scanner.getch # skip the escaped character
101
+ end
102
+ end
103
+ text
104
+ end
105
+ end
106
+
107
+ end
@@ -0,0 +1,11 @@
1
+ module HTML #:nodoc:
2
+ module Version #:nodoc:
3
+
4
+ MAJOR = 0
5
+ MINOR = 5
6
+ TINY = 3
7
+
8
+ STRING = [ MAJOR, MINOR, TINY ].join(".")
9
+
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module ActionView
2
+ # Returns the version of the currently loaded ActionView as a Gem::Version
3
+ def self.version
4
+ Gem::Version.new "4.1.0.beta1"
5
+ end
6
+
7
+ module VERSION #:nodoc:
8
+ MAJOR, MINOR, TINY, PRE = ActionView.version.segments
9
+ STRING = ActionView.version.to_s
10
+ end
11
+ end
@@ -0,0 +1,96 @@
1
+ require 'action_view/base'
2
+
3
+ module ActionView
4
+ module ViewPaths
5
+ extend ActiveSupport::Concern
6
+
7
+ included do
8
+ class_attribute :_view_paths
9
+ self._view_paths = ActionView::PathSet.new
10
+ self._view_paths.freeze
11
+ end
12
+
13
+ delegate :template_exists?, :view_paths, :formats, :formats=,
14
+ :locale, :locale=, :to => :lookup_context
15
+
16
+ module ClassMethods
17
+ def parent_prefixes
18
+ @parent_prefixes ||= begin
19
+ parent_controller = superclass
20
+ prefixes = []
21
+
22
+ until parent_controller.abstract?
23
+ prefixes << parent_controller.controller_path
24
+ parent_controller = parent_controller.superclass
25
+ end
26
+
27
+ prefixes
28
+ end
29
+ end
30
+ end
31
+
32
+ # The prefixes used in render "foo" shortcuts.
33
+ def _prefixes
34
+ @_prefixes ||= begin
35
+ parent_prefixes = self.class.parent_prefixes
36
+ parent_prefixes.dup.unshift(controller_path)
37
+ end
38
+ end
39
+
40
+ # LookupContext is the object responsible to hold all information required to lookup
41
+ # templates, i.e. view paths and details. Check ActionView::LookupContext for more
42
+ # information.
43
+ def lookup_context
44
+ @_lookup_context ||=
45
+ ActionView::LookupContext.new(self.class._view_paths, details_for_lookup, _prefixes)
46
+ end
47
+
48
+ def details_for_lookup
49
+ { }
50
+ end
51
+
52
+ def append_view_path(path)
53
+ lookup_context.view_paths.push(*path)
54
+ end
55
+
56
+ def prepend_view_path(path)
57
+ lookup_context.view_paths.unshift(*path)
58
+ end
59
+
60
+ module ClassMethods
61
+ # Append a path to the list of view paths for this controller.
62
+ #
63
+ # ==== Parameters
64
+ # * <tt>path</tt> - If a String is provided, it gets converted into
65
+ # the default view path. You may also provide a custom view path
66
+ # (see ActionView::PathSet for more information)
67
+ def append_view_path(path)
68
+ self._view_paths = view_paths + Array(path)
69
+ end
70
+
71
+ # Prepend a path to the list of view paths for this controller.
72
+ #
73
+ # ==== Parameters
74
+ # * <tt>path</tt> - If a String is provided, it gets converted into
75
+ # the default view path. You may also provide a custom view path
76
+ # (see ActionView::PathSet for more information)
77
+ def prepend_view_path(path)
78
+ self._view_paths = ActionView::PathSet.new(Array(path) + view_paths)
79
+ end
80
+
81
+ # A list of all of the default view paths for this controller.
82
+ def view_paths
83
+ _view_paths
84
+ end
85
+
86
+ # Set the view paths.
87
+ #
88
+ # ==== Parameters
89
+ # * <tt>paths</tt> - If a PathSet is provided, use that;
90
+ # otherwise, process the parameter into a PathSet.
91
+ def view_paths=(paths)
92
+ self._view_paths = ActionView::PathSet.new(Array(paths))
93
+ end
94
+ end
95
+ end
96
+ end
metadata ADDED
@@ -0,0 +1,218 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: actionview
3
+ version: !ruby/object:Gem::Version
4
+ version: 4.1.0.beta1
5
+ platform: ruby
6
+ authors:
7
+ - David Heinemeier Hansson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-12-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 4.1.0.beta1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 4.1.0.beta1
27
+ - !ruby/object:Gem::Dependency
28
+ name: builder
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '3.1'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '3.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: erubis
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 2.7.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 2.7.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: actionpack
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 4.1.0.beta1
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 4.1.0.beta1
69
+ - !ruby/object:Gem::Dependency
70
+ name: activemodel
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '='
74
+ - !ruby/object:Gem::Version
75
+ version: 4.1.0.beta1
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 4.1.0.beta1
83
+ description: Simple, battle-tested conventions and helpers for building web pages.
84
+ email: david@loudthinking.com
85
+ executables: []
86
+ extensions: []
87
+ extra_rdoc_files: []
88
+ files:
89
+ - CHANGELOG.md
90
+ - README.rdoc
91
+ - MIT-LICENSE
92
+ - lib/action_view/base.rb
93
+ - lib/action_view/buffers.rb
94
+ - lib/action_view/context.rb
95
+ - lib/action_view/dependency_tracker.rb
96
+ - lib/action_view/digestor.rb
97
+ - lib/action_view/flows.rb
98
+ - lib/action_view/helpers/active_model_helper.rb
99
+ - lib/action_view/helpers/asset_tag_helper.rb
100
+ - lib/action_view/helpers/asset_url_helper.rb
101
+ - lib/action_view/helpers/atom_feed_helper.rb
102
+ - lib/action_view/helpers/cache_helper.rb
103
+ - lib/action_view/helpers/capture_helper.rb
104
+ - lib/action_view/helpers/controller_helper.rb
105
+ - lib/action_view/helpers/csrf_helper.rb
106
+ - lib/action_view/helpers/date_helper.rb
107
+ - lib/action_view/helpers/debug_helper.rb
108
+ - lib/action_view/helpers/form_helper.rb
109
+ - lib/action_view/helpers/form_options_helper.rb
110
+ - lib/action_view/helpers/form_tag_helper.rb
111
+ - lib/action_view/helpers/javascript_helper.rb
112
+ - lib/action_view/helpers/number_helper.rb
113
+ - lib/action_view/helpers/output_safety_helper.rb
114
+ - lib/action_view/helpers/record_tag_helper.rb
115
+ - lib/action_view/helpers/rendering_helper.rb
116
+ - lib/action_view/helpers/sanitize_helper.rb
117
+ - lib/action_view/helpers/tag_helper.rb
118
+ - lib/action_view/helpers/tags/base.rb
119
+ - lib/action_view/helpers/tags/check_box.rb
120
+ - lib/action_view/helpers/tags/checkable.rb
121
+ - lib/action_view/helpers/tags/collection_check_boxes.rb
122
+ - lib/action_view/helpers/tags/collection_helpers.rb
123
+ - lib/action_view/helpers/tags/collection_radio_buttons.rb
124
+ - lib/action_view/helpers/tags/collection_select.rb
125
+ - lib/action_view/helpers/tags/color_field.rb
126
+ - lib/action_view/helpers/tags/date_field.rb
127
+ - lib/action_view/helpers/tags/date_select.rb
128
+ - lib/action_view/helpers/tags/datetime_field.rb
129
+ - lib/action_view/helpers/tags/datetime_local_field.rb
130
+ - lib/action_view/helpers/tags/datetime_select.rb
131
+ - lib/action_view/helpers/tags/email_field.rb
132
+ - lib/action_view/helpers/tags/file_field.rb
133
+ - lib/action_view/helpers/tags/grouped_collection_select.rb
134
+ - lib/action_view/helpers/tags/hidden_field.rb
135
+ - lib/action_view/helpers/tags/label.rb
136
+ - lib/action_view/helpers/tags/month_field.rb
137
+ - lib/action_view/helpers/tags/number_field.rb
138
+ - lib/action_view/helpers/tags/password_field.rb
139
+ - lib/action_view/helpers/tags/radio_button.rb
140
+ - lib/action_view/helpers/tags/range_field.rb
141
+ - lib/action_view/helpers/tags/search_field.rb
142
+ - lib/action_view/helpers/tags/select.rb
143
+ - lib/action_view/helpers/tags/tel_field.rb
144
+ - lib/action_view/helpers/tags/text_area.rb
145
+ - lib/action_view/helpers/tags/text_field.rb
146
+ - lib/action_view/helpers/tags/time_field.rb
147
+ - lib/action_view/helpers/tags/time_select.rb
148
+ - lib/action_view/helpers/tags/time_zone_select.rb
149
+ - lib/action_view/helpers/tags/url_field.rb
150
+ - lib/action_view/helpers/tags/week_field.rb
151
+ - lib/action_view/helpers/tags.rb
152
+ - lib/action_view/helpers/text_helper.rb
153
+ - lib/action_view/helpers/translation_helper.rb
154
+ - lib/action_view/helpers/url_helper.rb
155
+ - lib/action_view/helpers.rb
156
+ - lib/action_view/layouts.rb
157
+ - lib/action_view/locale/en.yml
158
+ - lib/action_view/log_subscriber.rb
159
+ - lib/action_view/lookup_context.rb
160
+ - lib/action_view/model_naming.rb
161
+ - lib/action_view/path_set.rb
162
+ - lib/action_view/railtie.rb
163
+ - lib/action_view/record_identifier.rb
164
+ - lib/action_view/renderer/abstract_renderer.rb
165
+ - lib/action_view/renderer/partial_renderer.rb
166
+ - lib/action_view/renderer/renderer.rb
167
+ - lib/action_view/renderer/streaming_template_renderer.rb
168
+ - lib/action_view/renderer/template_renderer.rb
169
+ - lib/action_view/rendering.rb
170
+ - lib/action_view/routing_url_for.rb
171
+ - lib/action_view/tasks/dependencies.rake
172
+ - lib/action_view/template/error.rb
173
+ - lib/action_view/template/handlers/builder.rb
174
+ - lib/action_view/template/handlers/erb.rb
175
+ - lib/action_view/template/handlers/raw.rb
176
+ - lib/action_view/template/handlers.rb
177
+ - lib/action_view/template/resolver.rb
178
+ - lib/action_view/template/text.rb
179
+ - lib/action_view/template/types.rb
180
+ - lib/action_view/template.rb
181
+ - lib/action_view/test_case.rb
182
+ - lib/action_view/testing/resolvers.rb
183
+ - lib/action_view/vendor/html-scanner/html/document.rb
184
+ - lib/action_view/vendor/html-scanner/html/node.rb
185
+ - lib/action_view/vendor/html-scanner/html/sanitizer.rb
186
+ - lib/action_view/vendor/html-scanner/html/selector.rb
187
+ - lib/action_view/vendor/html-scanner/html/tokenizer.rb
188
+ - lib/action_view/vendor/html-scanner/html/version.rb
189
+ - lib/action_view/vendor/html-scanner.rb
190
+ - lib/action_view/version.rb
191
+ - lib/action_view/view_paths.rb
192
+ - lib/action_view.rb
193
+ homepage: http://www.rubyonrails.org
194
+ licenses:
195
+ - MIT
196
+ metadata: {}
197
+ post_install_message:
198
+ rdoc_options: []
199
+ require_paths:
200
+ - lib
201
+ required_ruby_version: !ruby/object:Gem::Requirement
202
+ requirements:
203
+ - - '>='
204
+ - !ruby/object:Gem::Version
205
+ version: 1.9.3
206
+ required_rubygems_version: !ruby/object:Gem::Requirement
207
+ requirements:
208
+ - - '>'
209
+ - !ruby/object:Gem::Version
210
+ version: 1.3.1
211
+ requirements:
212
+ - none
213
+ rubyforge_project:
214
+ rubygems_version: 2.1.11
215
+ signing_key:
216
+ specification_version: 4
217
+ summary: Rendering framework putting the V in MVC (part of Rails).
218
+ test_files: []