microform 0.1.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.
- checksums.yaml +7 -0
- data/lib/generators/microform/form/USAGE +8 -0
- data/lib/generators/microform/form/form_generator.rb +14 -0
- data/lib/generators/microform/form/templates/form.rb +33 -0
- data/lib/generators/microform/form/templates/form_test.rb +11 -0
- data/lib/microform/version.rb +3 -0
- data/lib/microform.rb +12 -0
- metadata +107 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 19443354ba1018a4a31bdc5c84e81cc10111cf6b
|
4
|
+
data.tar.gz: 9a351fa3f695c776f6523be43d8bde9be9a84141
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 5a174169221181dc9a156da20e780332ca27cb58d5f3fedf557c4cd3b90e2a57371d378c6097df7563d60b96bbccf06d9390bd84582aef45b55fb859579dd1b3
|
7
|
+
data.tar.gz: 6a79247f933f4b012a7b6768d90742597adbf593024937fa8185b5a7960c7aefafbcfa8ac8b3a6c3961140f48b91f54c44ae37640860c1ec26fc8342b2748a0d
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require "rails/generators"
|
2
|
+
require "rails/generators/base"
|
3
|
+
|
4
|
+
|
5
|
+
module Microform
|
6
|
+
class FormGenerator < Rails::Generators::NamedBase
|
7
|
+
source_root File.expand_path('../templates', __FILE__)
|
8
|
+
|
9
|
+
def create_form
|
10
|
+
template "form.rb", "app/forms/#{file_name}_form.rb"
|
11
|
+
template "form_test.rb", "test/forms/#{file_name}_form_test.rb"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
class <%= file_name.capitalize %>Form
|
2
|
+
attr_reader :<%= file_name %>
|
3
|
+
|
4
|
+
def initialize(<%= file_name %>)
|
5
|
+
@<%= file_name %> = <%= file_name %>
|
6
|
+
end
|
7
|
+
|
8
|
+
def submit(changeset)
|
9
|
+
<%= file_name %>.assign_attributes(changeset)
|
10
|
+
return false unless valid?
|
11
|
+
<%= file_name %>.save
|
12
|
+
end
|
13
|
+
|
14
|
+
def persisted?
|
15
|
+
<%= file_name %>.persisted?
|
16
|
+
end
|
17
|
+
|
18
|
+
def to_model
|
19
|
+
<%= file_name %>
|
20
|
+
end
|
21
|
+
|
22
|
+
def method_missing(method, *args)
|
23
|
+
if <%= file_name %>.respond_to?(method, *args)
|
24
|
+
<%= file_name %>.send(method, *args)
|
25
|
+
else
|
26
|
+
super
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
def respond_to?(method, *args)
|
31
|
+
<%= file_name %>.respond_to?(method, *args) || super
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require "test_helper"
|
2
|
+
|
3
|
+
class <%= file_name.capitalize %>FormTest < ActiveSupport::TestCase
|
4
|
+
test "should submit form" do
|
5
|
+
<%= file_name %> = <%= file_name.pluralize %>(:one)
|
6
|
+
changeset = {}
|
7
|
+
form = <%= file_name.capitalize %>Form.new(<%= file_name %>)
|
8
|
+
|
9
|
+
assert form.submit(changeset)
|
10
|
+
end
|
11
|
+
end
|
data/lib/microform.rb
ADDED
metadata
ADDED
@@ -0,0 +1,107 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: microform
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Standard Library
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-06-15 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rails
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '5.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '5.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.15'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.15'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '10.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '10.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: minitest
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '5.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '5.0'
|
69
|
+
description: The smallest possible form object pattern for Rails.
|
70
|
+
email:
|
71
|
+
- office@standard-library.com
|
72
|
+
executables: []
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- lib/generators/microform/form/USAGE
|
77
|
+
- lib/generators/microform/form/form_generator.rb
|
78
|
+
- lib/generators/microform/form/templates/form.rb
|
79
|
+
- lib/generators/microform/form/templates/form_test.rb
|
80
|
+
- lib/microform.rb
|
81
|
+
- lib/microform/version.rb
|
82
|
+
homepage: https://github.com/standard-library/microform
|
83
|
+
licenses:
|
84
|
+
- MIT
|
85
|
+
metadata:
|
86
|
+
allowed_push_host: https://rubygems.org
|
87
|
+
post_install_message:
|
88
|
+
rdoc_options: []
|
89
|
+
require_paths:
|
90
|
+
- lib
|
91
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- - ">="
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '0'
|
101
|
+
requirements: []
|
102
|
+
rubyforge_project:
|
103
|
+
rubygems_version: 2.6.12
|
104
|
+
signing_key:
|
105
|
+
specification_version: 4
|
106
|
+
summary: The smallest possible form object pattern for Rails.
|
107
|
+
test_files: []
|