Class: NitroRails::NitroOptionsHelper::NitroOptions

Inherits:
Object
  • Object
show all
Defined in:
app/helpers/nitro_rails/nitro_options_helper.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*options) ⇒ NitroOptions

Returns a new instance of NitroOptions.



31
32
33
# File 'app/helpers/nitro_rails/nitro_options_helper.rb', line 31

def initialize(*options)
  @options = merge(*options)
end

Instance Attribute Details

#optionsObject (readonly)

Returns the value of attribute options.



29
30
31
# File 'app/helpers/nitro_rails/nitro_options_helper.rb', line 29

def options
  @options
end

Instance Method Details

#[](key) ⇒ Object



59
60
61
# File 'app/helpers/nitro_rails/nitro_options_helper.rb', line 59

def [](key)
  @options[key]
end

#concat(*key_path, value) ⇒ Object



47
48
49
# File 'app/helpers/nitro_rails/nitro_options_helper.rb', line 47

def concat(*key_path, value)
  modify_options(*key_path) { |memo, key| memo[key] = [memo[key], value].compact.join(" ") }
end

#default(*key_path, value) ⇒ Object



39
40
41
# File 'app/helpers/nitro_rails/nitro_options_helper.rb', line 39

def default(*key_path, value)
  modify_options(*key_path) { |memo, key| memo[key] = memo[key].nil? ? value : memo[key] }
end

#delete(*key_path) ⇒ Object



63
64
65
# File 'app/helpers/nitro_rails/nitro_options_helper.rb', line 63

def delete(*key_path)
  modify_options(*key_path) { |memo, key| memo.delete(key) }
end

#exists?(*key_path) ⇒ Boolean

Returns:

  • (Boolean)


55
56
57
# File 'app/helpers/nitro_rails/nitro_options_helper.rb', line 55

def exists?(*key_path)
  key_path.reduce(@options) { |memo, key| memo[key] }.present?
end

#merge(*options) ⇒ Object



35
36
37
# File 'app/helpers/nitro_rails/nitro_options_helper.rb', line 35

def merge(*options)
  options.first
end

#override(*key_path, value) ⇒ Object



43
44
45
# File 'app/helpers/nitro_rails/nitro_options_helper.rb', line 43

def override(*key_path, value)
  modify_options(*key_path) { |memo, key| memo[key] = value }
end

#translate(*key_path) {|delete(*key_path)| ... } ⇒ Object

Yields:



51
52
53
# File 'app/helpers/nitro_rails/nitro_options_helper.rb', line 51

def translate(*key_path) 
  yield delete(*key_path) if exists?(*key_path)
end