-
-
Save seanredmond/2932605 to your computer and use it in GitHub Desktop.
Simple example of using class variable from a mixin
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module MX | |
@testvar = 'abc' | |
def ModTest | |
'This is ModTest.' | |
end | |
def self.ModVarTest | |
"This is ModVarTest. #{@testvar}" | |
end | |
def self.SetVar(v) | |
@testvar = v | |
end | |
end | |
class A | |
extend MX | |
def self.Test | |
puts 'This is test.' | |
end | |
def self.TestMixin | |
puts self.ModTest | |
end | |
def self.TestMixinVar | |
puts MX.ModVarTest | |
end | |
def self.SetMixinVar(v) | |
MX.SetVar(v) | |
end | |
end | |
class B | |
extend MX | |
def self.AlsoTestMixinVar | |
puts MX.ModVarTest | |
end | |
end | |
A.Test | |
A.TestMixin | |
A.TestMixinVar | |
B.AlsoTestMixinVar | |
A.SetMixinVar('fghj') | |
A.TestMixinVar | |
B.AlsoTestMixinVar | |
MX.SetVar('234') | |
A.TestMixinVar | |
B.AlsoTestMixinVar |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment