File tree 4 files changed +38
-0
lines changed
4 files changed +38
-0
lines changed Original file line number Diff line number Diff line change 1
1
## Unreleased
2
+ - Add helper module for defining variants
2
3
3
4
## 0.0.7 (2023-12-07)
4
5
- Add support for compound variants ([ #8 ] ( https://github.com/avo-hq/class_variants/pull/8 ) )
Original file line number Diff line number Diff line change 1
1
require "class_variants/version"
2
2
require "class_variants/action_view/helpers"
3
3
require "class_variants/instance"
4
+ require "class_variants/helper"
4
5
require "class_variants/railtie" if defined? ( Rails )
5
6
6
7
module ClassVariants
Original file line number Diff line number Diff line change
1
+ module ClassVariants
2
+ module Helper
3
+ module ClassMethods
4
+ def class_variants ( ...)
5
+ @_class_variants_instance = ClassVariants . build ( ...)
6
+ end
7
+
8
+ def _class_variants_instance
9
+ @_class_variants_instance
10
+ end
11
+ end
12
+
13
+ def self . included ( base )
14
+ base . extend ( ClassMethods )
15
+ end
16
+
17
+ def class_variants ( ...)
18
+ raise "You must configure class_variants in class definition" unless self . class . _class_variants_instance
19
+
20
+ self . class . _class_variants_instance . render ( ...)
21
+ end
22
+ end
23
+ end
Original file line number Diff line number Diff line change
1
+ require "test_helper"
2
+
3
+ class HelperTest < Minitest ::Test
4
+ class DemoClass
5
+ include ClassVariants ::Helper
6
+
7
+ class_variants "rounded border"
8
+ end
9
+
10
+ def test_call_from_instance
11
+ assert_equal "rounded border" , DemoClass . new . class_variants
12
+ end
13
+ end
You can’t perform that action at this time.
0 commit comments