materialize-form 1.0.1

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: cdaf2105045472d1045a4ec988cd4722df95dc3e
4
+ data.tar.gz: bad3b60d4a033e73f253f46df2bc2db305df3d9c
5
+ SHA512:
6
+ metadata.gz: 0371fe4fa05f1216f0e02ab31982ac3240b638bd50c4da3685ad12b3f3f3c7d270e5fd719f921279f863186bba4a75973381a3bae5c8218d5465995ca79e528e
7
+ data.tar.gz: dcd7eb1c75b89f01d394e790ab0f2e3eb631691f1adaf43dfca6849dc696547261a7b7b45c9bbf60a7f8954060888888d59aaa1d3c13457fc4d4dcfb2aba3ed5
data/.gitignore ADDED
@@ -0,0 +1,9 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ sudo: false
2
+ language: ruby
3
+ rvm:
4
+ - 2.2.3
5
+ before_install: gem install bundler -v 1.12.3
@@ -0,0 +1,49 @@
1
+ # Contributor Code of Conduct
2
+
3
+ As contributors and maintainers of this project, and in the interest of
4
+ fostering an open and welcoming community, we pledge to respect all people who
5
+ contribute through reporting issues, posting feature requests, updating
6
+ documentation, submitting pull requests or patches, and other activities.
7
+
8
+ We are committed to making participation in this project a harassment-free
9
+ experience for everyone, regardless of level of experience, gender, gender
10
+ identity and expression, sexual orientation, disability, personal appearance,
11
+ body size, race, ethnicity, age, religion, or nationality.
12
+
13
+ Examples of unacceptable behavior by participants include:
14
+
15
+ * The use of sexualized language or imagery
16
+ * Personal attacks
17
+ * Trolling or insulting/derogatory comments
18
+ * Public or private harassment
19
+ * Publishing other's private information, such as physical or electronic
20
+ addresses, without explicit permission
21
+ * Other unethical or unprofessional conduct
22
+
23
+ Project maintainers have the right and responsibility to remove, edit, or
24
+ reject comments, commits, code, wiki edits, issues, and other contributions
25
+ that are not aligned to this Code of Conduct, or to ban temporarily or
26
+ permanently any contributor for other behaviors that they deem inappropriate,
27
+ threatening, offensive, or harmful.
28
+
29
+ By adopting this Code of Conduct, project maintainers commit themselves to
30
+ fairly and consistently applying these principles to every aspect of managing
31
+ this project. Project maintainers who do not follow or enforce the Code of
32
+ Conduct may be permanently removed from the project team.
33
+
34
+ This code of conduct applies both within project spaces and in public spaces
35
+ when an individual is representing the project or its community.
36
+
37
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
38
+ reported by contacting a project maintainer at fwzjames@gmail.com. All
39
+ complaints will be reviewed and investigated and will result in a response that
40
+ is deemed necessary and appropriate to the circumstances. Maintainers are
41
+ obligated to maintain confidentiality with regard to the reporter of an
42
+ incident.
43
+
44
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
45
+ version 1.3.0, available at
46
+ [http://contributor-covenant.org/version/1/3/0/][version]
47
+
48
+ [homepage]: http://contributor-covenant.org
49
+ [version]: http://contributor-covenant.org/version/1/3/0/
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in materialize-form.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,138 @@
1
+ # Materialize::Form
2
+
3
+ This is a generator gem for [SimpleForm](https://github.com/plataformatec/simple_form) to make it works with [MaterializeCSS](http://materializecss.com/).
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem 'simple_form', "~> 3.2.1"
11
+ gem 'materialize-sass', "~> 0.97.6"
12
+ gem 'materialize-form'
13
+ ```
14
+
15
+ And then run the bundler and restart your server to make the files available through the pipeline:
16
+ ```console
17
+ $ bundle install
18
+ ```
19
+
20
+ Run the generator:
21
+ ```console
22
+ $ rails generate simple_form:materialize:install
23
+ ```
24
+
25
+ Import Materialize Form javascript in `app/assets/javascripts/application.js`:
26
+
27
+ ```js
28
+ //= require jquery
29
+ //= require materialize-sprockets
30
+ //= require materialize-form
31
+
32
+ $(document).ready(function() {
33
+ window.materializeForm.init()
34
+ });
35
+ ```
36
+
37
+ Import Materialize styles in `app/assets/stylesheets/application.scss`:
38
+
39
+ ```scss
40
+ @import "materialize";
41
+ ```
42
+
43
+ **NOTE:** If you have just generated a new Rails application, it may come with a `.css` file instead. If this file exists, it will be served instead of Sass, so remove it.
44
+
45
+ ```console
46
+ $ rm app/assets/stylesheets/application.css
47
+ ```
48
+
49
+ ## Usage
50
+ ### Assume you are using SLIM
51
+
52
+ To start using Materialize Form you just have to use the helper it provides:
53
+
54
+ ```slim
55
+ = simple_form_for @user do |f|
56
+ .row
57
+ = f.input :name, wrapper_html: { class: 'm6 s12' }
58
+
59
+ = f.button :submit
60
+ ```
61
+
62
+ #### Selectbox
63
+
64
+ ```slim
65
+ = f.input :gender, include_blank: 'Select your gender', wrapper_html: { class: 'm6 s12' }
66
+ ```
67
+
68
+ #### File Input
69
+
70
+ File input will be generated automatically if the type of the field is attachment.
71
+
72
+ ```slim
73
+ = f.input :avatar, wrapper_html: { class: 'm6 s12' }
74
+ ```
75
+
76
+ #### Date Input
77
+
78
+ Date picker will be generated automatically if the type of the field is date.
79
+
80
+ ```slim
81
+ = f.input :dob, wrapper_html: { class: 'm6 s12' }
82
+ ```
83
+
84
+ #### Checkboxes
85
+ ```slim
86
+ = f.input :hobbies, as: :check_boxes, wrapper_html: { class: 'm6 s12' }
87
+ ```
88
+
89
+ #### Multi-Selectbox
90
+ ```slim
91
+ = f.input :hobbies, include_blank: 'What are your hobbies?', wrapper_html: { class: 'm6 s12' }
92
+ ```
93
+
94
+ #### Toggle Boolean
95
+ ```slim
96
+ = f.input :featured, wrapper_html: { class: 'm6 s12' }
97
+ ```
98
+
99
+ #### Boolean
100
+ ```slim
101
+ = f.input :featured, wrapper: :materialize_boolean, wrapper_html: { class: 'm6 s12 ' }
102
+ ```
103
+
104
+ #### Radio Buttons
105
+ ```slim
106
+ = f.input :featured, as: :radio_buttons, wrapper_html: { class: 'm6 s12' }
107
+ ```
108
+
109
+ ## Working with [Nested Form](https://github.com/ryanb/nested_form)
110
+
111
+ In `app/assets/javascripts/application.js`:
112
+
113
+ ```js
114
+ $(document).on('nested:fieldAdded', function(event){
115
+ window.materializeForm.init()
116
+ })
117
+ ```
118
+
119
+ # Example:
120
+ ```slim
121
+ = simple_nested_form_for @category do |category_form|
122
+ .row
123
+ = category_form.input :title, wrapper_html: { class: 'm6 s12' }
124
+ = category_form.input :picture, wrapper_html: { class: 'm6 s12' }
125
+
126
+ #articles.row
127
+ = category_form.simple_fields_for :articles do |article_form|
128
+ .col.s12.m6
129
+ .row
130
+ = article_form.input :title, wrapper_html: { class: 'm6 s12'' }
131
+ = article_form.input :picture, wrapper_html: { class: 'm6 s12'' }
132
+ .row
133
+ = article_form.input :content, wrapper_html: { class: 's12' }
134
+
135
+ .right-align
136
+ = category_form.link_to_add "Add an article", :articles, class: 'btn', data: {target: "#articles"}
137
+ = category_form.button :submit
138
+ ```
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -0,0 +1,20 @@
1
+ window.materializeForm = {
2
+ init: function() {
3
+ this.initSelect()
4
+ this.initCheckbox()
5
+ this.initDate()
6
+ },
7
+ initSelect: function() {
8
+ $('select[multiple="multiple"] option[value=""]').attr('disabled', true)
9
+ $('select').material_select()
10
+ },
11
+ initCheckbox: function() {
12
+ $('input[type=checkbox]').addClass('filled-in')
13
+ },
14
+ initDate: function() {
15
+ $('input.date').pickadate({
16
+ selectMonths: true,
17
+ selectYears: 100
18
+ });
19
+ }
20
+ }
@@ -0,0 +1,6 @@
1
+ class DateTimeInput < SimpleForm::Inputs::Base
2
+ def input(wrapper_options)
3
+ input_html_options[:class] << "form-control"
4
+ @builder.text_field(attribute_name, input_html_options)
5
+ end
6
+ end
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "materialize/form"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,21 @@
1
+ module SimpleForm
2
+ module Components
3
+ # Needs to be enabled in order to do automatic lookups
4
+ module Tags
5
+ # Name of the component method
6
+ def tag(wrapper_options = nil)
7
+ merged_input_options = merge_wrapper_options(input_html_options, wrapper_options)
8
+
9
+ text = merged_input_options[:text] == :label_text ? label_text : merged_input_options[:text]
10
+ content_tag(merged_input_options[:tag], text, merged_input_options)
11
+ end
12
+
13
+ # Used when the number is optional
14
+ def has_tag?
15
+ tag.present?
16
+ end
17
+ end
18
+ end
19
+ end
20
+
21
+ SimpleForm::Inputs::Base.send(:include, SimpleForm::Components::Tags)
@@ -0,0 +1,6 @@
1
+ Description:
2
+ Generates initialiser file for SimpleForm to configure with Materialize-Sass gem.
3
+ Also generates a module to be included to SimpleForm::Inputs::Base so that Materialize Character Count feature works
4
+
5
+ Example:
6
+ rails generate simple_form:materialize:install
@@ -0,0 +1,14 @@
1
+ module SimpleForm
2
+ module Materialize
3
+ module Generators
4
+ class InstallGenerator < Rails::Generators::Base
5
+ source_root File.expand_path('../templates', __FILE__)
6
+ desc "Creates an initializer file at config/initializers/materialize-form. Which is used to configure SimpleForm to be used in conjunction with MaterializeSass. Also adds a length component which is used for Character Count feature."
7
+
8
+ def create_initializer_file
9
+ template "config/initializers/simple_form_materialize.rb"
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,108 @@
1
+ # Use this setup block to configure all options available in SimpleForm.
2
+ SimpleForm.setup do |config|
3
+ config.error_notification_class = 'alert alert-danger'
4
+ config.button_class = 'btn'
5
+ config.boolean_label_class = nil
6
+ config.boolean_style = :inline
7
+ config.item_wrapper_tag = :p
8
+
9
+ config.wrappers :materialize_form, tag: 'div', class: 'input-field col', error_class: 'has-error' do |b|
10
+ b.use :html5
11
+ b.use :placeholder
12
+ b.optional :maxlength
13
+ b.optional :pattern
14
+ b.optional :min_max
15
+ b.optional :readonly
16
+ b.use :input
17
+ b.use :label
18
+ b.use :error, wrap_with: { tag: 'small', class: 'error-block red-text text-darken-1' }
19
+ b.use :hint, wrap_with: { tag: 'span', class: 'help-block' }
20
+ end
21
+
22
+ config.wrappers :materialize_text, tag: 'div', class: 'input-field col', error_class: 'has-error' do |b|
23
+ b.use :html5
24
+ b.use :placeholder
25
+ b.optional :maxlength
26
+ b.optional :pattern
27
+ b.optional :min_max
28
+ b.optional :readonly
29
+ b.use :input, class: 'materialize-textarea'
30
+ b.use :label
31
+ b.use :error, wrap_with: { tag: 'small', class: 'error-block red-text text-darken-1' }
32
+ b.use :hint, wrap_with: { tag: 'span', class: 'help-block' }
33
+ end
34
+
35
+ config.wrappers :materialize_boolean, tag: 'p', class: 'col', error_class: 'has-error' do |b|
36
+ b.use :html5
37
+ b.optional :readonly
38
+
39
+ b.use :input
40
+ b.use :label
41
+ b.use :error, wrap_with: { tag: 'small', class: 'error-block red-text text-darken-1' }
42
+ b.use :hint, wrap_with: { tag: 'span', class: 'help-block' }
43
+ end
44
+
45
+ config.wrappers :materialize_toggle, tag: 'p', class: 'col switch', error_class: 'has-error' do |b|
46
+ b.use :html5
47
+ b.optional :readonly
48
+
49
+ b.use :label
50
+ b.wrapper tag: 'label' do |ba|
51
+ ba.use :input
52
+ ba.use :tag, tag: 'span', class: 'lever'
53
+ end
54
+
55
+ b.use :error, wrap_with: { tag: 'small', class: 'error-block red-text text-darken-1' }
56
+ b.use :hint, wrap_with: { tag: 'span', class: 'help-block' }
57
+ end
58
+
59
+ config.wrappers :materialize_radio_and_checkboxes, tag: 'div', class: 'col', error_class: 'has-error' do |b|
60
+ b.use :html5
61
+ b.optional :readonly
62
+ b.use :label
63
+ b.use :input
64
+ b.use :error, wrap_with: { tag: 'small', class: 'error-block red-text text-darken-1' }
65
+ b.use :hint, wrap_with: { tag: 'span', class: 'help-block' }
66
+ end
67
+
68
+ config.wrappers :materialize_file_input, tag: 'div', class: 'file-field input-field col', error_class: 'has-error' do |b|
69
+ b.use :html5
70
+
71
+ b.wrapper tag: :div, class: 'btn' do |ba|
72
+ ba.use :tag, tag: :span, text: :label_text
73
+ ba.use :input
74
+ end
75
+
76
+ b.wrapper tag: :div, class: 'file-path-wrapper' do |ba|
77
+ ba.use :tag, tag: :input, class: 'file-path validate', type: 'text', placeholder: 'Browse...'
78
+ end
79
+
80
+ b.use :error, wrap_with: { tag: 'small', class: 'error-block red-text text-darken-1' }
81
+ b.use :hint, wrap_with: { tag: 'span', class: 'help-block' }
82
+ end
83
+
84
+ config.wrappers :materialize_multiple_file_input, tag: 'div', class: 'file-field input-field col', error_class: 'has-error' do |b|
85
+ b.use :html5
86
+
87
+ b.wrapper tag: :div, class: 'btn' do |ba|
88
+ ba.use :tag, tag: :span, text: :label_text
89
+ ba.use :input, multiple: true
90
+ end
91
+
92
+ b.wrapper tag: :div, class: 'file-path-wrapper' do |ba|
93
+ ba.use :tag, tag: :input, class: 'file-path validate', type: 'text', placeholder: 'Upload one or more files'
94
+ end
95
+
96
+ b.use :error, wrap_with: { tag: 'small', class: 'error-block red-text text-darken-1' }
97
+ b.use :hint, wrap_with: { tag: 'span', class: 'help-block' }
98
+ end
99
+
100
+ config.default_wrapper = :materialize_form
101
+ config.wrapper_mappings = {
102
+ text: :materialize_text,
103
+ check_boxes: :materialize_radio_and_checkboxes,
104
+ radio_buttons: :materialize_radio_and_checkboxes,
105
+ file: :materialize_file_input,
106
+ boolean: :materialize_toggle
107
+ }
108
+ end
@@ -0,0 +1,73 @@
1
+ require "materialize/form/version"
2
+
3
+ module Materialize
4
+ module Form
5
+ # give credit to bootstrap-sass
6
+ class << self
7
+
8
+ def load!
9
+ #register_compass_extension if compass?
10
+ if rails?
11
+ register_rails_engine
12
+ elsif sprockets?
13
+ register_sprockets
14
+ end
15
+ configure_sass
16
+ end
17
+
18
+ # Paths
19
+ def gem_path
20
+ @gem_path ||= File.expand_path '..', File.dirname(__FILE__)
21
+ end
22
+
23
+ def stylesheets_path
24
+ File.join assets_path, 'stylesheets'
25
+ end
26
+
27
+ def fonts_path
28
+ File.join assets_path, 'fonts'
29
+ end
30
+
31
+ def javascripts_path
32
+ File.join assets_path, 'javascripts'
33
+ end
34
+
35
+ def assets_path
36
+ @assets_path ||= File.join gem_path, 'app/assets'
37
+ end
38
+
39
+ # Environment detection helpers
40
+ def sprockets?
41
+ defined?(::Sprockets)
42
+ end
43
+
44
+ #def compass?
45
+ # defined?(::Compass)
46
+ #end
47
+
48
+ def rails?
49
+ defined?(::Rails)
50
+ end
51
+
52
+ private
53
+
54
+ def configure_sass
55
+ require 'sass'
56
+ ::Sass.load_paths << stylesheets_path
57
+ end
58
+
59
+ def register_rails_engine
60
+ require 'materialize/form/engine'
61
+ end
62
+
63
+ def register_sprockets
64
+ Sprockets.append_path(stylesheets_path)
65
+ Sprockets.append_path(fonts_path)
66
+ Sprockets.append_path(javascripts_path)
67
+ end
68
+
69
+ end
70
+ end
71
+ end
72
+
73
+ Materialize::Form.load!
@@ -0,0 +1,11 @@
1
+ module Materialize
2
+ module Form
3
+ class Engine < ::Rails::Engine
4
+ initializer 'materialize-form.assets.precompile' do |app|
5
+ %w(stylesheets javascripts fonts images).each do |sub|
6
+ app.config.assets.paths << root.join('app/assets', sub).to_s
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,5 @@
1
+ module Materialize
2
+ module Form
3
+ VERSION = "1.0.1"
4
+ end
5
+ end
Binary file
@@ -0,0 +1,24 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'materialize/form/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "materialize-form"
8
+ spec.version = Materialize::Form::VERSION
9
+ spec.authors = ["James La"]
10
+ spec.email = ["jamesla0604@gmail.com"]
11
+
12
+ spec.summary = "Materialize + SimpleForm."
13
+ spec.description = "This gem includes a generator for SimpleForm configuration with Materialize. It also includes custom inputs for materialize."
14
+ spec.homepage = "http://materialize-form.herokuapp.com/users/new"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
+ spec.bindir = "exe"
18
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.12"
22
+ spec.add_development_dependency "rake", "~> 10.0"
23
+ spec.add_development_dependency "rspec", "~> 3.0"
24
+ end
metadata ADDED
@@ -0,0 +1,106 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: materialize-form
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.1
5
+ platform: ruby
6
+ authors:
7
+ - James La
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-05-27 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.12'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.12'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ description: This gem includes a generator for SimpleForm configuration with Materialize.
56
+ It also includes custom inputs for materialize.
57
+ email:
58
+ - jamesla0604@gmail.com
59
+ executables: []
60
+ extensions: []
61
+ extra_rdoc_files: []
62
+ files:
63
+ - ".gitignore"
64
+ - ".rspec"
65
+ - ".travis.yml"
66
+ - CODE_OF_CONDUCT.md
67
+ - Gemfile
68
+ - README.md
69
+ - Rakefile
70
+ - app/assets/javascripts/materialize-form.js
71
+ - app/inputs/date_time_input.rb
72
+ - bin/console
73
+ - bin/setup
74
+ - config/initializers/simple_form/tags_component.rb
75
+ - lib/generators/simple_form/materialize/USAGE
76
+ - lib/generators/simple_form/materialize/install_generator.rb
77
+ - lib/generators/simple_form/materialize/templates/config/initializers/simple_form_materialize.rb
78
+ - lib/materialize/form.rb
79
+ - lib/materialize/form/engine.rb
80
+ - lib/materialize/form/version.rb
81
+ - materialize-form-1.0.0.gem
82
+ - materialize-form.gemspec
83
+ homepage: http://materialize-form.herokuapp.com/users/new
84
+ licenses: []
85
+ metadata: {}
86
+ post_install_message:
87
+ rdoc_options: []
88
+ require_paths:
89
+ - lib
90
+ required_ruby_version: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ required_rubygems_version: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ requirements: []
101
+ rubyforge_project:
102
+ rubygems_version: 2.6.4
103
+ signing_key:
104
+ specification_version: 4
105
+ summary: Materialize + SimpleForm.
106
+ test_files: []