curly-templates 2.6.1 → 3.0.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.
Files changed (38) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/ci.yml +27 -0
  3. data/.travis.yml +1 -1
  4. data/CHANGELOG.md +31 -1
  5. data/Gemfile +1 -14
  6. data/README.md +9 -3
  7. data/curly-templates.gemspec +3 -3
  8. data/gemfiles/common.rb +13 -0
  9. data/gemfiles/rails4.2.gemfile +4 -0
  10. data/gemfiles/rails4.2.gemfile.lock +161 -0
  11. data/gemfiles/rails5.1.gemfile +4 -0
  12. data/gemfiles/rails5.1.gemfile.lock +169 -0
  13. data/gemfiles/rails5.2.gemfile +4 -0
  14. data/gemfiles/rails5.2.gemfile.lock +177 -0
  15. data/gemfiles/rails6.0.gemfile +4 -0
  16. data/gemfiles/rails6.0.gemfile.lock +199 -0
  17. data/gemfiles/rails6.1.gemfile +4 -0
  18. data/gemfiles/rails6.1.gemfile.lock +202 -0
  19. data/lib/curly/dependency_tracker.rb +1 -1
  20. data/lib/curly/template_handler.rb +20 -8
  21. data/lib/curly/version.rb +1 -1
  22. data/lib/generators/curly.rb +17 -0
  23. data/lib/generators/curly/install/install_generator.rb +21 -0
  24. data/lib/generators/curly/install/templates/layout.html.curly.erb +14 -0
  25. data/lib/generators/curly/install/templates/layout_presenter.rb.erb +25 -0
  26. data/lib/generators/curly/scaffold/scaffold_generator.rb +43 -0
  27. data/lib/generators/curly/scaffold/templates/_form.html.curly.erb +30 -0
  28. data/lib/generators/curly/scaffold/templates/edit.html.curly.erb +5 -0
  29. data/lib/generators/curly/scaffold/templates/edit_presenter.rb.erb +24 -0
  30. data/lib/generators/curly/scaffold/templates/form_presenter.rb.erb +66 -0
  31. data/lib/generators/curly/scaffold/templates/index.html.curly.erb +31 -0
  32. data/lib/generators/curly/scaffold/templates/index_presenter.rb.erb +46 -0
  33. data/lib/generators/curly/scaffold/templates/new.html.curly.erb +5 -0
  34. data/lib/generators/curly/scaffold/templates/new_presenter.rb.erb +20 -0
  35. data/lib/generators/curly/scaffold/templates/show.html.curly.erb +12 -0
  36. data/lib/generators/curly/scaffold/templates/show_presenter.rb.erb +46 -0
  37. metadata +44 -19
  38. data/circle.yml +0 -9
@@ -0,0 +1,46 @@
1
+ class <%= plural_table_name.capitalize %>::<%= @view_name.capitalize %>Presenter < Curly::Presenter
2
+ # If you need to assign variables to the presenter, you can use the
3
+ # `presents` method.
4
+ #
5
+ # presents :foo, :bar
6
+ #
7
+ # Any public method defined in a presenter class will be available
8
+ # to the Curly template as a variable. Consider making these methods
9
+ # idempotent.
10
+ presents :<%= singular_table_name %>
11
+
12
+ def <%= singular_table_name %>
13
+ @<%= singular_table_name %>
14
+ end
15
+
16
+ def notice_text
17
+ notice
18
+ end
19
+
20
+ def <%= index_helper %>_link
21
+ link_to 'Back', <%= index_helper %>_path
22
+ end
23
+
24
+ class <%= singular_table_name.capitalize %>Presenter < Curly::Presenter
25
+ presents :<%= singular_table_name %>
26
+
27
+ <% attributes.reject(&:password_digest?).each do |attribute| -%>
28
+ def <%= attribute.name %>
29
+ @<%= singular_table_name %>.<%= attribute.name %>
30
+ end
31
+ <% end -%>
32
+
33
+ def show_link
34
+ link_to 'Show', @<%= singular_table_name %>
35
+ end
36
+
37
+ def edit_link
38
+ link_to 'Edit', edit_<%= singular_table_name %>_path(@<%= singular_table_name %>)
39
+ end
40
+
41
+ def destroy_link
42
+ link_to 'Destroy', @<%= singular_table_name %>, method: :delete, data: { confirm: 'Are you sure?' }
43
+ end
44
+ end
45
+
46
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: curly-templates
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.1
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Schierbeck
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-03 00:00:00.000000000 Z
11
+ date: 2021-01-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionpack
@@ -16,40 +16,40 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '3.1'
19
+ version: '4.2'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '5.1'
22
+ version: '6.2'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: '3.1'
29
+ version: '4.2'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '5.1'
32
+ version: '6.2'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: railties
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: '3.1'
39
+ version: '4.2'
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: '5.1'
42
+ version: '6.2'
43
43
  type: :development
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: '3.1'
49
+ version: '4.2'
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: '5.1'
52
+ version: '6.2'
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: rake
55
55
  requirement: !ruby/object:Gem::Requirement
@@ -79,25 +79,26 @@ dependencies:
79
79
  - !ruby/object:Gem::Version
80
80
  version: '3'
81
81
  - !ruby/object:Gem::Dependency
82
- name: genspec
82
+ name: rspec_junit_formatter
83
83
  requirement: !ruby/object:Gem::Requirement
84
84
  requirements:
85
85
  - - ">="
86
86
  - !ruby/object:Gem::Version
87
- version: 0.3.0
87
+ version: '0'
88
88
  type: :development
89
89
  prerelease: false
90
90
  version_requirements: !ruby/object:Gem::Requirement
91
91
  requirements:
92
92
  - - ">="
93
93
  - !ruby/object:Gem::Version
94
- version: 0.3.0
94
+ version: '0'
95
95
  description: A view layer for your Rails apps that separates structure and logic.
96
96
  email: daniel.schierbeck@gmail.com
97
97
  executables: []
98
98
  extensions: []
99
99
  extra_rdoc_files: []
100
100
  files:
101
+ - ".github/workflows/ci.yml"
101
102
  - ".gitignore"
102
103
  - ".rspec"
103
104
  - ".travis.yml"
@@ -107,8 +108,18 @@ files:
107
108
  - Gemfile
108
109
  - README.md
109
110
  - Rakefile
110
- - circle.yml
111
111
  - curly-templates.gemspec
112
+ - gemfiles/common.rb
113
+ - gemfiles/rails4.2.gemfile
114
+ - gemfiles/rails4.2.gemfile.lock
115
+ - gemfiles/rails5.1.gemfile
116
+ - gemfiles/rails5.1.gemfile.lock
117
+ - gemfiles/rails5.2.gemfile
118
+ - gemfiles/rails5.2.gemfile.lock
119
+ - gemfiles/rails6.0.gemfile
120
+ - gemfiles/rails6.0.gemfile.lock
121
+ - gemfiles/rails6.1.gemfile
122
+ - gemfiles/rails6.1.gemfile.lock
112
123
  - lib/curly-templates.rb
113
124
  - lib/curly.rb
114
125
  - lib/curly/attribute_scanner.rb
@@ -130,15 +141,30 @@ files:
130
141
  - lib/curly/syntax_error.rb
131
142
  - lib/curly/template_handler.rb
132
143
  - lib/curly/version.rb
144
+ - lib/generators/curly.rb
133
145
  - lib/generators/curly/controller/controller_generator.rb
134
146
  - lib/generators/curly/controller/templates/presenter.rb.erb
135
147
  - lib/generators/curly/controller/templates/view.html.curly.erb
148
+ - lib/generators/curly/install/install_generator.rb
149
+ - lib/generators/curly/install/templates/layout.html.curly.erb
150
+ - lib/generators/curly/install/templates/layout_presenter.rb.erb
151
+ - lib/generators/curly/scaffold/scaffold_generator.rb
152
+ - lib/generators/curly/scaffold/templates/_form.html.curly.erb
153
+ - lib/generators/curly/scaffold/templates/edit.html.curly.erb
154
+ - lib/generators/curly/scaffold/templates/edit_presenter.rb.erb
155
+ - lib/generators/curly/scaffold/templates/form_presenter.rb.erb
156
+ - lib/generators/curly/scaffold/templates/index.html.curly.erb
157
+ - lib/generators/curly/scaffold/templates/index_presenter.rb.erb
158
+ - lib/generators/curly/scaffold/templates/new.html.curly.erb
159
+ - lib/generators/curly/scaffold/templates/new_presenter.rb.erb
160
+ - lib/generators/curly/scaffold/templates/show.html.curly.erb
161
+ - lib/generators/curly/scaffold/templates/show_presenter.rb.erb
136
162
  - lib/rails/projections.json
137
163
  homepage: https://github.com/zendesk/curly
138
164
  licenses:
139
165
  - apache2
140
166
  metadata: {}
141
- post_install_message:
167
+ post_install_message:
142
168
  rdoc_options:
143
169
  - "--charset=UTF-8"
144
170
  require_paths:
@@ -154,9 +180,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
154
180
  - !ruby/object:Gem::Version
155
181
  version: '0'
156
182
  requirements: []
157
- rubyforge_project:
158
- rubygems_version: 2.6.6
159
- signing_key:
183
+ rubygems_version: 3.2.2
184
+ signing_key:
160
185
  specification_version: 2
161
186
  summary: Free your views!
162
187
  test_files: []
data/circle.yml DELETED
@@ -1,9 +0,0 @@
1
- machine:
2
- ruby:
3
- version: 2.2.3
4
- dependencies:
5
- post:
6
- - bundle install
7
- test:
8
- override:
9
- - bundle exec rspec