Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/salesking/sk_sdk

SalesKing SDK for creating apps and using the API
https://github.com/salesking/sk_sdk

Last synced: about 2 months ago
JSON representation

SalesKing SDK for creating apps and using the API

Awesome Lists containing this project

README

        

= SalesKing SDK

Automate your workflow's by integrating and connecting your business with SalesKing.
This Ruby Software-Development-Kit provides solid and handy tools for building
SalesKing App's(using oAuth2) and API clients.

== Install

gem install sk_sdk

Dependencies (gem's):

* activesupport
* activeresource v3.1+ (v3.0.10 until sk_sdk v0.0.8)
* httparty
* sk_api_schema

== Classes

All classes must be explicitly required so each can be used on their own.

require 'sk_sdk/signed_request'
require 'sk_sdk/oauth'
require 'sk_sdk/base'
require 'sk_sdk/sync'

=== API client

Uses ActiveResource to CRUD SalesKing object's {see usage in README}[https://github.com/salesking/sk_sdk/blob/master/lib/sk_sdk/]

=== {oAuth}[https://github.com/salesking/sk_sdk/blob/master/lib/sk_sdk/oauth.rb]

Get an oAuth2 access token and create oAuth related URL's.
There also is an {omniAuth strategy}[https://github.com/salesking/sk_sdk/blob/master/lib/sk_sdk/omni_auth].

=== {SignedRequest}[https://github.com/salesking/sk_sdk/blob/master/lib/sk_sdk/signed_request.rb]

De/encoding of signed_request parameter on canvas pages and PubSub/Webhook
callbacks.

=== {Sync}[https://github.com/salesking/sk_sdk/blob/master/lib/sk_sdk/sync.rb]

Map & Synchronize fields of a local with an remote object. Tackles the problem
of normalizing objects to match internal data structures. Synchronization is
done by a field-mapping and also sports transition methods for each way.

== Usage

Read specs: https://github.com/salesking/sk_sdk/tree/master/spec/sk_sdk

== Tests

Before you run the tests install required gems via bundler. We are providing
several Gemfiles because of different patches for active_resource v2 vs v3.
This definitly sucks, but as long as we stay with ARes we need to ensure it is
working with every version.

Before running the specs, add your SalesKing credentials to /spec/settings.yml
cp spec/settings.yml.default spec/settings.yml

# test with most recent ARes version
bundle install
rake spec

#test with ActiveResource 3
BUNDLE_GEMFILE=ci/Gemfile_ar3 bundle install
BUNDLE_GEMFILE=ci/Gemfile_ar3 bundle exec rake spec

#test with ActiveResource 5
BUNDLE_GEMFILE=ci/Gemfile_ar5 bundle install
BUNDLE_GEMFILE=ci/Gemfile_ar5 bundle exec rake spec

Copyright (c) 2011-2022 Georg Leciejewski, released under the MIT license