File tree Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Original file line number Diff line number Diff line change 1
1
module DataSpecs
2
2
guard -> { ruby_version_is "3.2" and Data . respond_to? ( :define ) } do
3
3
Measure = Data . define ( :amount , :unit )
4
+
5
+ class DataSubclass < Data ; end
4
6
end
5
7
end
Original file line number Diff line number Diff line change
1
+ require_relative '../../spec_helper'
2
+ require_relative 'fixtures/classes'
3
+
4
+ ruby_version_is "3.2" do
5
+ describe "Data#members" do
6
+ it "returns an array of attribute names" do
7
+ measure = DataSpecs ::Measure . new ( amount : 42 , unit : 'km' )
8
+ measure . members . should == [ :amount , :unit ]
9
+ end
10
+ end
11
+
12
+ describe "DataClass#members" do
13
+ it "returns an array of attribute names" do
14
+ DataSpecs ::Measure . members . should == [ :amount , :unit ]
15
+ end
16
+
17
+ context "class inheriting Data" do
18
+ it "isn't available in a subclass" do
19
+ DataSpecs ::DataSubclass . should_not . respond_to? ( :members )
20
+ end
21
+ end
22
+ end
23
+ end
You can’t perform that action at this time.
0 commit comments