Module: Resque::Helpers
Overview
Methods used by various classes in Resque.
Instance Method Summary collapse
-
#classify(dashed_word) ⇒ Object
Given a word with dashes, returns a camel cased version of it.
-
#constantize(camel_cased_word) ⇒ Object
Given a camel cased word, returns the constant it represents.
-
#decode(object) ⇒ Object
Given a string, returns a Ruby object.
-
#encode(object) ⇒ Object
Given a Ruby object, returns a string suitable for storage in a queue.
-
#redis ⇒ Object
Direct access to the Redis instance.
Instance Method Details
#classify(dashed_word) ⇒ Object
Given a word with dashes, returns a camel cased version of it.
classify(‘job-name’) # => ‘JobName’
39 40 41 |
# File 'lib/resque/helpers.rb', line 39 def classify(dashed_word) dashed_word.split('-').each { |part| part[0] = part[0].chr.upcase }.join end |
#constantize(camel_cased_word) ⇒ Object
Given a camel cased word, returns the constant it represents
constantize(‘JobName’) # => JobName
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/resque/helpers.rb', line 46 def constantize(camel_cased_word) camel_cased_word = camel_cased_word.to_s if camel_cased_word.include?('-') camel_cased_word = classify(camel_cased_word) end names = camel_cased_word.split('::') names.shift if names.empty? || names.first.empty? constant = Object names.each do |name| constant = constant.const_get(name) || constant.const_missing(name) end constant end |
#decode(object) ⇒ Object
Given a string, returns a Ruby object.
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/resque/helpers.rb', line 20 def decode(object) return unless object if defined? Yajl begin Yajl::Parser.parse(object, :check_utf8 => false) rescue Yajl::ParseError end else begin JSON.parse(object) rescue JSON::ParserError end end end |
#encode(object) ⇒ Object
Given a Ruby object, returns a string suitable for storage in a queue.
11 12 13 14 15 16 17 |
# File 'lib/resque/helpers.rb', line 11 def encode(object) if defined? Yajl Yajl::Encoder.encode(object) else object.to_json end end |