Sha256: 319f5160e0493fc9854e309e42c9ee899b29d995d138caea197eb4bb92fb5427

Contents?: true

Size: 1.13 KB

Versions: 17

Compression:

Stored size: 1.13 KB

Contents

module ChartMogul
  module API
    module Actions
      module Custom
        def self.included(base)
          base.extend ClassMethods
        end

        def custom_without_assign!(http_method, http_path, body_data = {})
          self.class.custom_without_assign!(http_method, http_path, body_data)
        end

        def custom!(http_method, http_path, body_data = {})
          json = custom_without_assign!(http_method, http_path, body_data)
          assign_all_attributes(json)
        end

        module ClassMethods
          def custom_without_assign!(http_method, http_path, body_data = {})
            resp = handling_errors do
              connection.send(http_method, http_path) do |req|
                req.headers['Content-Type'] = 'application/json'
                req.body = JSON.dump(body_data)
              end
            end
            ChartMogul::Utils::JSONParser.parse(resp.body)
          end

          def custom!(http_method, http_path, body_data = {})
            json = custom_without_assign!(http_method, http_path, body_data)
            new_from_json(json)
          end
        end
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
chartmogul-ruby-1.5.1 lib/chartmogul/api/actions/custom.rb
chartmogul-ruby-1.5.0 lib/chartmogul/api/actions/custom.rb
chartmogul-ruby-1.4.1 lib/chartmogul/api/actions/custom.rb
chartmogul-ruby-1.4.0 lib/chartmogul/api/actions/custom.rb
chartmogul-ruby-1.3.3 lib/chartmogul/api/actions/custom.rb
chartmogul-ruby-1.3.2 lib/chartmogul/api/actions/custom.rb
chartmogul-ruby-1.3.1 lib/chartmogul/api/actions/custom.rb
chartmogul-ruby-1.3.0 lib/chartmogul/api/actions/custom.rb
chartmogul-ruby-1.2.2 lib/chartmogul/api/actions/custom.rb
chartmogul-ruby-1.2.1 lib/chartmogul/api/actions/custom.rb
chartmogul-ruby-1.2.0 lib/chartmogul/api/actions/custom.rb
chartmogul-ruby-1.1.9 lib/chartmogul/api/actions/custom.rb
chartmogul-ruby-1.1.8 lib/chartmogul/api/actions/custom.rb
chartmogul-ruby-1.1.7 lib/chartmogul/api/actions/custom.rb
chartmogul-ruby-1.1.3 lib/chartmogul/api/actions/custom.rb
chartmogul-ruby-1.1.1 lib/chartmogul/api/actions/custom.rb
chartmogul-ruby-1.1.0 lib/chartmogul/api/actions/custom.rb