Module: RealPush::API::Base::ClassMethods

Defined in:
lib/realpush/api/base.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#paramsObject (readonly)

Returns the value of attribute params.



124
125
126
# File 'lib/realpush/api/base.rb', line 124

def params
  @params
end

#params_acceptObject (readonly)

Returns the value of attribute params_accept.



124
125
126
# File 'lib/realpush/api/base.rb', line 124

def params_accept
  @params_accept
end

Instance Method Details

#accept_params(*args) ⇒ Object



126
127
128
129
130
131
# File 'lib/realpush/api/base.rb', line 126

def accept_params(*args)
  @params_accept ||= []
  args.each do |field|
    @params_accept << field
  end
end

#configure(params = {}) ⇒ Object

Raises:



133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# File 'lib/realpush/api/base.rb', line 133

def configure(params={})
  @params = {
      base_path: nil,
      modules: [
          :list,
          :create,
          :update,
          :destroy
      ]
  }.deep_merge(params.symbolize_keys)
  raise ConfigurationError, 'Invalid parameters, you need a "base_path"' unless params[:base_path]
  @params[:modules].each do |a|
    a = a.to_s.downcase
    send(:include, Object.const_get("RealPush::API::Base#{a[0].upcase}#{a[1..-1]}"))
  end
end