Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class User
- attr_reader :hashed_pass
- def initalize
- @hashed_pass = ""
- end
- def change_profile_pic(other_pic)
- @profile_pic = other_pic
- end
- end
- class Authorization
- def initialize(value)
- @value = value
- end
- def authorize(credentials = nil)
- # @value[:allowed] = credentials.valid?
- @value[:allowed] = true
- self
- end
- def self.unit(value)
- new({allowed: false, value: value})
- end
- def map
- yield @value[:value] if @value[:allowed]
- self
- end
- end
- user = User.new
- auth_user = Authorization.unit(user)
- auth_user.map {|user| user.change_profile_pic("dickpiclol.jpg")}
- # #<Authorization:0x00000002da4cb8 @value={:allowed=>false, :value=>#<User:0x00000002dfec18>}>
- credentials = {user: user, hashed_pass: user.hashed_pass}
- auth_user.authorize(credentials).map {|user| user.change_profile_pic "yosemite.jpg" }
- # #<Authorization:0x00000002da4cb8 @value={:allowed=>true, :value=>#<User:0x00000002dfec18 @profile_pic="yosemite.jpg">}>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement