Module: SearchObject::Helper

Defined in:
lib/search_object/helper.rb

Class Method Summary collapse

Class Method Details

.camelize(text) ⇒ Object



15
16
17
# File 'lib/search_object/helper.rb', line 15

def camelize(text)
  text.to_s.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
end

.define_module(&block) ⇒ Object



27
28
29
30
31
32
33
# File 'lib/search_object/helper.rb', line 27

def define_module(&block)
  Module.new do
    define_singleton_method :included do |base|
      base.class_eval &block
    end
  end
end

.ensure_included(item, collection) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/search_object/helper.rb', line 19

def ensure_included(item, collection)
  if collection.include? item
    item
  else
    collection.first
  end
end

.select_keys(hash, keys) ⇒ Object



8
9
10
11
12
13
# File 'lib/search_object/helper.rb', line 8

def select_keys(hash, keys)
  keys.inject({}) do |memo, key|
    memo[key] = hash[key] if hash.has_key? key
    memo
  end
end

.stringify_keys(hash) ⇒ Object



4
5
6
# File 'lib/search_object/helper.rb', line 4

def stringify_keys(hash)
  Hash[(hash || {}).map { |k, v| [k.to_s, v]}]
end