Class: NitroRails::NitroOptionsHelper::NitroOptions
- Inherits:
-
Object
- Object
- NitroRails::NitroOptionsHelper::NitroOptions
- Defined in:
- app/helpers/nitro_rails/nitro_options_helper.rb
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Instance Method Summary collapse
- #[](key) ⇒ Object
- #concat(*key_path, value) ⇒ Object
- #default(*key_path, value) ⇒ Object
- #delete(*key_path) ⇒ Object
- #exists?(*key_path) ⇒ Boolean
-
#initialize(*options) ⇒ NitroOptions
constructor
A new instance of NitroOptions.
- #merge(*options) ⇒ Object
- #override(*key_path, value) ⇒ Object
- #translate(*key_path) {|delete(*key_path)| ... } ⇒ Object
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 = merge(*) end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
29 30 31 |
# File 'app/helpers/nitro_rails/nitro_options_helper.rb', line 29 def @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) (*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) (*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) (*key_path) { |memo, key| memo.delete(key) } end |
#exists?(*key_path) ⇒ 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(*) .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) (*key_path) { |memo, key| memo[key] = value } end |
#translate(*key_path) {|delete(*key_path)| ... } ⇒ Object
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 |