iatelier 0.1.3

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 (135) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +15 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +7 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +6 -0
  7. data/Gemfile.lock +119 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +43 -0
  10. data/Rakefile +6 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/iatelier-0.1.1.gem +0 -0
  14. data/iatelier.gemspec +43 -0
  15. data/lib/iatelier/Users/captainhusaynpinguin/Documents/ruby/iatelier/public/assets/js/analog.js +15347 -0
  16. data/lib/iatelier/Users/captainhusaynpinguin/Documents/ruby/iatelier/public/assets/js/selectize.js +12672 -0
  17. data/lib/iatelier/application.rb +317 -0
  18. data/lib/iatelier/assets/favicon.ico +0 -0
  19. data/lib/iatelier/assets/images/.gitkeep +0 -0
  20. data/lib/iatelier/assets/javascripts/iatelier-analog.js +15347 -0
  21. data/lib/iatelier/assets/javascripts/selectize.js +12672 -0
  22. data/lib/iatelier/assets/js/iatelier-analog.js +26 -0
  23. data/lib/iatelier/assets/js/selectize.js +3 -0
  24. data/lib/iatelier/assets/sass/backend.scss +4 -0
  25. data/lib/iatelier/assets/sass/blaze/blaze.colors.scss +30 -0
  26. data/lib/iatelier/assets/sass/blaze/blaze.scss +42 -0
  27. data/lib/iatelier/assets/sass/blaze/components.addresses.scss +12 -0
  28. data/lib/iatelier/assets/sass/blaze/components.alerts.scss +59 -0
  29. data/lib/iatelier/assets/sass/blaze/components.avatars.scss +36 -0
  30. data/lib/iatelier/assets/sass/blaze/components.badges.scss +60 -0
  31. data/lib/iatelier/assets/sass/blaze/components.breadcrumbs.scss +20 -0
  32. data/lib/iatelier/assets/sass/blaze/components.bubbles.scss +49 -0
  33. data/lib/iatelier/assets/sass/blaze/components.buttons.scss +77 -0
  34. data/lib/iatelier/assets/sass/blaze/components.calendars.scss +69 -0
  35. data/lib/iatelier/assets/sass/blaze/components.cards.scss +213 -0
  36. data/lib/iatelier/assets/sass/blaze/components.headings.scss +14 -0
  37. data/lib/iatelier/assets/sass/blaze/components.hints.scss +27 -0
  38. data/lib/iatelier/assets/sass/blaze/components.input-groups.scss +163 -0
  39. data/lib/iatelier/assets/sass/blaze/components.inputs.scss +144 -0
  40. data/lib/iatelier/assets/sass/blaze/components.links.scss +31 -0
  41. data/lib/iatelier/assets/sass/blaze/components.lists.scss +60 -0
  42. data/lib/iatelier/assets/sass/blaze/components.navs.scss +126 -0
  43. data/lib/iatelier/assets/sass/blaze/components.overlays.scss +26 -0
  44. data/lib/iatelier/assets/sass/blaze/components.pagination.scss +42 -0
  45. data/lib/iatelier/assets/sass/blaze/components.progress.scss +51 -0
  46. data/lib/iatelier/assets/sass/blaze/components.ranges.scss +114 -0
  47. data/lib/iatelier/assets/sass/blaze/components.tables.scss +88 -0
  48. data/lib/iatelier/assets/sass/blaze/components.tabs.scss +72 -0
  49. data/lib/iatelier/assets/sass/blaze/components.tags.scss +42 -0
  50. data/lib/iatelier/assets/sass/blaze/components.toggles.scss +74 -0
  51. data/lib/iatelier/assets/sass/blaze/components.tooltips.scss +96 -0
  52. data/lib/iatelier/assets/sass/blaze/components.trees.scss +47 -0
  53. data/lib/iatelier/assets/sass/blaze/components.typography.scss +94 -0
  54. data/lib/iatelier/assets/sass/blaze/generics.global.scss +13 -0
  55. data/lib/iatelier/assets/sass/blaze/mixins/_components.alerts.scss +6 -0
  56. data/lib/iatelier/assets/sass/blaze/mixins/_components.badges.scss +8 -0
  57. data/lib/iatelier/assets/sass/blaze/mixins/_components.buttons.scss +83 -0
  58. data/lib/iatelier/assets/sass/blaze/mixins/_components.inputs.scss +45 -0
  59. data/lib/iatelier/assets/sass/blaze/mixins/_components.links.scss +22 -0
  60. data/lib/iatelier/assets/sass/blaze/mixins/_components.lists.scss +10 -0
  61. data/lib/iatelier/assets/sass/blaze/mixins/_components.navs.scss +29 -0
  62. data/lib/iatelier/assets/sass/blaze/mixins/_components.ranges.scss +89 -0
  63. data/lib/iatelier/assets/sass/blaze/mixins/_components.tabs.scss +5 -0
  64. data/lib/iatelier/assets/sass/blaze/mixins/_components.toggles.scss +6 -0
  65. data/lib/iatelier/assets/sass/blaze/mixins/_components.typography.scss +25 -0
  66. data/lib/iatelier/assets/sass/blaze/mixins/_objects.containers.scss +10 -0
  67. data/lib/iatelier/assets/sass/blaze/mixins/_objects.grid.scss +113 -0
  68. data/lib/iatelier/assets/sass/blaze/mixins/_settings.global.scss +864 -0
  69. data/lib/iatelier/assets/sass/blaze/mixins/_tools.mediaqueries.scss +73 -0
  70. data/lib/iatelier/assets/sass/blaze/mixins/_utilities.alignment.scss +24 -0
  71. data/lib/iatelier/assets/sass/blaze/mixins/_utilities.boxing.scss +125 -0
  72. data/lib/iatelier/assets/sass/blaze/mixins/_utilities.visibility.scss +47 -0
  73. data/lib/iatelier/assets/sass/blaze/objects.containers.scss +29 -0
  74. data/lib/iatelier/assets/sass/blaze/objects.drawers.scss +80 -0
  75. data/lib/iatelier/assets/sass/blaze/objects.forms.scss +25 -0
  76. data/lib/iatelier/assets/sass/blaze/objects.grid.responsive.scss +124 -0
  77. data/lib/iatelier/assets/sass/blaze/objects.grid.scss +70 -0
  78. data/lib/iatelier/assets/sass/blaze/objects.images.scss +5 -0
  79. data/lib/iatelier/assets/sass/blaze/objects.media.scss +36 -0
  80. data/lib/iatelier/assets/sass/blaze/objects.modals.scss +58 -0
  81. data/lib/iatelier/assets/sass/blaze/objects.panels.scss +27 -0
  82. data/lib/iatelier/assets/sass/blaze/themes/blaze.example.scss +7 -0
  83. data/lib/iatelier/assets/sass/blaze/utilities.alignment.scss +22 -0
  84. data/lib/iatelier/assets/sass/blaze/utilities.boxing.scss +101 -0
  85. data/lib/iatelier/assets/sass/blaze/utilities.elevation.scss +19 -0
  86. data/lib/iatelier/assets/sass/blaze/utilities.sizes.scss +25 -0
  87. data/lib/iatelier/assets/sass/blaze/utilities.visibility.scss +45 -0
  88. data/lib/iatelier/assets/sass/iatelier.scss +30 -0
  89. data/lib/iatelier/assets/sass/selectize.scss +394 -0
  90. data/lib/iatelier/assets/sass/views/master.scss +5 -0
  91. data/lib/iatelier/assets/stylesheets/iatelier.css +534 -0
  92. data/lib/iatelier/assets/stylesheets/selectize.css +420 -0
  93. data/lib/iatelier/config/routes.rb +14 -0
  94. data/lib/iatelier/controllers/.gitkeep +0 -0
  95. data/lib/iatelier/controllers/books/create.rb +15 -0
  96. data/lib/iatelier/controllers/books/edit.rb +13 -0
  97. data/lib/iatelier/controllers/books/manage.rb +13 -0
  98. data/lib/iatelier/controllers/books/new.rb +15 -0
  99. data/lib/iatelier/controllers/books/update.rb +16 -0
  100. data/lib/iatelier/controllers/ileaf.rb +23 -0
  101. data/lib/iatelier/mix-manifest.json +6 -0
  102. data/lib/iatelier/models/.gitkeep +0 -0
  103. data/lib/iatelier/models/application_record.rb +3 -0
  104. data/lib/iatelier/models/book.rb +176 -0
  105. data/lib/iatelier/models/dimension.rb +28 -0
  106. data/lib/iatelier/models/dimensions/description.rb +4 -0
  107. data/lib/iatelier/models/dimensions/slug.rb +13 -0
  108. data/lib/iatelier/models/dimensions/subtitle.rb +4 -0
  109. data/lib/iatelier/models/dimensions/thumbnail.rb +4 -0
  110. data/lib/iatelier/models/dimensions/timestamp.rb +4 -0
  111. data/lib/iatelier/models/dimensions/title.rb +5 -0
  112. data/lib/iatelier/models/grouping.rb +28 -0
  113. data/lib/iatelier/models/keyword.rb +8 -0
  114. data/lib/iatelier/models/people.rb +11 -0
  115. data/lib/iatelier/models/transi_.php +262 -0
  116. data/lib/iatelier/package.json +35 -0
  117. data/lib/iatelier/templates/application.html.erb +65 -0
  118. data/lib/iatelier/templates/books/_engine.html.haml +31 -0
  119. data/lib/iatelier/templates/books/edit.html.haml +8 -0
  120. data/lib/iatelier/templates/books/grouping/_bundles.html.haml +0 -0
  121. data/lib/iatelier/templates/books/grouping/_keywords.html.haml +5 -0
  122. data/lib/iatelier/templates/books/grouping/_peoples.html.haml +7 -0
  123. data/lib/iatelier/templates/books/manage.html.haml +12 -0
  124. data/lib/iatelier/templates/books/new.html.haml +7 -0
  125. data/lib/iatelier/templates/books/update.html.haml +0 -0
  126. data/lib/iatelier/version.rb +3 -0
  127. data/lib/iatelier/views/application_layout.rb +7 -0
  128. data/lib/iatelier/views/books/create.rb +9 -0
  129. data/lib/iatelier/views/books/edit.rb +9 -0
  130. data/lib/iatelier/views/books/manage.rb +9 -0
  131. data/lib/iatelier/views/books/new.rb +9 -0
  132. data/lib/iatelier/views/books/update.rb +9 -0
  133. data/lib/iatelier/webpack.mix.js +19 -0
  134. data/lib/iatelier.rb +325 -0
  135. metadata +250 -0
@@ -0,0 +1,8 @@
1
+ %div
2
+ .todo adding errors here!
3
+ %form{:class => "atelier-main-form pure-form pure-form-aligned", :action => "/iatelier/analog/#{book.class.name.downcase}/#{book.id}", :method => "POST", :enctype => "multipart/form-data"}
4
+ .form-actions
5
+ <button type="submit" class="btn btn-default">Edit</button>
6
+ <input type="hidden" name="_method" value="PATCH">
7
+ %div
8
+ = render :partial => 'engine'
@@ -0,0 +1,5 @@
1
+ %div{:class => "c-card__item c-card__item--divider"}
2
+ .span Keyword
3
+ %div{:class => "c-card__item"}
4
+ %input{:id => "keywords", :name => "keywords", :value => book.keywords.pluck(:word).join(", ")}
5
+ %div{:id => "keywords-field", :name => "keywords", :type => "text", :style => "width: 100%; display: block;"}
@@ -0,0 +1,7 @@
1
+ %div{:class => ".c-card__item c-card__item--divider"} People related data
2
+ - book.roles.each do |role|
3
+ .c-card__item
4
+ .os-form-group
5
+ %label #{role}:
6
+ %input{:id => role, :name => "people[#{role}]", :type => "text", :value => book.individuals(role).to_a.pluck(:identifier).join(', ')}
7
+ %div{:id => "#{role}-field", :class => "form-control select-correction"}
@@ -0,0 +1,12 @@
1
+ %h1 Listing books
2
+
3
+ %table
4
+ %tr
5
+ %th ID
6
+ %th Title
7
+ %th Slug
8
+ - books.each do |book|
9
+ %tr
10
+ %td= book.id
11
+ %td= book.title.value
12
+ %td= book.slug.try(:value)
@@ -0,0 +1,7 @@
1
+ %div
2
+ .todo adding errors here!
3
+ %form{:class => "atelier-main-form pure-form pure-form-aligned", :action => "/iatelier/analog/#{book.class.name.downcase}/#{book.id}", :method => "POST", :enctype => "multipart/form-data"}
4
+ .form-actions
5
+ <button type="submit" class="btn btn-default">Create</button>
6
+ %div
7
+ = render :partial => 'engine'
File without changes
@@ -0,0 +1,3 @@
1
+ module Iatelier
2
+ VERSION = "0.1.3"
3
+ end
@@ -0,0 +1,7 @@
1
+ module Iatelier
2
+ module Views
3
+ class ApplicationLayout
4
+ include Iatelier::Layout
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,9 @@
1
+ module Iatelier
2
+ module Views
3
+ module Books
4
+ class Create
5
+ include Iatelier::View
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Iatelier
2
+ module Views
3
+ module Books
4
+ class Edit
5
+ include Iatelier::View
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Iatelier
2
+ module Views
3
+ module Books
4
+ class Manage
5
+ include Iatelier::View
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Iatelier
2
+ module Views
3
+ module Books
4
+ class New
5
+ include Iatelier::View
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module Iatelier
2
+ module Views
3
+ module Books
4
+ class Update
5
+ include Iatelier::View
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,19 @@
1
+ const mix = require('laravel-mix');
2
+
3
+ /*
4
+ |--------------------------------------------------------------------------
5
+ | Mix Asset Management
6
+ |--------------------------------------------------------------------------
7
+ |
8
+ | Mix provides a clean, fluent API for defining some Webpack build steps
9
+ | for your Laravel application. By default, we are compiling the Sass
10
+ | file for the application as well as bundling up all the JS files.
11
+ |
12
+ */
13
+ // mix.options({ processCssUrls: false })
14
+ mix.js('assets/js/iatelier-analog.js', 'assets/javascripts')
15
+ .js('assets/js/selectize.js', 'assets/javascripts')
16
+ .sass('assets/sass/selectize.scss', 'assets/stylesheets')
17
+ .sass('assets/sass/iatelier.scss', 'assets/stylesheets');
18
+
19
+ // mix.copy('node_modules/css-oldschool/src/fonts', 'public/fonts');
data/lib/iatelier.rb ADDED
@@ -0,0 +1,325 @@
1
+ require "iatelier/version"
2
+
3
+ # module Iatelier
4
+ # class Error < StandardError; end
5
+ # # Your code goes here...
6
+ # end
7
+
8
+ require 'hanami'
9
+ require 'hanami/helpers'
10
+ require 'hanami/assets'
11
+ # require 'rack'
12
+
13
+ module Iatelier
14
+ class Application < Hanami::Application
15
+ configure do
16
+ ##
17
+ # BASIC
18
+ #
19
+
20
+ # Define the root path of this application.
21
+ # All paths specified in this configuration are relative to path below.
22
+ #
23
+ root __dir__
24
+
25
+ # Relative load paths where this application will recursively load the
26
+ # code.
27
+ #
28
+ # When you add new directories, remember to add them here.
29
+ #
30
+ load_paths << [
31
+ 'iatelier/controllers',
32
+ 'iatelier/views'
33
+ ]
34
+
35
+ # Handle exceptions with HTTP statuses (true) or don't catch them (false).
36
+ # Defaults to true.
37
+ # See: http://www.rubydoc.info/gems/hanami-controller/#Exceptions_management
38
+ #
39
+ # handle_exceptions true
40
+
41
+ ##
42
+ # HTTP
43
+ #
44
+
45
+ # Routes definitions for this application
46
+ # See: http://www.rubydoc.info/gems/hanami-router#Usage
47
+ #
48
+ routes 'iatelier/config/routes'
49
+
50
+ # URI scheme used by the routing system to generate absolute URLs
51
+ # Defaults to "http"
52
+ #
53
+ # scheme 'https'
54
+
55
+ # URI host used by the routing system to generate absolute URLs
56
+ # Defaults to "localhost"
57
+ #
58
+ # host 'example.org'
59
+
60
+ # URI port used by the routing system to generate absolute URLs
61
+ # Argument: An object coercible to integer, defaults to 80 if the scheme
62
+ # is http and 443 if it's https
63
+ #
64
+ # This should only be configured if app listens to non-standard ports
65
+ #
66
+ # port 443
67
+
68
+ # Enable cookies
69
+ # Argument: boolean to toggle the feature
70
+ # A Hash with options
71
+ #
72
+ # Options:
73
+ # :domain - The domain (String - nil by default, not required)
74
+ # :path - Restrict cookies to a relative URI
75
+ # (String - nil by default)
76
+ # :max_age - Cookies expiration expressed in seconds
77
+ # (Integer - nil by default)
78
+ # :secure - Restrict cookies to secure connections
79
+ # (Boolean - Automatically true when using HTTPS)
80
+ # See #scheme and #ssl?
81
+ # :httponly - Prevent JavaScript access (Boolean - true by default)
82
+ #
83
+ # cookies true
84
+ # or
85
+ # cookies max_age: 300
86
+
87
+ # Enable sessions
88
+ # Argument: Symbol the Rack session adapter
89
+ # A Hash with options
90
+ #
91
+ # See: http://www.rubydoc.info/gems/rack/Rack/Session/Cookie
92
+ #
93
+ # sessions :cookie, secret: ENV['ATELIER_SESSIONS_SECRET']
94
+
95
+ # Configure Rack middleware for this application
96
+ #
97
+ # middleware.use Rack::Protection
98
+ middleware.use Rack::Auth::Basic, 'Welcome' do |username, password|
99
+ username == 'ScrappyNobody' && password == 'Fenster7'
100
+ end
101
+
102
+ # Default format for the requests that don't specify an HTTP_ACCEPT header
103
+ # Argument: A symbol representation of a mime type, defaults to :html
104
+ #
105
+ # default_request_format :html
106
+
107
+ # Default format for responses that don't consider the request format
108
+ # Argument: A symbol representation of a mime type, defaults to :html
109
+ #
110
+ # default_response_format :html
111
+
112
+ ##
113
+ # TEMPLATES
114
+ #
115
+
116
+ # The layout to be used by all views
117
+ #
118
+ layout :application # It will load Iatelier::Views::ApplicationLayout
119
+
120
+ # The relative path to templates
121
+ #
122
+ templates 'iatelier/templates'
123
+
124
+ ##
125
+ # ASSETS
126
+ #
127
+ assets do
128
+ # JavaScript compressor
129
+ #
130
+ # Supported engines:
131
+ #
132
+ # * :builtin
133
+ # * :uglifier
134
+ # * :yui
135
+ # * :closure
136
+ #
137
+ # See: https://guides.hanamirb.org/assets/compressors
138
+ #
139
+ # In order to skip JavaScript compression comment the following line
140
+ javascript_compressor :builtin
141
+
142
+ # Stylesheet compressor
143
+ #
144
+ # Supported engines:
145
+ #
146
+ # * :builtin
147
+ # * :yui
148
+ # * :sass
149
+ #
150
+ # See: https://guides.hanamirb.org/assets/compressors
151
+ #
152
+ # In order to skip stylesheet compression comment the following line
153
+ stylesheet_compressor :builtin
154
+
155
+ # Specify sources for assets
156
+ #
157
+ sources << [
158
+ 'iatelier/assets'
159
+ ]
160
+ end
161
+
162
+ ##
163
+ # SECURITY
164
+ #
165
+
166
+ # X-Frame-Options is a HTTP header supported by modern browsers.
167
+ # It determines if a web page can or cannot be included via <frame> and
168
+ # <iframe> tags by untrusted domains.
169
+ #
170
+ # Web applications can send this header to prevent Clickjacking attacks.
171
+ #
172
+ # Read more at:
173
+ #
174
+ # * https://developer.mozilla.org/en-US/docs/Web/HTTP/X-Frame-Options
175
+ # * https://www.owasp.org/index.php/Clickjacking
176
+ #
177
+ security.x_frame_options 'DENY'
178
+
179
+ # X-Content-Type-Options prevents browsers from interpreting files as
180
+ # something else than declared by the content type in the HTTP headers.
181
+ #
182
+ # Read more at:
183
+ #
184
+ # * https://www.owasp.org/index.php/OWASP_Secure_Headers_Project#X-Content-Type-Options
185
+ # * https://msdn.microsoft.com/en-us/library/gg622941%28v=vs.85%29.aspx
186
+ # * https://blogs.msdn.microsoft.com/ie/2008/09/02/ie8-security-part-vi-beta-2-update
187
+ #
188
+ security.x_content_type_options 'nosniff'
189
+
190
+ # X-XSS-Protection is a HTTP header to determine the behavior of the
191
+ # browser in case an XSS attack is detected.
192
+ #
193
+ # Read more at:
194
+ #
195
+ # * https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)
196
+ # * https://www.owasp.org/index.php/OWASP_Secure_Headers_Project#X-XSS-Protection
197
+ #
198
+ security.x_xss_protection '1; mode=block'
199
+
200
+ # Content-Security-Policy (CSP) is a HTTP header supported by modern
201
+ # browsers. It determines trusted sources of execution for dynamic
202
+ # contents (JavaScript) or other web related assets: stylesheets, images,
203
+ # fonts, plugins, etc.
204
+ #
205
+ # Web applications can send this header to mitigate Cross Site Scripting
206
+ # (XSS) attacks.
207
+ #
208
+ # The default value allows images, scripts, AJAX, fonts and CSS from the
209
+ # same origin, and does not allow any other resources to load (eg object,
210
+ # frame, media, etc).
211
+ #
212
+ # Inline JavaScript is NOT allowed. To enable it, please use:
213
+ # "script-src 'unsafe-inline'".
214
+ #
215
+ # Content Security Policy introduction:
216
+ #
217
+ # * http://www.html5rocks.com/en/tutorials/security/content-security-policy/
218
+ # * https://www.owasp.org/index.php/Content_Security_Policy
219
+ # * https://www.owasp.org/index.php/Cross-site_Scripting_%28XSS%29
220
+ #
221
+ # Inline and eval JavaScript risks:
222
+ #
223
+ # * http://www.html5rocks.com/en/tutorials/security/content-security-policy/#inline-code-considered-harmful
224
+ # * http://www.html5rocks.com/en/tutorials/security/content-security-policy/#eval-too
225
+ #
226
+ # Content Security Policy usage:
227
+ #
228
+ # * http://content-security-policy.com/
229
+ # * https://developer.mozilla.org/en-US/docs/Web/Security/CSP/Using_Content_Security_Policy
230
+ #
231
+ # Content Security Policy references:
232
+ #
233
+ # * https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directives
234
+ #
235
+ security.content_security_policy %{
236
+ form-action 'self';
237
+ frame-ancestors 'self';
238
+ base-uri 'self';
239
+ default-src 'none';
240
+ script-src 'self';
241
+ connect-src 'self';
242
+ img-src 'self' https: data:;
243
+ style-src 'self' 'unsafe-inline' https:;
244
+ font-src 'self';
245
+ object-src 'none';
246
+ plugin-types application/pdf;
247
+ child-src 'self';
248
+ frame-src 'self';
249
+ media-src 'self'
250
+ }
251
+
252
+ ##
253
+ # FRAMEWORKS
254
+ #
255
+
256
+ # Configure the code that will yield each time Iatelier::Action is included
257
+ # This is useful for sharing common functionality
258
+ #
259
+ # See: http://www.rubydoc.info/gems/hanami-controller#Configuration
260
+ controller.prepare do
261
+ # include MyAuthentication # included in all the actions
262
+ # before :authenticate! # run an authentication before callback
263
+ end
264
+
265
+ # Configure the code that will yield each time Iatelier::View is included
266
+ # This is useful for sharing common functionality
267
+ #
268
+ # See: http://www.rubydoc.info/gems/hanami-view#Configuration
269
+ view.prepare do
270
+ include Hanami::Helpers
271
+ include Iatelier::Assets::Helpers
272
+ end
273
+ end
274
+
275
+ ##
276
+ # DEVELOPMENT
277
+ #
278
+ configure :development do
279
+ # Don't handle exceptions, render the stack trace
280
+ handle_exceptions false
281
+ end
282
+
283
+ ##
284
+ # TEST
285
+ #
286
+ configure :test do
287
+ # Don't handle exceptions, render the stack trace
288
+ handle_exceptions false
289
+ end
290
+
291
+ ##
292
+ # PRODUCTION
293
+ #
294
+ configure :production do
295
+ # scheme 'https'
296
+ # host 'example.org'
297
+ # port 443
298
+
299
+ assets do
300
+ # Don't compile static assets in production mode (eg. Sass, ES6)
301
+ #
302
+ # See: http://www.rubydoc.info/gems/hanami-assets#Configuration
303
+ compile false
304
+
305
+ # Use fingerprint file name for asset paths
306
+ #
307
+ # See: https://guides.hanamirb.org/assets/overview
308
+ fingerprint true
309
+
310
+ # Content Delivery Network (CDN)
311
+ #
312
+ # See: https://guides.hanamirb.org/assets/content-delivery-network
313
+ #
314
+ # scheme 'https'
315
+ # host 'cdn.example.org'
316
+ # port 443
317
+
318
+ # Subresource Integrity
319
+ #
320
+ # See: https://guides.hanamirb.org/assets/content-delivery-network/#subresource-integrity
321
+ subresource_integrity :sha256
322
+ end
323
+ end
324
+ end
325
+ end