hellobase-formtastic 0.1.0 → 0.2.0

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: 17f40d559f349df5e85efb5b5498851bed3223a4758e302fb38532c7307b862f
4
- data.tar.gz: 94535d5ea41c3f828de0b8dd119b0faf09c12459fd9fe3f4a56f32bb2437b725
3
+ metadata.gz: 9a6709435108ea76c05c1a914d7de6130d8b2fa24d86df30332ec4c485e92a1e
4
+ data.tar.gz: 9d85ba91be22e249e95810d78ba805cd7caf84de03e64bc1fff6d47d8375e4ca
5
5
  SHA512:
6
- metadata.gz: b7afe70befc28d9bec5a43ef3b4eb1f98ebe831f20a8b3448f7d56a2254d9f5c0d8e2fb4842a03bada14bcf72576619363e372661703c4290b68068b43550d8f
7
- data.tar.gz: 27ff84df284ee222b63cfdfc7d0b4827daa2d373cd5537a4881e714035b527f6d3f80fc2634563801a3b4405acb8edb78534552ad797674e085e7c0fba3e2664
6
+ metadata.gz: 0db3da06a01a65b1a8a91ba4e628b3fbd9fa5925bf4cd01d37fba417a0f52059407314c50af31b59ca6e90b49412ac6b5d9580396bfe2a75ba2aa7552971ead2
7
+ data.tar.gz: de834bfc586a0300774efd8f2ed1f394fb983b8b06ae8ebb195a208e16a5484b8d2507120e624e298abdf116aea4531ec39761c9b196a18bc80965b12b26b10a
@@ -0,0 +1,45 @@
1
+ require 'active_admin/inputs'
2
+
3
+ module Hellobase
4
+ module Formtastic
5
+ module Inputs
6
+ class ArrayTextInput < ::Formtastic::Inputs::TextInput
7
+ def self.virtual_attributes(base)
8
+ [:"_stra_#{base}_text"]
9
+ end
10
+
11
+ def self.define_virtual_attributes(klass, base)
12
+ vattr = virtual_attributes(base).first
13
+ ivar = :"@#{vattr}"
14
+ method = :"_stra_set_#{base}"
15
+
16
+ klass.class_eval do
17
+ define_method vattr do
18
+ send(base)&.join("\n")
19
+ end
20
+
21
+ define_method :"#{vattr}=" do |val|
22
+ instance_variable_set ivar, val
23
+ send(method)
24
+
25
+ val
26
+ end
27
+
28
+ define_method method do
29
+ send :"#{base}=", instance_variable_get(ivar)&.split(/[\r\n]+/)
30
+ end
31
+
32
+ private method
33
+ end
34
+ end
35
+
36
+ def to_html
37
+ input_wrapping do
38
+ label_html <<
39
+ builder.text_area(:"_stra_#{method}_text", input_html_options)
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -1,3 +1,4 @@
1
+ require 'hellobase/formtastic/inputs/array_text_input'
1
2
  require 'hellobase/formtastic/inputs/content_input'
2
3
  require 'hellobase/formtastic/inputs/datepicker_with_time_input'
3
4
  require 'hellobase/formtastic/inputs/inline_checkbox_input'
@@ -9,7 +10,3 @@ module Hellobase
9
10
  end
10
11
  end
11
12
  end
12
-
13
- ::Hellobase::Formtastic::Inputs.constants.each do |c|
14
- Object.const_set c, ::Hellobase::Formtastic::Inputs.const_get(c)
15
- end
@@ -1,5 +1,5 @@
1
1
  module Hellobase
2
2
  module Formtastic
3
- VERSION = '0.1.0'
3
+ VERSION = '0.2.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hellobase-formtastic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anthony Wang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-10 00:00:00.000000000 Z
11
+ date: 2023-08-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activeadmin
@@ -133,6 +133,7 @@ files:
133
133
  - lib/hellobase.rb
134
134
  - lib/hellobase/formtastic.rb
135
135
  - lib/hellobase/formtastic/inputs.rb
136
+ - lib/hellobase/formtastic/inputs/array_text_input.rb
136
137
  - lib/hellobase/formtastic/inputs/content_input.rb
137
138
  - lib/hellobase/formtastic/inputs/datepicker_with_time_input.rb
138
139
  - lib/hellobase/formtastic/inputs/inline_checkbox_input.rb