module SheepAst::LetRecord
Let
include module
Public Instance Methods
record(pair, datastore, store_id, k_or_v, value = nil, **options)
click to toggle source
# File lib/sheep_ast/action/let_record.rb, line 47 def record(pair, datastore, store_id, k_or_v, value = nil, **options) if value.nil? T.unsafe(self).record_v(pair, datastore, store_id, k_or_v, **options) else T.unsafe(self).record_kv(pair, datastore, store_id, T.cast(k_or_v, Symbol), value, **options) end return T.unsafe(self).ret(**options) end
record_kv_by_id(pair, datastore, store_id, key_id, value_id, **options)
click to toggle source
# File lib/sheep_ast/action/let_record.rb, line 69 def record_kv_by_id(pair, datastore, store_id, key_id, value_id, **options) value = nil if value_id.is_a? Enumerable value = [] value_id.each { |elem| value << pair[elem] } else value = pair[value_id] end # value = data_shaping(value, options) ns = T.unsafe(self).w_or_wo_ns(pair, **options) key = pair[key_id].to_s namespace_sep = T.unsafe(self).namespace_separator(**options) key = "#{ns}#{namespace_sep}#{key}" if options[:namespace_key] value = "#{ns}#{namespace_sep}#{value}" if options[:namespace_value] ldebug? and ldebug "store => '#{store_id}', key_id => '#{key_id}', value_id => '#{value_id}', "\ "pair_data => '#{pair}', key_id => '#{key_id}', value_id => '#{value_id}', "\ "key => '#{key}', value => '#{value}'" datastore.assign(store_id, value, key) end
Also aliased as: record_kv
record_v(pair, datastore, store_id, value_id, **options)
click to toggle source
# File lib/sheep_ast/action/let_record.rb, line 108 def record_v(pair, datastore, store_id, value_id, **options) ns = T.unsafe(self).w_or_wo_ns(pair, **options) value = nil if value_id.is_a? Enumerable value = [] value_id.each { |elem| value << pair[elem] } else value = pair[value_id] end namespace_sep = T.unsafe(self).namespace_separator(**options) value = "#{ns}#{namespace_sep}#{value}" if options[:namespace_value] ldebug? and ldebug "store => '#{store_id}', value_id => '#{value_id}', "\ "pair_data => '#{pair}', value_id => '#{value_id}', "\ "value => '#{value}'" datastore.assign(store_id, value) end