microform 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 19443354ba1018a4a31bdc5c84e81cc10111cf6b
4
- data.tar.gz: 9a351fa3f695c776f6523be43d8bde9be9a84141
3
+ metadata.gz: d6a089ad8864553020f3264e0afe9b0341393ee6
4
+ data.tar.gz: f3524fc51e01adb10b93115a10668208639c6254
5
5
  SHA512:
6
- metadata.gz: 5a174169221181dc9a156da20e780332ca27cb58d5f3fedf557c4cd3b90e2a57371d378c6097df7563d60b96bbccf06d9390bd84582aef45b55fb859579dd1b3
7
- data.tar.gz: 6a79247f933f4b012a7b6768d90742597adbf593024937fa8185b5a7960c7aefafbcfa8ac8b3a6c3961140f48b91f54c44ae37640860c1ec26fc8342b2748a0d
6
+ metadata.gz: fc2105a14b7d161ef67893c5a864cc0eedd4e9434d215302afb5e3068f118912f517f2d7b2899a08690dc196818842b599d0ab43f6357d9442e0d9d3ee2487e0
7
+ data.tar.gz: 60f2266c5aeeff4031d177ca2d12db4b92c208ad362812ba7ffabcd0d611addb7e7adaf6bb1aef2235bb5af1111cf6ffc589e47c38ed0a3a678367014f88d0bb
@@ -1,8 +1,9 @@
1
1
  Description:
2
- Explain the generator
2
+ Generates a form with a given name
3
3
 
4
4
  Example:
5
- rails generate form Name
5
+ rails generate microform:form Name
6
6
 
7
7
  This will create:
8
8
  app/forms/#{Name}_form.rb
9
+ test/forms/#{Name}_form_test.rb
@@ -1,6 +1,10 @@
1
1
  class <%= file_name.capitalize %>Form
2
2
  attr_reader :<%= file_name %>
3
3
 
4
+ delegate :persisted?, to: :<%= file_name %>
5
+ delegate :to_model, to: :<%= file_name %>
6
+ delegate :to_param, to: :<%= file_name %>
7
+
4
8
  def initialize(<%= file_name %>)
5
9
  @<%= file_name %> = <%= file_name %>
6
10
  end
@@ -11,14 +15,6 @@ class <%= file_name.capitalize %>Form
11
15
  <%= file_name %>.save
12
16
  end
13
17
 
14
- def persisted?
15
- <%= file_name %>.persisted?
16
- end
17
-
18
- def to_model
19
- <%= file_name %>
20
- end
21
-
22
18
  def method_missing(method, *args)
23
19
  if <%= file_name %>.respond_to?(method, *args)
24
20
  <%= file_name %>.send(method, *args)
@@ -0,0 +1,43 @@
1
+ require "minitest/stub_any_instance"
2
+ require "minitest/mock"
3
+
4
+ module Microform
5
+ module Test
6
+ module IntegrationMethods
7
+ def assert_submits form_kind, stub: nil, &block
8
+ controller = self.class.name.gsub(/Test\z/, "").constantize
9
+ form = form_kind.new OpenStruct.new(foo: :bar)
10
+
11
+ # Mangle the variable names to circumvent any issues with method
12
+ # collisions when the `submit` lambda is instance eval'ed within
13
+ # the controller.
14
+ __microform_form_kind = form_kind
15
+ __microform_test = self
16
+ __microform_stub = stub
17
+
18
+ submit = -> f, *args {
19
+ __microform_test.assert_equal __microform_form_kind, f
20
+
21
+ if __microform_stub
22
+ __microform_stub
23
+ else
24
+ __minitest_any_instance_stub__submit f, *args
25
+ end
26
+ }
27
+
28
+ controller.stub_any_instance :submit, submit do
29
+ yield form
30
+ end
31
+ end
32
+ end
33
+
34
+ class ValidForm
35
+ def initialize(*)
36
+ end
37
+
38
+ def valid?
39
+ true
40
+ end
41
+ end
42
+ end
43
+ end
@@ -1,3 +1,3 @@
1
1
  module Microform
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: microform
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Standard Library
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-15 00:00:00.000000000 Z
11
+ date: 2017-07-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '5.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitest-stub_any_instance
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -78,6 +92,7 @@ files:
78
92
  - lib/generators/microform/form/templates/form.rb
79
93
  - lib/generators/microform/form/templates/form_test.rb
80
94
  - lib/microform.rb
95
+ - lib/microform/test_methods.rb
81
96
  - lib/microform/version.rb
82
97
  homepage: https://github.com/standard-library/microform
83
98
  licenses:
@@ -100,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
115
  version: '0'
101
116
  requirements: []
102
117
  rubyforge_project:
103
- rubygems_version: 2.6.12
118
+ rubygems_version: 2.6.11
104
119
  signing_key:
105
120
  specification_version: 4
106
121
  summary: The smallest possible form object pattern for Rails.