attachinary-dox 1.3.1.pre → 1.3.1.pre2
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 +4 -4
- data/CHANGELOG.md +71 -0
- data/lib/attachinary/version.rb +1 -1
- data/spec/dummy/Gemfile +20 -0
- data/spec/dummy/Gemfile.lock +267 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/active_record/note.rb +12 -0
- data/spec/dummy/app/assets/config/manifest.js +2 -0
- data/spec/dummy/app/assets/javascripts/application.js +28 -0
- data/spec/dummy/app/assets/stylesheets/application.css +21 -0
- data/spec/dummy/app/controllers/application_controller.rb +3 -0
- data/spec/dummy/app/controllers/notes_controller.rb +56 -0
- data/spec/dummy/app/views/layouts/application.html.erb +15 -0
- data/spec/dummy/app/views/notes/_form_builder.html.erb +28 -0
- data/spec/dummy/app/views/notes/_form_nojs.html.erb +17 -0
- data/spec/dummy/app/views/notes/_form_raw.html.erb +28 -0
- data/spec/dummy/app/views/notes/_form_simple_form.html.erb +17 -0
- data/spec/dummy/app/views/notes/_note.html.erb +15 -0
- data/spec/dummy/app/views/notes/edit.html.erb +1 -0
- data/spec/dummy/app/views/notes/index.html.erb +12 -0
- data/spec/dummy/app/views/notes/new.html.erb +1 -0
- data/spec/dummy/config/application.rb +62 -0
- data/spec/dummy/config/boot.rb +4 -0
- data/spec/dummy/config/cloudinary.yml.example +15 -0
- data/spec/dummy/config/database.yml +25 -0
- data/spec/dummy/config/environment.rb +5 -0
- data/spec/dummy/config/environments/development.rb +33 -0
- data/spec/dummy/config/environments/production.rb +63 -0
- data/spec/dummy/config/environments/test.rb +37 -0
- data/spec/dummy/config/initializers/attachinary.rb +1 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/inflections.rb +15 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +8 -0
- data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy/config/locales/en.yml +5 -0
- data/spec/dummy/config/routes.rb +5 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/db/migrate/20120608091037_create_tables.rb +17 -0
- data/spec/dummy/db/migrate/20120608104143_create_notes.rb +9 -0
- data/spec/dummy/db/schema.rb +35 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/dummy/spec/rails_helper.rb +48 -0
- data/spec/dummy/spec/spec_helper.rb +92 -0
- data/spec/dummy/vendor/assets/javascripts/jquery.fileupload.js +1604 -0
- data/spec/dummy/vendor/assets/javascripts/jquery.iframe-transport.js +227 -0
- data/spec/dummy/vendor/assets/javascripts/jquery.ui.widget.js +528 -0
- data/spec/factories.rb +17 -0
- data/spec/features/notes_spec.rb +97 -0
- data/spec/models/attachinary/file_spec.rb +44 -0
- data/spec/models/note_spec.rb +176 -0
- data/spec/spec_helper.rb +78 -0
- data/spec/support/A.gif +0 -0
- data/spec/support/A.txt +1 -0
- data/spec/support/B.gif +0 -0
- data/spec/support/C.gif +0 -0
- data/spec/support/request_helpers.rb +16 -0
- data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/bigdecimal-3.1.9/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/bigdecimal-3.1.9/mkmf.log +3 -3
- data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/cgi-0.4.2/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/date-3.4.1/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/erb-4.0.4/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/io-console-0.8.0/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/json-2.12.0/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/mini_racer-0.18.1/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/nio4r-2.7.4/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/psych-5.2.6/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/puma-6.4.2/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/racc-1.8.1/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/stringio-3.1.7/gem_make.out +5 -5
- data/vendor/bundle/ruby/3.3.0/extensions/x86_64-linux/3.3.0/websocket-driver-0.7.7/gem_make.out +5 -5
- metadata +114 -160
- data/lib/tasks/ci.rake +0 -16
- data/vendor/cache/actioncable-7.2.2.1.gem +0 -0
- data/vendor/cache/actionmailbox-7.2.2.1.gem +0 -0
- data/vendor/cache/actionmailer-7.2.2.1.gem +0 -0
- data/vendor/cache/actionpack-7.2.2.1.gem +0 -0
- data/vendor/cache/actiontext-7.2.2.1.gem +0 -0
- data/vendor/cache/actionview-7.2.2.1.gem +0 -0
- data/vendor/cache/activejob-7.2.2.1.gem +0 -0
- data/vendor/cache/activemodel-7.2.2.1.gem +0 -0
- data/vendor/cache/activerecord-7.2.2.1.gem +0 -0
- data/vendor/cache/activestorage-7.2.2.1.gem +0 -0
- data/vendor/cache/activesupport-7.2.2.1.gem +0 -0
- data/vendor/cache/addressable-2.8.7.gem +0 -0
- data/vendor/cache/base64-0.2.0.gem +0 -0
- data/vendor/cache/benchmark-0.4.0.gem +0 -0
- data/vendor/cache/bigdecimal-3.1.9.gem +0 -0
- data/vendor/cache/builder-3.3.0.gem +0 -0
- data/vendor/cache/capybara-3.40.0.gem +0 -0
- data/vendor/cache/capybara-screenshot-1.0.26.gem +0 -0
- data/vendor/cache/cgi-0.4.2.gem +0 -0
- data/vendor/cache/childprocess-5.1.0.gem +0 -0
- data/vendor/cache/cloudinary-2.3.0.gem +0 -0
- data/vendor/cache/coderay-1.1.3.gem +0 -0
- data/vendor/cache/coffee-rails-5.0.0.gem +0 -0
- data/vendor/cache/coffee-script-2.4.1.gem +0 -0
- data/vendor/cache/coffee-script-source-1.12.2.gem +0 -0
- data/vendor/cache/concurrent-ruby-1.3.5.gem +0 -0
- data/vendor/cache/connection_pool-2.5.3.gem +0 -0
- data/vendor/cache/crass-1.0.6.gem +0 -0
- data/vendor/cache/database_cleaner-2.1.0.gem +0 -0
- data/vendor/cache/database_cleaner-active_record-2.2.1.gem +0 -0
- data/vendor/cache/database_cleaner-core-2.0.1.gem +0 -0
- data/vendor/cache/date-3.4.1.gem +0 -0
- data/vendor/cache/diff-lcs-1.6.2.gem +0 -0
- data/vendor/cache/dotenv-3.1.2.gem +0 -0
- data/vendor/cache/drb-2.2.3.gem +0 -0
- data/vendor/cache/erb-4.0.4.gem +0 -0
- data/vendor/cache/erubi-1.13.1.gem +0 -0
- data/vendor/cache/execjs-2.10.0.gem +0 -0
- data/vendor/cache/factory_bot-6.5.1.gem +0 -0
- data/vendor/cache/factory_bot_rails-6.4.4.gem +0 -0
- data/vendor/cache/faraday-2.13.1.gem +0 -0
- data/vendor/cache/faraday-follow_redirects-0.3.0.gem +0 -0
- data/vendor/cache/faraday-multipart-1.1.0.gem +0 -0
- data/vendor/cache/faraday-net_http-3.4.0.gem +0 -0
- data/vendor/cache/ffi-1.17.2-aarch64-linux-gnu.gem +0 -0
- data/vendor/cache/ffi-1.17.2-aarch64-linux-musl.gem +0 -0
- data/vendor/cache/ffi-1.17.2-arm-linux-gnu.gem +0 -0
- data/vendor/cache/ffi-1.17.2-arm-linux-musl.gem +0 -0
- data/vendor/cache/ffi-1.17.2-arm64-darwin.gem +0 -0
- data/vendor/cache/ffi-1.17.2-x86_64-darwin.gem +0 -0
- data/vendor/cache/ffi-1.17.2-x86_64-linux-gnu.gem +0 -0
- data/vendor/cache/ffi-1.17.2-x86_64-linux-musl.gem +0 -0
- data/vendor/cache/formatador-1.1.0.gem +0 -0
- data/vendor/cache/globalid-1.2.1.gem +0 -0
- data/vendor/cache/guard-2.19.1.gem +0 -0
- data/vendor/cache/guard-compat-1.2.1.gem +0 -0
- data/vendor/cache/guard-rspec-4.7.3.gem +0 -0
- data/vendor/cache/i18n-1.14.7.gem +0 -0
- data/vendor/cache/io-console-0.8.0.gem +0 -0
- data/vendor/cache/irb-1.15.2.gem +0 -0
- data/vendor/cache/jquery-rails-4.6.0.gem +0 -0
- data/vendor/cache/json-2.12.0.gem +0 -0
- data/vendor/cache/launchy-3.1.1.gem +0 -0
- data/vendor/cache/libv8-node-23.6.1.0-aarch64-linux.gem +0 -0
- data/vendor/cache/libv8-node-23.6.1.0-arm64-darwin.gem +0 -0
- data/vendor/cache/libv8-node-23.6.1.0-x86_64-darwin.gem +0 -0
- data/vendor/cache/libv8-node-23.6.1.0-x86_64-linux-musl.gem +0 -0
- data/vendor/cache/libv8-node-23.6.1.0-x86_64-linux.gem +0 -0
- data/vendor/cache/libv8-node-23.6.1.0.gem +0 -0
- data/vendor/cache/listen-3.0.8.gem +0 -0
- data/vendor/cache/logger-1.7.0.gem +0 -0
- data/vendor/cache/loofah-2.24.1.gem +0 -0
- data/vendor/cache/lumberjack-1.2.10.gem +0 -0
- data/vendor/cache/mail-2.8.1.gem +0 -0
- data/vendor/cache/marcel-1.0.4.gem +0 -0
- data/vendor/cache/matrix-0.4.2.gem +0 -0
- data/vendor/cache/method_source-1.1.0.gem +0 -0
- data/vendor/cache/mime-types-3.7.0.gem +0 -0
- data/vendor/cache/mime-types-data-3.2025.0520.gem +0 -0
- data/vendor/cache/mini_mime-1.1.5.gem +0 -0
- data/vendor/cache/mini_racer-0.18.1.gem +0 -0
- data/vendor/cache/minitest-5.25.5.gem +0 -0
- data/vendor/cache/multipart-post-2.4.1.gem +0 -0
- data/vendor/cache/nenv-0.3.0.gem +0 -0
- data/vendor/cache/net-http-0.6.0.gem +0 -0
- data/vendor/cache/net-imap-0.5.8.gem +0 -0
- data/vendor/cache/net-pop-0.1.2.gem +0 -0
- data/vendor/cache/net-protocol-0.2.2.gem +0 -0
- data/vendor/cache/net-smtp-0.5.1.gem +0 -0
- data/vendor/cache/nio4r-2.7.4.gem +0 -0
- data/vendor/cache/nokogiri-1.18.8-aarch64-linux-gnu.gem +0 -0
- data/vendor/cache/nokogiri-1.18.8-aarch64-linux-musl.gem +0 -0
- data/vendor/cache/nokogiri-1.18.8-arm-linux-gnu.gem +0 -0
- data/vendor/cache/nokogiri-1.18.8-arm-linux-musl.gem +0 -0
- data/vendor/cache/nokogiri-1.18.8-arm64-darwin.gem +0 -0
- data/vendor/cache/nokogiri-1.18.8-x86_64-darwin.gem +0 -0
- data/vendor/cache/nokogiri-1.18.8-x86_64-linux-gnu.gem +0 -0
- data/vendor/cache/nokogiri-1.18.8-x86_64-linux-musl.gem +0 -0
- data/vendor/cache/notiffany-0.1.3.gem +0 -0
- data/vendor/cache/ostruct-0.6.1.gem +0 -0
- data/vendor/cache/pp-0.6.2.gem +0 -0
- data/vendor/cache/prettyprint-0.2.0.gem +0 -0
- data/vendor/cache/pry-0.15.2.gem +0 -0
- data/vendor/cache/psych-5.2.6.gem +0 -0
- data/vendor/cache/public_suffix-6.0.2.gem +0 -0
- data/vendor/cache/puma-6.4.2.gem +0 -0
- data/vendor/cache/racc-1.8.1.gem +0 -0
- data/vendor/cache/rack-3.1.15.gem +0 -0
- data/vendor/cache/rack-session-2.1.1.gem +0 -0
- data/vendor/cache/rack-test-2.2.0.gem +0 -0
- data/vendor/cache/rackup-2.2.1.gem +0 -0
- data/vendor/cache/rails-7.2.2.1.gem +0 -0
- data/vendor/cache/rails-dom-testing-2.3.0.gem +0 -0
- data/vendor/cache/rails-html-sanitizer-1.6.2.gem +0 -0
- data/vendor/cache/railties-7.2.2.1.gem +0 -0
- data/vendor/cache/rake-13.2.1.gem +0 -0
- data/vendor/cache/rb-fsevent-0.9.8.gem +0 -0
- data/vendor/cache/rb-inotify-0.11.1.gem +0 -0
- data/vendor/cache/rdoc-6.14.0.gem +0 -0
- data/vendor/cache/regexp_parser-2.10.0.gem +0 -0
- data/vendor/cache/reline-0.6.1.gem +0 -0
- data/vendor/cache/rexml-3.4.1.gem +0 -0
- data/vendor/cache/rspec-3.13.0.gem +0 -0
- data/vendor/cache/rspec-core-3.13.3.gem +0 -0
- data/vendor/cache/rspec-expectations-3.13.4.gem +0 -0
- data/vendor/cache/rspec-mocks-3.13.4.gem +0 -0
- data/vendor/cache/rspec-rails-8.0.0.gem +0 -0
- data/vendor/cache/rspec-support-3.13.3.gem +0 -0
- data/vendor/cache/rspec_junit_formatter-0.6.0.gem +0 -0
- data/vendor/cache/rubyzip-2.4.1.gem +0 -0
- data/vendor/cache/securerandom-0.4.1.gem +0 -0
- data/vendor/cache/selenium-webdriver-4.32.0.gem +0 -0
- data/vendor/cache/shellany-0.0.1.gem +0 -0
- data/vendor/cache/simple_form-5.3.1.gem +0 -0
- data/vendor/cache/sprockets-4.2.1.gem +0 -0
- data/vendor/cache/sprockets-rails-3.5.2.gem +0 -0
- data/vendor/cache/sqlite3-2.6.0-aarch64-linux-gnu.gem +0 -0
- data/vendor/cache/sqlite3-2.6.0-aarch64-linux-musl.gem +0 -0
- data/vendor/cache/sqlite3-2.6.0-arm-linux-gnu.gem +0 -0
- data/vendor/cache/sqlite3-2.6.0-arm-linux-musl.gem +0 -0
- data/vendor/cache/sqlite3-2.6.0-arm64-darwin.gem +0 -0
- data/vendor/cache/sqlite3-2.6.0-x86_64-darwin.gem +0 -0
- data/vendor/cache/sqlite3-2.6.0-x86_64-linux-gnu.gem +0 -0
- data/vendor/cache/sqlite3-2.6.0-x86_64-linux-musl.gem +0 -0
- data/vendor/cache/stringio-3.1.7.gem +0 -0
- data/vendor/cache/thor-1.3.2.gem +0 -0
- data/vendor/cache/timeout-0.4.3.gem +0 -0
- data/vendor/cache/tzinfo-2.0.6.gem +0 -0
- data/vendor/cache/uri-1.0.3.gem +0 -0
- data/vendor/cache/useragent-0.16.11.gem +0 -0
- data/vendor/cache/valid_attribute-2.0.0.gem +0 -0
- data/vendor/cache/websocket-1.2.11.gem +0 -0
- data/vendor/cache/websocket-driver-0.7.7.gem +0 -0
- data/vendor/cache/websocket-extensions-0.1.5.gem +0 -0
- data/vendor/cache/xpath-3.2.0.gem +0 -0
- data/vendor/cache/zeitwerk-2.6.18.gem +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f54ce15256a61e2a4d2610aaf5c92ceb6bd9e144d53969df65d649f5324514d0
|
4
|
+
data.tar.gz: a80d793d2fbf026953803810d9e1537f4fbcced932b2bc018be5799f0a9ec6d2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0adfbb927168f099ad17f7bb521c1a5ae3788d750f424869fe6f5cdf1d19ec96cb06fff1327b0a984fc88a29f752d4fcab221e14914299b2d04d83ec848be9dd
|
7
|
+
data.tar.gz: 3a06d3f515e812dc0a97bc64064a3f74cd47d6859e0d4f0da3163f8b72123d0e5c93a3e45f522ec8bca7cde910375eb47eea8c06c8d9ba7d7d9df0c73c4f76bd
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,71 @@
|
|
1
|
+
= Version 1.3.1.pre2
|
2
|
+
* Remove support for Mongoid. Now only supports active_record.
|
3
|
+
* Remove $.attachinary.Templating - use another templating system or just use javascript.
|
4
|
+
See: https://github.com/doximity/attachinary/pull/66/files
|
5
|
+
|
6
|
+
= Version 1.3.0
|
7
|
+
* Added support for Rails 4 (thanks @rochers)
|
8
|
+
* Use resource type when building cloudinary urls
|
9
|
+
* Make deletion of remote resources configurable
|
10
|
+
* Add some optional convenience configurations to attachinary.js
|
11
|
+
|
12
|
+
= Version 1.2.7 (wip)
|
13
|
+
* Implemented raw file type handling (roomthirteen)
|
14
|
+
|
15
|
+
= Version 1.2.6
|
16
|
+
* Added "attachinary:fileadded" and "attachinary:fileremoved" js events
|
17
|
+
|
18
|
+
= Version 1.2.5
|
19
|
+
* BUG FIX: Default jQuery plugin options mutation
|
20
|
+
|
21
|
+
= Version 1.2.4
|
22
|
+
* Ability to specify custom dropzone via config (drewmca)
|
23
|
+
* BUG FIX: Bad browsers (IE) can put '[null]' into the attachinary hash (Yan Pritzker)
|
24
|
+
* BUG FIX: Ensuring tags are unique (Yan Pritzker)
|
25
|
+
|
26
|
+
= Version 1.2.3
|
27
|
+
* Fixed bug with multiple submit buttons in one form (Benjamin Seibert)
|
28
|
+
* IE content-type fix (Yan Pritzker)
|
29
|
+
|
30
|
+
= Version 1.2.2
|
31
|
+
* Ability to cleanup unused files:
|
32
|
+
files are automatically tagged with `attachinary_tmp` during upload, and
|
33
|
+
untagged when saved in local database.
|
34
|
+
|
35
|
+
= Version 1.2.1
|
36
|
+
* bugfix: already uploaded image gets deleted from cloudinary when updating model [#29]
|
37
|
+
|
38
|
+
= Version 1.2.0
|
39
|
+
* Drag and drop support (on supported browsers)
|
40
|
+
* Selecting multiple files (on supported browsers)
|
41
|
+
* Upload progress indicator (prepended on submit button)
|
42
|
+
* Rake task for fetching assets (`rake attachinary:fetch_fileupload`)
|
43
|
+
* Ability to assing image urls (e.g. `user.avatar_url = 'http://..'`)
|
44
|
+
* Ability to assign IO objects (e.g. `user.avatar = File.open(...)`)
|
45
|
+
* No-JS support
|
46
|
+
|
47
|
+
= Version 1.1.0
|
48
|
+
* BUG FIX: disabling submit key (thanks @drewmca)
|
49
|
+
* BUG FIX: models attachments are now removed from cloudinary
|
50
|
+
after model is destoyed [mongoid]
|
51
|
+
* ability to use form builder (`f.attachinary_file_field :avatar`)
|
52
|
+
* BUG FIX: proper field names and ids are generated [simple_form]
|
53
|
+
|
54
|
+
= Version 1.0.1
|
55
|
+
* bug fix release
|
56
|
+
|
57
|
+
= Version 1.0.0
|
58
|
+
* Support for Mongoid added. You need to specify which ORM you want
|
59
|
+
to use by explicitly requiring it.
|
60
|
+
* No backward compatibility.
|
61
|
+
* Changed database schema (from N-N to 1-N). Assoc preloading made easier.
|
62
|
+
|
63
|
+
= Version 0.0.8
|
64
|
+
* no explicit require of cloudinary assets
|
65
|
+
|
66
|
+
= Version 0.0.7
|
67
|
+
* BUG FIX: removing single attachment
|
68
|
+
|
69
|
+
= Version 0.0.6
|
70
|
+
* attachment lazy loading
|
71
|
+
* removed copies of cloudinary javascript files
|
data/lib/attachinary/version.rb
CHANGED
data/spec/dummy/Gemfile
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
|
4
|
+
gem 'rails', '~> 7.2'
|
5
|
+
# Use sqlite3 as the database for Active Record
|
6
|
+
gem 'sqlite3'
|
7
|
+
# Use CoffeeScript for .coffee assets and views
|
8
|
+
gem 'coffee-rails', require: false
|
9
|
+
# Use jquery as the JavaScript library
|
10
|
+
gem 'jquery-rails'
|
11
|
+
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
|
12
|
+
gem 'jbuilder'
|
13
|
+
|
14
|
+
gem 'sprockets-rails'
|
15
|
+
|
16
|
+
gem 'mini_racer'
|
17
|
+
|
18
|
+
gem 'cloudinary'
|
19
|
+
gem 'attachinary-dox', :path => '../..'
|
20
|
+
gem 'simple_form'
|
@@ -0,0 +1,267 @@
|
|
1
|
+
PATH
|
2
|
+
remote: ../..
|
3
|
+
specs:
|
4
|
+
attachinary-dox (1.3.1)
|
5
|
+
cloudinary (>= 1.1, < 3.0)
|
6
|
+
coffee-script
|
7
|
+
mime-types
|
8
|
+
rails (>= 7.0)
|
9
|
+
|
10
|
+
GEM
|
11
|
+
remote: https://rubygems.org/
|
12
|
+
specs:
|
13
|
+
actioncable (7.2.2.1)
|
14
|
+
actionpack (= 7.2.2.1)
|
15
|
+
activesupport (= 7.2.2.1)
|
16
|
+
nio4r (~> 2.0)
|
17
|
+
websocket-driver (>= 0.6.1)
|
18
|
+
zeitwerk (~> 2.6)
|
19
|
+
actionmailbox (7.2.2.1)
|
20
|
+
actionpack (= 7.2.2.1)
|
21
|
+
activejob (= 7.2.2.1)
|
22
|
+
activerecord (= 7.2.2.1)
|
23
|
+
activestorage (= 7.2.2.1)
|
24
|
+
activesupport (= 7.2.2.1)
|
25
|
+
mail (>= 2.8.0)
|
26
|
+
actionmailer (7.2.2.1)
|
27
|
+
actionpack (= 7.2.2.1)
|
28
|
+
actionview (= 7.2.2.1)
|
29
|
+
activejob (= 7.2.2.1)
|
30
|
+
activesupport (= 7.2.2.1)
|
31
|
+
mail (>= 2.8.0)
|
32
|
+
rails-dom-testing (~> 2.2)
|
33
|
+
actionpack (7.2.2.1)
|
34
|
+
actionview (= 7.2.2.1)
|
35
|
+
activesupport (= 7.2.2.1)
|
36
|
+
nokogiri (>= 1.8.5)
|
37
|
+
racc
|
38
|
+
rack (>= 2.2.4, < 3.2)
|
39
|
+
rack-session (>= 1.0.1)
|
40
|
+
rack-test (>= 0.6.3)
|
41
|
+
rails-dom-testing (~> 2.2)
|
42
|
+
rails-html-sanitizer (~> 1.6)
|
43
|
+
useragent (~> 0.16)
|
44
|
+
actiontext (7.2.2.1)
|
45
|
+
actionpack (= 7.2.2.1)
|
46
|
+
activerecord (= 7.2.2.1)
|
47
|
+
activestorage (= 7.2.2.1)
|
48
|
+
activesupport (= 7.2.2.1)
|
49
|
+
globalid (>= 0.6.0)
|
50
|
+
nokogiri (>= 1.8.5)
|
51
|
+
actionview (7.2.2.1)
|
52
|
+
activesupport (= 7.2.2.1)
|
53
|
+
builder (~> 3.1)
|
54
|
+
erubi (~> 1.11)
|
55
|
+
rails-dom-testing (~> 2.2)
|
56
|
+
rails-html-sanitizer (~> 1.6)
|
57
|
+
activejob (7.2.2.1)
|
58
|
+
activesupport (= 7.2.2.1)
|
59
|
+
globalid (>= 0.3.6)
|
60
|
+
activemodel (7.2.2.1)
|
61
|
+
activesupport (= 7.2.2.1)
|
62
|
+
activerecord (7.2.2.1)
|
63
|
+
activemodel (= 7.2.2.1)
|
64
|
+
activesupport (= 7.2.2.1)
|
65
|
+
timeout (>= 0.4.0)
|
66
|
+
activestorage (7.2.2.1)
|
67
|
+
actionpack (= 7.2.2.1)
|
68
|
+
activejob (= 7.2.2.1)
|
69
|
+
activerecord (= 7.2.2.1)
|
70
|
+
activesupport (= 7.2.2.1)
|
71
|
+
marcel (~> 1.0)
|
72
|
+
activesupport (7.2.2.1)
|
73
|
+
base64
|
74
|
+
benchmark (>= 0.3)
|
75
|
+
bigdecimal
|
76
|
+
concurrent-ruby (~> 1.0, >= 1.3.1)
|
77
|
+
connection_pool (>= 2.2.5)
|
78
|
+
drb
|
79
|
+
i18n (>= 1.6, < 2)
|
80
|
+
logger (>= 1.4.2)
|
81
|
+
minitest (>= 5.1)
|
82
|
+
securerandom (>= 0.3)
|
83
|
+
tzinfo (~> 2.0, >= 2.0.5)
|
84
|
+
base64 (0.2.0)
|
85
|
+
benchmark (0.4.0)
|
86
|
+
bigdecimal (3.1.9)
|
87
|
+
builder (3.3.0)
|
88
|
+
cgi (0.4.2)
|
89
|
+
cloudinary (2.3.0)
|
90
|
+
faraday (>= 2.0.1, < 3.0.0)
|
91
|
+
faraday-follow_redirects (~> 0.3.0)
|
92
|
+
faraday-multipart (~> 1.0, >= 1.0.4)
|
93
|
+
ostruct
|
94
|
+
coffee-rails (5.0.0)
|
95
|
+
coffee-script (>= 2.2.0)
|
96
|
+
railties (>= 5.2.0)
|
97
|
+
coffee-script (2.4.1)
|
98
|
+
coffee-script-source
|
99
|
+
execjs
|
100
|
+
coffee-script-source (1.12.2)
|
101
|
+
concurrent-ruby (1.3.5)
|
102
|
+
connection_pool (2.5.3)
|
103
|
+
crass (1.0.6)
|
104
|
+
date (3.4.1)
|
105
|
+
drb (2.2.3)
|
106
|
+
erb (4.0.4)
|
107
|
+
cgi (>= 0.3.3)
|
108
|
+
erubi (1.13.1)
|
109
|
+
execjs (2.10.0)
|
110
|
+
faraday (2.13.1)
|
111
|
+
faraday-net_http (>= 2.0, < 3.5)
|
112
|
+
json
|
113
|
+
logger
|
114
|
+
faraday-follow_redirects (0.3.0)
|
115
|
+
faraday (>= 1, < 3)
|
116
|
+
faraday-multipart (1.1.0)
|
117
|
+
multipart-post (~> 2.0)
|
118
|
+
faraday-net_http (3.4.0)
|
119
|
+
net-http (>= 0.5.0)
|
120
|
+
globalid (1.2.1)
|
121
|
+
activesupport (>= 6.1)
|
122
|
+
i18n (1.14.7)
|
123
|
+
concurrent-ruby (~> 1.0)
|
124
|
+
io-console (0.8.0)
|
125
|
+
irb (1.15.2)
|
126
|
+
pp (>= 0.6.0)
|
127
|
+
rdoc (>= 4.0.0)
|
128
|
+
reline (>= 0.4.2)
|
129
|
+
jbuilder (2.13.0)
|
130
|
+
actionview (>= 5.0.0)
|
131
|
+
activesupport (>= 5.0.0)
|
132
|
+
jquery-rails (4.6.0)
|
133
|
+
rails-dom-testing (>= 1, < 3)
|
134
|
+
railties (>= 4.2.0)
|
135
|
+
thor (>= 0.14, < 2.0)
|
136
|
+
json (2.12.0)
|
137
|
+
libv8-node (23.6.1.0)
|
138
|
+
logger (1.7.0)
|
139
|
+
loofah (2.24.1)
|
140
|
+
crass (~> 1.0.2)
|
141
|
+
nokogiri (>= 1.12.0)
|
142
|
+
mail (2.8.1)
|
143
|
+
mini_mime (>= 0.1.1)
|
144
|
+
net-imap
|
145
|
+
net-pop
|
146
|
+
net-smtp
|
147
|
+
marcel (1.0.4)
|
148
|
+
mime-types (3.7.0)
|
149
|
+
logger
|
150
|
+
mime-types-data (~> 3.2025, >= 3.2025.0507)
|
151
|
+
mime-types-data (3.2025.0520)
|
152
|
+
mini_mime (1.1.5)
|
153
|
+
mini_portile2 (2.8.9)
|
154
|
+
mini_racer (0.18.1)
|
155
|
+
libv8-node (~> 23.6.1.0)
|
156
|
+
minitest (5.25.5)
|
157
|
+
multipart-post (2.4.1)
|
158
|
+
net-http (0.6.0)
|
159
|
+
uri
|
160
|
+
net-imap (0.5.8)
|
161
|
+
date
|
162
|
+
net-protocol
|
163
|
+
net-pop (0.1.2)
|
164
|
+
net-protocol
|
165
|
+
net-protocol (0.2.2)
|
166
|
+
timeout
|
167
|
+
net-smtp (0.5.1)
|
168
|
+
net-protocol
|
169
|
+
nio4r (2.7.4)
|
170
|
+
nokogiri (1.18.8)
|
171
|
+
mini_portile2 (~> 2.8.2)
|
172
|
+
racc (~> 1.4)
|
173
|
+
ostruct (0.6.1)
|
174
|
+
pp (0.6.2)
|
175
|
+
prettyprint
|
176
|
+
prettyprint (0.2.0)
|
177
|
+
psych (5.2.6)
|
178
|
+
date
|
179
|
+
stringio
|
180
|
+
racc (1.8.1)
|
181
|
+
rack (3.1.15)
|
182
|
+
rack-session (2.1.1)
|
183
|
+
base64 (>= 0.1.0)
|
184
|
+
rack (>= 3.0.0)
|
185
|
+
rack-test (2.2.0)
|
186
|
+
rack (>= 1.3)
|
187
|
+
rackup (2.2.1)
|
188
|
+
rack (>= 3)
|
189
|
+
rails (7.2.2.1)
|
190
|
+
actioncable (= 7.2.2.1)
|
191
|
+
actionmailbox (= 7.2.2.1)
|
192
|
+
actionmailer (= 7.2.2.1)
|
193
|
+
actionpack (= 7.2.2.1)
|
194
|
+
actiontext (= 7.2.2.1)
|
195
|
+
actionview (= 7.2.2.1)
|
196
|
+
activejob (= 7.2.2.1)
|
197
|
+
activemodel (= 7.2.2.1)
|
198
|
+
activerecord (= 7.2.2.1)
|
199
|
+
activestorage (= 7.2.2.1)
|
200
|
+
activesupport (= 7.2.2.1)
|
201
|
+
bundler (>= 1.15.0)
|
202
|
+
railties (= 7.2.2.1)
|
203
|
+
rails-dom-testing (2.3.0)
|
204
|
+
activesupport (>= 5.0.0)
|
205
|
+
minitest
|
206
|
+
nokogiri (>= 1.6)
|
207
|
+
rails-html-sanitizer (1.6.2)
|
208
|
+
loofah (~> 2.21)
|
209
|
+
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
|
210
|
+
railties (7.2.2.1)
|
211
|
+
actionpack (= 7.2.2.1)
|
212
|
+
activesupport (= 7.2.2.1)
|
213
|
+
irb (~> 1.13)
|
214
|
+
rackup (>= 1.0.0)
|
215
|
+
rake (>= 12.2)
|
216
|
+
thor (~> 1.0, >= 1.2.2)
|
217
|
+
zeitwerk (~> 2.6)
|
218
|
+
rake (13.2.1)
|
219
|
+
rdoc (6.14.0)
|
220
|
+
erb
|
221
|
+
psych (>= 4.0.0)
|
222
|
+
reline (0.6.1)
|
223
|
+
io-console (~> 0.5)
|
224
|
+
securerandom (0.4.1)
|
225
|
+
simple_form (5.3.1)
|
226
|
+
actionpack (>= 5.2)
|
227
|
+
activemodel (>= 5.2)
|
228
|
+
sprockets (4.2.2)
|
229
|
+
concurrent-ruby (~> 1.0)
|
230
|
+
logger
|
231
|
+
rack (>= 2.2.4, < 4)
|
232
|
+
sprockets-rails (3.5.2)
|
233
|
+
actionpack (>= 6.1)
|
234
|
+
activesupport (>= 6.1)
|
235
|
+
sprockets (>= 3.0.0)
|
236
|
+
sqlite3 (2.6.0)
|
237
|
+
mini_portile2 (~> 2.8.0)
|
238
|
+
stringio (3.1.7)
|
239
|
+
thor (1.3.2)
|
240
|
+
timeout (0.4.3)
|
241
|
+
tzinfo (2.0.6)
|
242
|
+
concurrent-ruby (~> 1.0)
|
243
|
+
uri (1.0.3)
|
244
|
+
useragent (0.16.11)
|
245
|
+
websocket-driver (0.7.7)
|
246
|
+
base64
|
247
|
+
websocket-extensions (>= 0.1.0)
|
248
|
+
websocket-extensions (0.1.5)
|
249
|
+
zeitwerk (2.6.18)
|
250
|
+
|
251
|
+
PLATFORMS
|
252
|
+
ruby
|
253
|
+
|
254
|
+
DEPENDENCIES
|
255
|
+
attachinary-dox!
|
256
|
+
cloudinary
|
257
|
+
coffee-rails
|
258
|
+
jbuilder
|
259
|
+
jquery-rails
|
260
|
+
mini_racer
|
261
|
+
rails (~> 7.2)
|
262
|
+
simple_form
|
263
|
+
sprockets-rails
|
264
|
+
sqlite3
|
265
|
+
|
266
|
+
BUNDLED WITH
|
267
|
+
2.6.2
|
data/spec/dummy/Rakefile
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
# Add your own tasks in files placed in lib/tasks ending in .rake,
|
3
|
+
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
|
4
|
+
|
5
|
+
require File.expand_path('../config/application', __FILE__)
|
6
|
+
|
7
|
+
Dummy::Application.load_tasks
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class Note < ActiveRecord::Base
|
2
|
+
|
3
|
+
has_attachment :photo, accept: [:jpg, :png, :gif]
|
4
|
+
has_attachments :images, accept: [:jpg, :png, :gif], maximum: 3
|
5
|
+
|
6
|
+
validates :body, presence: true, length: { minimum: 4, maximum: 128 }
|
7
|
+
validates :photo, presence: true
|
8
|
+
|
9
|
+
attr_accessible :body if Rails::VERSION::MAJOR == 3
|
10
|
+
|
11
|
+
|
12
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
2
|
+
// listed below.
|
3
|
+
//
|
4
|
+
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
5
|
+
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
|
6
|
+
//
|
7
|
+
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
8
|
+
// the compiled file.
|
9
|
+
//
|
10
|
+
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
|
11
|
+
// GO AFTER THE REQUIRES BELOW.
|
12
|
+
//
|
13
|
+
//= require jquery
|
14
|
+
//= require jquery_ujs
|
15
|
+
//=
|
16
|
+
//= require jquery.ui.widget
|
17
|
+
//= require jquery.iframe-transport
|
18
|
+
//= require jquery.fileupload
|
19
|
+
//= require cloudinary/jquery.cloudinary
|
20
|
+
//= require attachinary
|
21
|
+
//=
|
22
|
+
//= require_tree .
|
23
|
+
|
24
|
+
jQuery(function() {
|
25
|
+
|
26
|
+
$('.attachinary-input').attachinary();
|
27
|
+
|
28
|
+
})
|
@@ -0,0 +1,21 @@
|
|
1
|
+
/*
|
2
|
+
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
3
|
+
* listed below.
|
4
|
+
*
|
5
|
+
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
6
|
+
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
|
7
|
+
*
|
8
|
+
* You're free to add application-wide styles to this file and they'll appear at the top of the
|
9
|
+
* compiled file, but it's generally better to create a new file per style scope.
|
10
|
+
*
|
11
|
+
*= require_self
|
12
|
+
*= require_tree .
|
13
|
+
*/
|
14
|
+
|
15
|
+
form.uploading {
|
16
|
+
background-color: #ccc;
|
17
|
+
}
|
18
|
+
|
19
|
+
input.uploading {
|
20
|
+
background-color: #999;
|
21
|
+
}
|
@@ -0,0 +1,56 @@
|
|
1
|
+
class NotesController < ApplicationController
|
2
|
+
|
3
|
+
def index
|
4
|
+
if Rails::VERSION::MAJOR == 3
|
5
|
+
@notes = Note.all
|
6
|
+
else
|
7
|
+
@notes = Note.all.to_a
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def new
|
12
|
+
@note = Note.new
|
13
|
+
end
|
14
|
+
|
15
|
+
def create
|
16
|
+
@note = Note.new note_params
|
17
|
+
if @note.save
|
18
|
+
redirect_to notes_url
|
19
|
+
else
|
20
|
+
render 'new'
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def edit
|
25
|
+
@note = Note.find params[:id]
|
26
|
+
end
|
27
|
+
|
28
|
+
def update
|
29
|
+
@note = Note.find params[:id]
|
30
|
+
if @note.update_attributes(note_params)
|
31
|
+
redirect_to notes_url
|
32
|
+
else
|
33
|
+
render 'edit'
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def destroy
|
38
|
+
@note = Note.find params[:id]
|
39
|
+
@note.destroy
|
40
|
+
redirect_to :back
|
41
|
+
end
|
42
|
+
|
43
|
+
private
|
44
|
+
|
45
|
+
def note_params
|
46
|
+
if Rails::VERSION::MAJOR == 3
|
47
|
+
params[:note].slice(:body, :photo)
|
48
|
+
else
|
49
|
+
params.require(:note).permit(
|
50
|
+
:body,
|
51
|
+
:photo,
|
52
|
+
)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Dummy</title>
|
5
|
+
<%= stylesheet_link_tag "application", :media => "all" %>
|
6
|
+
<%= javascript_include_tag "application" %>
|
7
|
+
<%= cloudinary_js_config %>
|
8
|
+
<%= csrf_meta_tags %>
|
9
|
+
</head>
|
10
|
+
<body>
|
11
|
+
|
12
|
+
<%= yield %>
|
13
|
+
|
14
|
+
</body>
|
15
|
+
</html>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<%= form_for note, html: { multipart: true } do |f| %>
|
2
|
+
|
3
|
+
<%= hidden_field_tag 'kind', params[:kind] %>
|
4
|
+
|
5
|
+
<%= f.label 'Body' %>
|
6
|
+
<br />
|
7
|
+
|
8
|
+
<%= f.text_field :body %>
|
9
|
+
<div><%= note.errors[:body].first %></div>
|
10
|
+
<br />
|
11
|
+
|
12
|
+
<div class="photo">
|
13
|
+
<%= f.attachinary_file_field :photo %>
|
14
|
+
<div><%= note.errors[:photo].first %></div>
|
15
|
+
</div>
|
16
|
+
|
17
|
+
<br />
|
18
|
+
|
19
|
+
<div class="images">
|
20
|
+
<%= f.attachinary_file_field :images %>
|
21
|
+
<div><%= note.errors[:image].first %></div>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<br />
|
25
|
+
<br />
|
26
|
+
|
27
|
+
<%= f.submit %>
|
28
|
+
<% end %>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<%= simple_form_for note, html: { novalidate: true, multipart: true } do |f| %>
|
2
|
+
|
3
|
+
<%= hidden_field_tag 'kind', params[:kind] %>
|
4
|
+
|
5
|
+
<%= f.input :body, as: :string %>
|
6
|
+
|
7
|
+
<div class="photo">
|
8
|
+
<%= f.input :photo, as: :file %>
|
9
|
+
</div>
|
10
|
+
|
11
|
+
<div class="images">
|
12
|
+
<%= f.input :images, as: :file, input_html: { multiple: true } %>
|
13
|
+
</div>
|
14
|
+
|
15
|
+
<%= f.submit %>
|
16
|
+
|
17
|
+
<% end %>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<%= form_for note, html: { multipart: true } do |f| %>
|
2
|
+
|
3
|
+
<%= hidden_field_tag 'kind', params[:kind] %>
|
4
|
+
|
5
|
+
<%= f.label 'Body' %>
|
6
|
+
<br />
|
7
|
+
|
8
|
+
<%= f.text_field :body %>
|
9
|
+
<div><%= note.errors[:body].first %></div>
|
10
|
+
<br />
|
11
|
+
|
12
|
+
<div class="photo">
|
13
|
+
<%= attachinary_file_field_tag 'note[photo]', note, :photo %>
|
14
|
+
<div><%= note.errors[:photo].first %></div>
|
15
|
+
</div>
|
16
|
+
|
17
|
+
<br />
|
18
|
+
|
19
|
+
<div class="images">
|
20
|
+
<%= attachinary_file_field_tag 'note[images][]', note, :images %>
|
21
|
+
<div><%= note.errors[:image].first %></div>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<br />
|
25
|
+
<br />
|
26
|
+
|
27
|
+
<%= f.submit %>
|
28
|
+
<% end %>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<%= simple_form_for note, html: { novalidate: true, multipart: true } do |f| %>
|
2
|
+
|
3
|
+
<%= hidden_field_tag 'kind', params[:kind] %>
|
4
|
+
|
5
|
+
<%= f.input :body, as: :string %>
|
6
|
+
|
7
|
+
<div class="photo">
|
8
|
+
<%= f.input :photo, as: :attachinary %>
|
9
|
+
</div>
|
10
|
+
|
11
|
+
<div class="images">
|
12
|
+
<%= f.input :images, as: :attachinary %>
|
13
|
+
</div>
|
14
|
+
|
15
|
+
<%= f.submit %>
|
16
|
+
|
17
|
+
<% end %>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<div style="float:left; width: 150px;">
|
2
|
+
<% if note.photo? %>
|
3
|
+
<%= cl_image_tag note.photo.path,
|
4
|
+
size: '120x120', crop: :fill, html_width: nil, html_height: nil %> <br />
|
5
|
+
|
6
|
+
<% note.images.each do |image| %>
|
7
|
+
<%= cl_image_tag image.path, size: '37x37', crop: :fill, html_width: nil, html_height: nil %>
|
8
|
+
<% end %>
|
9
|
+
<% end %><br />
|
10
|
+
<%= note.body %><br />
|
11
|
+
<%= link_to 'edit (raw)', edit_note_path(note, kind: 'raw') %><br />
|
12
|
+
<%= link_to 'edit (builder)', edit_note_path(note, kind: 'builder') %><br />
|
13
|
+
<%= link_to 'edit (simple form)', edit_note_path(note, kind: 'simple_form') %><br />
|
14
|
+
<%= link_to 'delete', note_path(note), method: :delete %>
|
15
|
+
</div>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render "form_#{params[:kind]}", note: @note %>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<h1>Notes</h1>
|
2
|
+
|
3
|
+
<div style="overflow:auto">
|
4
|
+
<%= render @notes %>
|
5
|
+
</div>
|
6
|
+
|
7
|
+
<br />
|
8
|
+
<br />
|
9
|
+
<%= link_to 'create (raw)', new_note_path(kind: 'raw') %><br />
|
10
|
+
<%= link_to 'create (builder)', new_note_path(kind: 'builder') %><br />
|
11
|
+
<%= link_to 'create (simple form)', new_note_path(kind: 'simple_form') %><br />
|
12
|
+
<%= link_to 'create (no javascript)', new_note_path(kind: 'nojs') %><br />
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= render "form_#{params[:kind]}", note: @note %>
|