module Trailblazer::Activity::State::Config
Compile-time
DISCUSS: we could replace parts with Hamster::Hash.
Public Instance Methods
get(state, *args)
click to toggle source
# File lib/trailblazer/activity/config.rb, line 26 def get(state, *args) directive, key = *args return state[directive] if args.size == 1 return state[directive][key] if state.key?(directive) nil end
set(state, *args)
click to toggle source
# File lib/trailblazer/activity/config.rb, line 9 def set(state, *args) if args.size == 2 key, value = *args state = state.merge(key => value) else directive, key, value = *args state = state.merge( directive => {}.freeze ) unless state.key?(directive) directive_hash = state[directive].merge(key => value) state = state.merge( directive => directive_hash.freeze ) end state end