Module: Yify::Support::Utils

Included in:
Client, Models::Base, Response
Defined in:
lib/yify/support/utils.rb

Instance Method Summary collapse

Instance Method Details

#map_class(name) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/yify/support/utils.rb', line 34

def map_class(name)
  case name
  when :recently_downloaded
    :movie
  when :movies
    :movie
  when :request_list
    :movie
  when :upcoming_movies
    :movie
  when :movie_suggestions
    :movie
  else
    name
  end
end

#post_params(params) ⇒ Object



51
52
53
54
# File 'lib/yify/support/utils.rb', line 51

def post_params(params)
  params[:application_key] = @application_key unless @application_key.nil?
  params
end

#symbolize_keys(request) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/yify/support/utils.rb', line 7

def symbolize_keys(request)
  if request.is_a?(Array)
    request.map { |item|  symbolize_keys(item) }
  else
    request.inject({}) do |result, (key, value)|
      new_key = key.class == String ? key.underscore.to_sym : key

      if value.is_a?(Hash)
        new_value = symbolize_keys(value)
      elsif value.is_a?(Array)
        new_value = value.map do |item|
          if item.is_a?(Hash)
            symbolize_keys(item)
          else
            item
          end
        end
      else
        new_value = value
      end

      result[new_key] = new_value
      result
    end
  end
end