Module: BlankEmptyNilFilters::HashExtensions

Includes:
FilterMethods
Defined in:
lib/blank_empty_nil_filters.rb

Instance Method Summary collapse

Methods included from FilterMethods

#maybe_apply, #maybe_recurse

Instance Method Details

#blank_value_keys(start = 0, depth = nil, level = 0) ⇒ Object



131
132
133
# File 'lib/blank_empty_nil_filters.rb', line 131

def blank_value_keys(start = 0, depth = nil, level = 0)
  only_blank_values(start, depth, level).keys
end

#empty_value_keys(start = 0, depth = nil, level = 0) ⇒ Object



127
128
129
# File 'lib/blank_empty_nil_filters.rb', line 127

def empty_value_keys(start = 0, depth = nil, level = 0)
  only_empty_values(start, depth, level).keys
end

#is_blank?(start = 0, depth = nil, level = 0) ⇒ Boolean

Returns:

  • (Boolean)


155
156
157
# File 'lib/blank_empty_nil_filters.rb', line 155

def is_blank?(start = 0, depth = nil, level = 0)
  length.zero? || reject_blank_values(start, depth, level).length.zero?
end

#is_empty?(start = 0, depth = nil, level = 0) ⇒ Boolean

Returns:

  • (Boolean)


151
152
153
# File 'lib/blank_empty_nil_filters.rb', line 151

def is_empty?(start = 0, depth = nil, level = 0)
  length.zero? || no_empty_values(start, depth, level).length.zero?
end

#nil_value_keys(start = 0, depth = nil, level = 0) ⇒ Object



135
136
137
# File 'lib/blank_empty_nil_filters.rb', line 135

def nil_value_keys(start = 0, depth = nil, level = 0)
  only_nil_values(start, depth, level).keys
end

#no_blank_values(start = 0, depth = nil, level = 0) ⇒ Object Also known as: reject_blank_values



107
108
109
# File 'lib/blank_empty_nil_filters.rb', line 107

def no_blank_values(start = 0, depth = nil, level = 0)
  reject_values(:is_blank?, start, depth, level)
end

#no_empty_values(start = 0, depth = nil, level = 0) ⇒ Object Also known as: reject_empty_values



97
98
99
# File 'lib/blank_empty_nil_filters.rb', line 97

def no_empty_values(start = 0, depth = nil, level = 0)
  reject_values(:is_empty?, start, depth, level)
end

#no_nil_values(start = 0, depth = nil, level = 0) ⇒ Object Also known as: reject_nil_values



117
118
119
# File 'lib/blank_empty_nil_filters.rb', line 117

def no_nil_values(start = 0, depth = nil, level = 0)
  reject_values(:nil?, start, depth, level)
end

#non_blank_value_keys(start = 0, depth = nil, level = 0) ⇒ Object



143
144
145
# File 'lib/blank_empty_nil_filters.rb', line 143

def non_blank_value_keys(start = 0, depth = nil, level = 0)
  no_blank_values(start, depth, level).keys
end

#non_empty_value_keys(start = 0, depth = nil, level = 0) ⇒ Object



139
140
141
# File 'lib/blank_empty_nil_filters.rb', line 139

def non_empty_value_keys(start = 0, depth = nil, level = 0)
  no_empty_values(start, depth, level).keys
end

#non_nil_value_keys(start = 0, depth = nil, level = 0) ⇒ Object



147
148
149
# File 'lib/blank_empty_nil_filters.rb', line 147

def non_nil_value_keys(start = 0, depth = nil, level = 0)
  no_nil_values(start, depth, level).keys
end

#only_blank_values(start = 0, depth = nil, level = 0) ⇒ Object Also known as: select_blank_values



112
113
114
# File 'lib/blank_empty_nil_filters.rb', line 112

def only_blank_values(start = 0, depth = nil, level = 0)
  select_values(:is_blank?, start, depth, level)
end

#only_empty_values(start = 0, depth = nil, level = 0) ⇒ Object Also known as: select_empty_values



102
103
104
# File 'lib/blank_empty_nil_filters.rb', line 102

def only_empty_values(start = 0, depth = nil, level = 0)
  select_values(:is_empty?, start, depth, level)
end

#only_nil_values(start = 0, depth = nil, level = 0) ⇒ Object Also known as: select_nil_values



122
123
124
# File 'lib/blank_empty_nil_filters.rb', line 122

def only_nil_values(start = 0, depth = nil, level = 0)
  select_values(:nil?, start, depth, level)
end

#reject_values(condition, start = 0, depth = nil, level = 0) ⇒ Object



159
160
161
# File 'lib/blank_empty_nil_filters.rb', line 159

def reject_values(condition, start = 0, depth = nil, level = 0)
  filter_hash_values(:reject_values, :reject, condition, start, depth, level)
end

#select_values(condition, start = 0, depth = nil, level = 0) ⇒ Object



163
164
165
# File 'lib/blank_empty_nil_filters.rb', line 163

def select_values(condition, start = 0, depth = nil, level = 0)
  filter_hash_values(:select_values, :select, condition, start, depth, level)
end