Skip to content

mediaslave24/rflags

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rflags

Boolean flags with different backends

require 'rflags'

class Flags
  extend RFlags

  flag file_flag: 'tmp/file_flag'

  flag redis_flag: [Redis.current, 'flags:redis_flag']

  flag :variable_flag

  lazy_flag(:a) { Pathname.new('tmp/a') }

  lazy_flag(:b) { [Redis.curent, 'key-1'] }
end

Flags.file_flag       # #<RFlags::FileFlag>
Flags.file_flag.set?  # File.file?('tmp/file_flag')
Flags.file_flag.set   # File.write('tmp/file_flag', '')
Flags.file_flag.reset # File.delete('tmp/file_flag')

Flags.redis_flag        # #<RFlags::RedisFlag>
Flags.redis_flag.set?   # !redis.get('flags:redis_flag').nil?
Flags.redis_flag.set    # redis.set('flags:redis_flag', '')
Flags.redis_flag.reset  # redis.del('flags:redis_flag')

Flags.variable_flag        # #<RFlags::Flag>
Flags.variable_flag.set?   # @state
Flags.variable_flag.set    # @state = true
Flags.variable_flag.reset  # @state = false

About

Boolean flags with different backends

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages