much-rails 0.1.1 → 0.1.2

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
  SHA256:
3
- metadata.gz: 0172aa43ad656d16da5f3becf0dc3792488c920453799ab14d69281a6db8799c
4
- data.tar.gz: e7e6d23911c2525703639b38d5f2f8974d048e4c953ddb9b8bd77e37aacbdcdf
3
+ metadata.gz: '08eb433f0b2e7fa04acaa6aec285a57d6c2988dc34067cb0ef401992a02125c4'
4
+ data.tar.gz: dc1a2ddf9997e2aa2577a1100efedb52e4a3d89b2abc5ee6a8150626a5b42129
5
5
  SHA512:
6
- metadata.gz: 897a07060cecba2fab179514b8aa1d116a51bef41477486dc9ca0e10a63e0cfaaf75680a2b99bcad1aa36e7670d5b5e3f678cb97a4f2bf004da0303cf918c9b5
7
- data.tar.gz: ad74dbf2040de64bb85d70c89f5729635cb947ab9d6efb38dfa8249a109097c3416a08e5923dde311edf8c07373cde3e0af7502166d5449c393d973f588e09b2
6
+ metadata.gz: d5178f432b4f6fd2712036e951742301b52565161e4d1387915315ea5a661beaa5b8d11935ae8eb7f761c76430f7afd1ba2243a0178d5fa7f155ac5a0751a934
7
+ data.tar.gz: 7aa259619b17110e7ce6ec81defa760b2ae6494b2e4e1eb6677f9ba003d4ad4312f046ff806680c8bbed11b2af92a09d86640cec904be20627fec52870a2ae3b
@@ -9,6 +9,8 @@ module MuchRails::Action; end
9
9
  # MuchRails::Action::Controller defines the behaviors for controllers processing
10
10
  # MuchRails::Actions.
11
11
  module MuchRails::Action::Controller
12
+ DEFAULT_ACTION_CLASS_FORMAT = :any
13
+
12
14
  include MuchRails::Mixin
13
15
 
14
16
  mixin_included do
@@ -26,7 +28,7 @@ module MuchRails::Action::Controller
26
28
  MuchRails::Action::Router::CONTROLLER_CALL_ACTION_METHOD_NAME,
27
29
  ) do
28
30
  respond_to do |format|
29
- format.public_send(much_rails_action_class.format) do
31
+ format.public_send(much_rails_action_class_format) do
30
32
  result =
31
33
  much_rails_action_class.call(
32
34
  params: much_rails_action_params,
@@ -52,6 +54,10 @@ module MuchRails::Action::Controller
52
54
  "::#{params[MuchRails::Action::Router::ACTION_CLASS_PARAM_NAME]}"
53
55
  end
54
56
 
57
+ def much_rails_action_class_format
58
+ much_rails_action_class.format || DEFAULT_ACTION_CLASS_FORMAT
59
+ end
60
+
55
61
  def much_rails_action_params
56
62
  # If a `params_root` value is specified, pull the params from that key and
57
63
  # merge them into the base params.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MuchRails
4
- VERSION = "0.1.1"
4
+ VERSION = "0.1.2"
5
5
  end
@@ -16,6 +16,10 @@ module MuchRails::Action::Controller
16
16
  should "include MuchRails::Mixin" do
17
17
  assert_that(subject).includes(MuchRails::Mixin)
18
18
  end
19
+
20
+ should "know its constants" do
21
+ assert_that(subject::DEFAULT_ACTION_CLASS_FORMAT).equals(:any)
22
+ end
19
23
  end
20
24
 
21
25
  class ReceiverTests < UnitTests
@@ -51,6 +55,7 @@ module MuchRails::Action::Controller
51
55
  MuchRails::Action::Router::CONTROLLER_NOT_FOUND_METHOD_NAME,
52
56
  )
53
57
  should have_imeths :much_rails_action_class_name
58
+ should have_imeths :much_rails_action_class_format
54
59
  should have_imeths :much_rails_action_params
55
60
  should have_imeths :require_much_rails_action_class
56
61
  should have_imeths :permit_all_much_rails_action_params
@@ -59,6 +64,9 @@ module MuchRails::Action::Controller
59
64
  assert_that(subject.much_rails_action_class_name)
60
65
  .equals("::Actions::Show")
61
66
 
67
+ assert_that(subject.much_rails_action_class_format)
68
+ .equals(unit_module::DEFAULT_ACTION_CLASS_FORMAT)
69
+
62
70
  assert_that(subject.much_rails_action_params)
63
71
  .equals(
64
72
  nested: { value: "VALUE 1" },
@@ -66,6 +74,11 @@ module MuchRails::Action::Controller
66
74
  )
67
75
 
68
76
  assert_that(subject.much_rails_action_class).equals(Actions::Show)
77
+
78
+ Actions::Show.format(:html)
79
+ receiver = receiver_class.new(params1)
80
+ assert_that(receiver.much_rails_action_class_format).equals(:html)
81
+ Actions::Show.format(nil)
69
82
  end
70
83
  end
71
84
 
@@ -94,49 +107,4 @@ module MuchRails::Action::Controller
94
107
  .raises(MuchRails::Action::ActionError)
95
108
  end
96
109
  end
97
-
98
- class FakeController
99
- def self.before_action(method_name)
100
- before_actions << method_name
101
- end
102
-
103
- def self.before_actions
104
- @before_actions ||= []
105
- end
106
-
107
- attr_reader :params, :head_called_with
108
-
109
- def initialize(params)
110
- @params = FakeParams.new(params)
111
- self.class.before_actions.each do |before_action|
112
- public_send(before_action)
113
- end
114
- end
115
-
116
- def head(*args)
117
- @head_called_with = args
118
- self
119
- end
120
- end
121
-
122
- class FakeParams
123
- def initialize(params)
124
- @params = params
125
- end
126
-
127
- def permit!
128
- @permit_called = true
129
- self
130
- end
131
-
132
- def [](key)
133
- @params[key]
134
- end
135
-
136
- def to_h
137
- raise "params haven't been permitted" unless @permit_called
138
-
139
- @params
140
- end
141
- end
142
110
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: much-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kelly Redding
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-01-14 00:00:00.000000000 Z
12
+ date: 2021-01-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: much-style-guide