parasut_ruby_sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 2da2dbb4ee633a776209f0fa35a0286f645c9d2f
4
+ data.tar.gz: 3f27dae6d09d664d91976d7831223fa44527e039
5
+ SHA512:
6
+ metadata.gz: 831d5849c79c171266bca168ddf54af3fa9d7d0c6bdd1fa86abdb47d1d723464be619cdd0c1244115e2b85992d986db2cf0062ebacb96290cb9113d192a600fd
7
+ data.tar.gz: c6d79e0716ce623e732d88f0f10efbd94430c439f067cbe55e174aab92dc6c00aa90a708a6c9f8b953711916ac40339b17365fc8f9bddc8dbc09878b9911951d
data/.gitignore ADDED
@@ -0,0 +1,11 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ .idea/**
11
+ /lib/parasut_ruby_sdk/models
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in parasut_ruby_sdk.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,46 @@
1
+ # Parasut Ruby Sdk
2
+
3
+ * [API Documentation](https://api.parasut.com/docs)
4
+ * [Examples](https://github.com/lab2023/parasut-ruby-sdk/tree/develop/examples)
5
+
6
+ ## Installation
7
+
8
+ Add this line to your application's Gemfile:
9
+
10
+ ```ruby
11
+ gem 'parasut_ruby_sdk'
12
+ ```
13
+
14
+ And then execute:
15
+
16
+ $ bundle
17
+
18
+ Or install it yourself as:
19
+
20
+ $ gem install parasut_ruby_sdk
21
+
22
+ ## Development
23
+
24
+ $ bundle exec ruby examples/examples.rb
25
+
26
+ # Contributing
27
+
28
+ Once you've made your great commits:
29
+
30
+ 1. Fork Project
31
+ 2. Create a topic branch - git checkout -b my_branch
32
+ 3. Push to your branch - git push origin my_branch
33
+ 4. Create a Pull Request from your branch
34
+ 5. That's it!
35
+
36
+ # Credits
37
+
38
+ ![lab2023](http://lab2023.com/assets/images/named-logo.png)
39
+
40
+ - Builder is maintained and funded by [lab2023 - information technologies](http://lab2023.com/)
41
+ - Thank you to all the [contributors!](../../graphs/contributors)
42
+ - The names and logos for lab2023 are trademarks of lab2023, inc.
43
+
44
+ # License
45
+
46
+ Copyright 2016 lab2023 – information technologies
data/Rakefile ADDED
@@ -0,0 +1,2 @@
1
+ require "bundler/gem_tasks"
2
+ task :default => :spec
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler/setup'
4
+ require 'parasut_ruby_sdk'
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require 'pry'
11
+ # Pry.start
12
+
13
+ require 'irb'
14
+ IRB.start
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
data/conf/cacert.pem ADDED
File without changes
@@ -0,0 +1,29 @@
1
+ require 'parasut_ruby_sdk'
2
+
3
+ PARASUT_CLIENT_ID = ''
4
+ PARASUT_CLIENT_SECRET = ''
5
+ PARASUT_CALLBACK_URL = 'urn:ietf:wg:oauth:2.0:oob'
6
+ PARASUT_USERNAME = ''
7
+ PARASUT_USER_PASSWORD = ''
8
+ PARASUT_COMPANY_ID = ''
9
+
10
+ config = {
11
+ client_id: PARASUT_CLIENT_ID,
12
+ client_secret: PARASUT_CLIENT_SECRET,
13
+ callback_url: PARASUT_CALLBACK_URL,
14
+ username: PARASUT_USERNAME,
15
+ password: PARASUT_USER_PASSWORD,
16
+ company_id: PARASUT_COMPANY_ID,
17
+ access_token: nil,
18
+ refresh_token: nil
19
+ }
20
+
21
+ # Get access and refresh token
22
+ tokens = ParasutRubySdk::REST::BaseRequest.new(config).get_token
23
+ config['access_token'] = tokens.access_token
24
+ config['refresh_token'] = tokens.refresh_token
25
+
26
+ # Account
27
+ # -------------------------------------------------------------
28
+ account = ParasutRubySdk::REST::Account.new(config)
29
+ puts account.all
@@ -0,0 +1,5 @@
1
+ class Hash
2
+ def to_obj
3
+ convert_to_obj self
4
+ end
5
+ end
@@ -0,0 +1,45 @@
1
+ module ParasutRubySdk
2
+ module Helpers
3
+ module DataHelper
4
+
5
+ ##
6
+ # Convert hash to object
7
+ def convert_to_obj(hash)
8
+ open_struct = OpenStruct.new
9
+ set_open_struct_variables( open_struct, hash )
10
+ open_struct
11
+ end
12
+
13
+ ##
14
+ # Set hash variable to open_struct
15
+ # Recursive method for hash values
16
+ def set_open_struct_variables(open_struct, hash)
17
+ hash.each do |key,value|
18
+ if value.is_a? Hash
19
+ # create new open struct value
20
+ new_open_struct = OpenStruct.new
21
+ open_struct.send("#{key}=", new_open_struct)
22
+ set_open_struct_variables(new_open_struct, value)
23
+ elsif value.is_a? Array
24
+ open_struct.send("#{key}=", value)
25
+ value.each_with_index do |val, index|
26
+ if val.is_a? Hash
27
+ # create new open struct value
28
+ new_open_struct = OpenStruct.new
29
+ # set array index value variable
30
+ value[index] = new_open_struct
31
+ set_open_struct_variables(new_open_struct, val)
32
+ else
33
+ # Do nothing
34
+ # value[index] = val
35
+ end
36
+ end
37
+ else
38
+ open_struct.send("#{key}=", value)
39
+ end
40
+ end
41
+ end
42
+
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,24 @@
1
+ module ParasutRubySdk
2
+ module REST
3
+ class Account < BaseRequest
4
+
5
+ def initialize(*args)
6
+ super(*args)
7
+ @resource = 'accounts'
8
+ end
9
+
10
+ def all( params = {} )
11
+ prepare_request( Util::RequestType::GET, @resource, params)
12
+ end
13
+
14
+ def get( id, params = {} )
15
+ prepare_request( Util::RequestType::GET, "#{@resource}/#{id}", params)
16
+ end
17
+
18
+ def get_transactions( id )
19
+ prepare_request( Util::RequestType::GET, "#{@resource}/#{id}/transactions", params)
20
+ end
21
+
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,154 @@
1
+ module ParasutRubySdk
2
+ module REST
3
+ class BaseRequest
4
+ attr_accessor :config
5
+ HTTP_HEADERS = {
6
+ 'Accept' => 'application/json',
7
+ 'Accept-Charset' => 'utf-8',
8
+ 'User-Agent' => "parasut_ruby_sdk/#{ParasutRubySdk::VERSION}" " (#{RUBY_ENGINE}/#{RUBY_PLATFORM}" " #{RUBY_VERSION}-p#{RUBY_PATCHLEVEL})"
9
+ }
10
+
11
+ def initialize(*args)
12
+ options = args.last.is_a?(Hash) ? args.pop : {}
13
+ args.select! {|arg| !arg.nil?}
14
+ self.config = ParasutRubySdk::Util::Configuration.new options
15
+ @refresh_try = 0
16
+ raise ArgumentError, 'Auth token or user credentials are required' if (self.config.client_id.nil? || self.config.client_secret.nil? || self.config.username.nil? || self.config.password.nil?)
17
+ set_up_connection
18
+ get_token_from_api if self.config.access_token.nil?
19
+ end
20
+
21
+ def refresh_expired_token
22
+ refresh_token
23
+ end
24
+
25
+ def get_token
26
+ get_token_from_api
27
+ end
28
+
29
+ protected
30
+ ##
31
+ # Set up and cache a Net::HTTP object to use when making requests.
32
+ def set_up_connection # :doc:
33
+ uri = URI.parse(self.config.host)
34
+ @http = Net::HTTP.new(uri.host, uri.port, p_user = self.config.proxy_user, p_pass = self.config.proxy_pass)
35
+ @http.verify_mode = OpenSSL::SSL::VERIFY_NONE
36
+ @http.use_ssl = self.config.use_ssl
37
+ if self.config.ssl_verify_peer
38
+ @http.verify_mode = OpenSSL::SSL::VERIFY_PEER
39
+ @http.ca_file = self.config.ssl_ca_file
40
+ else
41
+ @http.verify_mode = OpenSSL::SSL::VERIFY_NONE
42
+ end
43
+ @http.open_timeout = self.config.timeout
44
+ @http.read_timeout = self.config.timeout
45
+ end
46
+
47
+ ##
48
+ # Send an HTTP request using the cached <tt>@http</tt> object and
49
+ # return the JSON response body parsed into a hash. Also save the raw
50
+ # Net::HTTP::Request and Net::HTTP::Response objects as
51
+ # <tt>@last_request</tt> and <tt>@last_response</tt> to allow for
52
+ # inspection later.
53
+ def connect_and_send(request, is_file = false ) # :doc:
54
+ @last_request = request
55
+ retries_left = self.config.retry_limit
56
+ begin
57
+ response = @http.request request
58
+ @last_response = response
59
+ if response.kind_of? Net::HTTPServerError
60
+ # raise ParasutRubySdk::REST::ServerError
61
+ return response
62
+ end
63
+ rescue
64
+ raise if request.class == Net::HTTP::Post
65
+ if retries_left > 0 then retries_left -= 1; retry else raise end
66
+ end
67
+ if response.body and !response.body.empty?
68
+ if is_file
69
+ object = response.body
70
+ else
71
+ object = JSON.parse(response.body)
72
+ end
73
+ elsif response.kind_of? Net::HTTPBadRequest
74
+ object = { message: 'Bad request', code: 400 }
75
+ end
76
+
77
+ if response.kind_of? Net::HTTPClientError
78
+ # if response.kind_of? Net::HTTPUnauthorized
79
+ # object = response
80
+ # else
81
+ # object = response
82
+ # # raise ParasutRubySdk::REST::RequestError.new response.message, response.code
83
+ # end
84
+ object = response
85
+ end
86
+ object
87
+ end
88
+
89
+ ##
90
+ # Prepare http request
91
+ def prepare_request(method, path, params = {})
92
+ uri = uri_parse(params, path)
93
+ uri.query = URI.encode_www_form(params) if ['get', 'delete'].include?(method)
94
+ method_class = Net::HTTP.const_get method.to_s.capitalize
95
+ headers = HTTP_HEADERS.clone
96
+ headers['Content-Type'] = 'application/json' if ['post', 'put'].include?(method)
97
+ request = method_class.new(uri.to_s, headers)
98
+ request.body = params.to_json if ['post', 'put'].include?(method)
99
+ connect_and_send(request)
100
+ end
101
+
102
+ ##
103
+ # URI parse for params
104
+ def uri_parse(params = {}, path)
105
+ root_path = params.delete(:root_path)
106
+ if root_path
107
+ request_path = "#{self.config.host}/#{path}"
108
+ else
109
+ request_path = "#{self.config.host}/v1/#{self.config.company_id}/#{path}"
110
+ params[:access_token] = self.config.access_token
111
+ end
112
+ URI.parse(request_path)
113
+ end
114
+
115
+ def get_token_from_api
116
+ params = {
117
+ client_id: self.config.client_id,
118
+ client_secret: self.config.client_secret,
119
+ grant_type: 'password',
120
+ redirect_uri: self.config.callback_url,
121
+ username: self.config.username,
122
+ password: self.config.password,
123
+ root_path: true
124
+ }
125
+ credentials = prepare_request(Util::RequestType::POST, 'oauth/token', params)
126
+ set_credentials(credentials)
127
+ @refresh_try = 0
128
+ self.config
129
+ end
130
+
131
+ def set_credentials(credentials)
132
+ conf = self.config.clone
133
+ conf.access_token = credentials['access_token']
134
+ conf.refresh_token = credentials['refresh_token']
135
+ self.config = conf
136
+ self.config
137
+ end
138
+
139
+ def refresh_token
140
+ params = {
141
+ client_id: self.config.client_id,
142
+ client_secret: self.config.client_secret,
143
+ grant_type: 'refresh_token',
144
+ refresh_token: self.config.refresh_token,
145
+ root_path: true
146
+ }
147
+ credentials = prepare_request(Util::RequestType::POST, 'oauth/token', params)
148
+ set_credentials(credentials)
149
+ @refresh_try = 0
150
+ self.config
151
+ end
152
+ end
153
+ end
154
+ end
@@ -0,0 +1,28 @@
1
+ module ParasutRubySdk
2
+ module REST
3
+ class Category < BaseRequest
4
+
5
+ def initialize(*args)
6
+ super(*args)
7
+ @resource = 'item_categories'
8
+ end
9
+
10
+ def all( params = {} )
11
+ prepare_request( Util::RequestType::GET, @resource, params)
12
+ end
13
+
14
+ def create( params )
15
+ prepare_request( Util::RequestType::POST, @resource, params)
16
+ end
17
+
18
+ def update( id, params )
19
+ prepare_request( Util::RequestType::PUT, "#{@resource}/#{id}", params)
20
+ end
21
+
22
+ def delete( id )
23
+ prepare_request( Util::RequestType::DELETE, "#{@resource}/#{id}")
24
+ end
25
+
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,40 @@
1
+ module ParasutRubySdk
2
+ module REST
3
+ class Contact < BaseRequest
4
+
5
+ def initialize(*args)
6
+ super(*args)
7
+ @resource = 'contacts'
8
+ end
9
+
10
+ def all( params = {} )
11
+ prepare_request( Util::RequestType::GET, @resource, params)
12
+ end
13
+
14
+ def get( id )
15
+ prepare_request( Util::RequestType::GET, "#{@resource}/#{id}")
16
+ end
17
+
18
+ def create( params )
19
+ prepare_request( Util::RequestType::POST, @resource, params)
20
+ end
21
+
22
+ def update( id, params )
23
+ prepare_request( Util::RequestType::PUT, "#{@resource}/#{id}", params)
24
+ end
25
+
26
+ def delete( id )
27
+ prepare_request( Util::RequestType::DELETE, "#{@resource}/#{id}")
28
+ end
29
+
30
+ def outstanding_payments( id )
31
+ prepare_request( Util::RequestType::GET, "#{@resource}/#{id}/outstanding_payments")
32
+ end
33
+
34
+ def past_transactions( id )
35
+ prepare_request( Util::RequestType::GET, "#{@resource}/#{id}/past_transactions")
36
+ end
37
+
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,24 @@
1
+ module ParasutRubySdk
2
+ module REST
3
+ class ServerError < StandardError; end
4
+
5
+ class RequestError < StandardError
6
+ attr_reader :code
7
+
8
+ def initialize(message, code=nil)
9
+ super message
10
+ @code = code
11
+ end
12
+ end
13
+
14
+ class SDKError < StandardError
15
+ attr_reader :code
16
+
17
+ def initialize(message, code=nil)
18
+ super message
19
+ @code = code
20
+ end
21
+ end
22
+
23
+ end
24
+ end
@@ -0,0 +1,32 @@
1
+ module ParasutRubySdk
2
+ module REST
3
+ class Parasut < BaseRequest
4
+
5
+ def initialize(*args)
6
+ super(*args)
7
+ @args = args.first
8
+ end
9
+
10
+ def accounts
11
+ ParasutRubySdk::REST::Account.new(@args)
12
+ end
13
+
14
+ def contacts
15
+ ParasutRubySdk::REST::Contact.new(@args)
16
+ end
17
+
18
+ def categories
19
+ ParasutRubySdk::REST::Category.new(@args)
20
+ end
21
+
22
+ def products
23
+ ParasutRubySdk::REST::Product.new(@args)
24
+ end
25
+
26
+ def sales_invoices
27
+ ParasutRubySdk::REST::SalesInvoice.new(@args)
28
+ end
29
+
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ module ParasutRubySdk
2
+ module REST
3
+ class Product < BaseRequest
4
+
5
+ def initialize(*args)
6
+ super(*args)
7
+ @resource = 'products'
8
+ end
9
+
10
+ def all( params = {} )
11
+ prepare_request( Util::RequestType::GET, @resource, params)
12
+ end
13
+
14
+ def get( id )
15
+ prepare_request( Util::RequestType::GET, "#{@resource}/#{id}")
16
+ end
17
+
18
+ def create( params )
19
+ prepare_request( Util::RequestType::POST, @resource, params)
20
+ end
21
+
22
+ def update( id, params )
23
+ prepare_request( Util::RequestType::PUT, "#{@resource}/#{id}", params)
24
+ end
25
+
26
+ def delete( id )
27
+ prepare_request( Util::RequestType::DELETE, "#{@resource}/#{id}")
28
+ end
29
+
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,56 @@
1
+ module ParasutRubySdk
2
+ module REST
3
+ class SalesInvoice < BaseRequest
4
+
5
+ def initialize(*args)
6
+ super(*args)
7
+ @resource = 'sales_invoices'
8
+ end
9
+
10
+ def all( params = {} )
11
+ prepare_request( Util::RequestType::GET, @resource, params)
12
+ end
13
+
14
+ def get( id )
15
+ prepare_request( Util::RequestType::GET, "#{@resource}/#{id}")
16
+ end
17
+
18
+ def create( params )
19
+ prepare_request( Util::RequestType::POST, @resource, params)
20
+ end
21
+
22
+ def update( id, params )
23
+ prepare_request( Util::RequestType::PUT, "#{@resource}/#{id}", params)
24
+ end
25
+
26
+ def delete( id )
27
+ prepare_request( Util::RequestType::DELETE, "#{@resource}/#{id}")
28
+ end
29
+
30
+ def convert_to_invoice( id )
31
+ prepare_request( Util::RequestType::POST, "#{@resource}/#{id}/convert_to_invoice")
32
+ end
33
+
34
+ def create_payments ( id, params)
35
+ prepare_request( Util::RequestType::POST, "#{@resource}/#{id}/payments", params)
36
+ end
37
+
38
+ def get_e_document_type( id )
39
+ prepare_request( Util::RequestType::GET, "#{@resource}/#{id}/e_document_type")
40
+ end
41
+
42
+ def create_e_invoice( id, params )
43
+ prepare_request( Util::RequestType::POST, "#{@resource}/#{id}/e_invoice", params)
44
+ end
45
+
46
+ def create_e_archive( id, params )
47
+ prepare_request( Util::RequestType::POST, "#{@resource}/#{id}/e_archive", params)
48
+ end
49
+
50
+ def get_e_document_status( id )
51
+ prepare_request( Util::RequestType::GET, "#{@resource}/#{id}/e_document_status")
52
+ end
53
+
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,39 @@
1
+ module ParasutRubySdk
2
+ module Util
3
+ class Configuration
4
+ CONFIGS = {
5
+ host: 'https://api.parasut.com',
6
+ port: 80,
7
+ use_ssl: true,
8
+ ssl_verify_peer: false,
9
+ ssl_ca_file: File.dirname(__FILE__) + '/../../../conf/cacert.pem',
10
+ timeout: 30,
11
+ proxy_addr: nil,
12
+ proxy_port: nil,
13
+ proxy_user: nil,
14
+ proxy_pass: nil,
15
+ retry_limit: 2,
16
+ api_version: 'v1',
17
+ company_id: nil,
18
+ client_id: nil,
19
+ client_secret: nil,
20
+ callback_url: 'urn:ietf:wg:oauth:2.0:oob',
21
+ username: nil,
22
+ password: nil,
23
+ access_token: nil,
24
+ refresh_token: nil
25
+ }
26
+
27
+ CONFIGS.each_key do |attribute|
28
+ attr_accessor attribute
29
+ end
30
+
31
+ def initialize(opts={})
32
+ CONFIGS.each do |attribute, value|
33
+ send("#{attribute}=".to_sym, opts.fetch(attribute, value))
34
+ end
35
+ end
36
+
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,67 @@
1
+ module ParasutRubySdk
2
+ module Util
3
+ class RequestType
4
+ GET = 'get'
5
+ POST = 'post'
6
+ PUT = 'put'
7
+ DELETE = 'delete'
8
+ PATCH = 'patch'
9
+ end
10
+
11
+ module Contact
12
+ module Types
13
+ PERSON = 'person'
14
+ COMPANY = 'company'
15
+ end
16
+ end
17
+
18
+ module Category
19
+ module Types
20
+ CONTACT = 'Contact'
21
+ PRODUCT = 'Product'
22
+ SALES_INVOICE = 'SalesInvoice'
23
+ PURCHASE_INVOICE = 'PurchaseInvoice'
24
+ EXPENSE = 'Expense'
25
+ end
26
+ end
27
+
28
+ module SalesInvoice
29
+ module ItemTypes
30
+ INVOICE = 'invoice'
31
+ ESTIMATE = 'estimate'
32
+ end
33
+ module PaymentStatus
34
+ UNPAID = 'unpaid'
35
+ OVERDUE = 'overdue'
36
+ PARTIALLY_PAID = 'partially_paid'
37
+ PAID = 'paid'
38
+ end
39
+ end
40
+
41
+ module EInvoice
42
+ module Scenario
43
+ BASIC = 'basic'
44
+ COMMERCIAL = 'commercial'
45
+ end
46
+
47
+ module ExciseDutyCode
48
+ PETROL = '0071'
49
+ SODA = '0073'
50
+ DURABLE = '0074'
51
+ ALCOHOL = '0075'
52
+ TOBACCO = '0076'
53
+ SODA2 = '0077'
54
+ MOTORIZED = '9077'
55
+ end
56
+
57
+ module InternetSale
58
+ CREDIT_CARD = 'KREDIKARTI/BANKAKARTI'
59
+ EFT = 'EFT/HAVALE'
60
+ AT_THE_DOOR = 'KAPIDAODEME'
61
+ AGENT = 'ODEMEARACISI'
62
+ OTHER = 'DIGER'
63
+ end
64
+ end
65
+
66
+ end
67
+ end
@@ -0,0 +1,3 @@
1
+ module ParasutRubySdk
2
+ VERSION = '0.1.0'
3
+ end
@@ -0,0 +1,22 @@
1
+ require 'json'
2
+ require 'net/http'
3
+ require 'net/https'
4
+ require 'parasut_ruby_sdk/version'
5
+ require 'parasut_ruby_sdk/helpers/data_helper'
6
+ require 'parasut_ruby_sdk/hash'
7
+ require 'parasut_ruby_sdk/util/configuration'
8
+ require 'parasut_ruby_sdk/util/request_type'
9
+ require 'parasut_ruby_sdk/rest/base_request'
10
+ require 'parasut_ruby_sdk/rest/account'
11
+ require 'parasut_ruby_sdk/rest/category'
12
+ require 'parasut_ruby_sdk/rest/contact'
13
+ require 'parasut_ruby_sdk/rest/errors'
14
+ require 'parasut_ruby_sdk/rest/parasut'
15
+ require 'parasut_ruby_sdk/rest/product'
16
+ require 'parasut_ruby_sdk/rest/sales_invoice'
17
+
18
+ include ParasutRubySdk::Helpers::DataHelper
19
+
20
+ module ParasutRubySdk
21
+
22
+ end
@@ -0,0 +1,23 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'parasut_ruby_sdk/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'parasut_ruby_sdk'
8
+ spec.version = ParasutRubySdk::VERSION
9
+ spec.authors = ['Lab2023']
10
+ spec.email = ['info@lab2023.com']
11
+
12
+ spec.summary = %q{Paraşüt SDK}
13
+ spec.description = %q{Paraşüt SDK}
14
+ spec.homepage = 'https://github.com/lab2023/parasut-ruby-sdk'
15
+
16
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
+ spec.bindir = 'exe'
18
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
+ spec.require_paths = ['lib']
20
+
21
+ spec.add_development_dependency 'bundler', '~> 1.12'
22
+ spec.add_development_dependency 'rake', '~> 10.0'
23
+ end
metadata ADDED
@@ -0,0 +1,94 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: parasut_ruby_sdk
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Lab2023
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-10-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.12'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.12'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ description: Paraşüt SDK
42
+ email:
43
+ - info@lab2023.com
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - ".gitignore"
49
+ - Gemfile
50
+ - README.md
51
+ - Rakefile
52
+ - bin/console
53
+ - bin/setup
54
+ - conf/cacert.pem
55
+ - examples/examples.rb
56
+ - lib/parasut_ruby_sdk.rb
57
+ - lib/parasut_ruby_sdk/hash.rb
58
+ - lib/parasut_ruby_sdk/helpers/data_helper.rb
59
+ - lib/parasut_ruby_sdk/rest/account.rb
60
+ - lib/parasut_ruby_sdk/rest/base_request.rb
61
+ - lib/parasut_ruby_sdk/rest/category.rb
62
+ - lib/parasut_ruby_sdk/rest/contact.rb
63
+ - lib/parasut_ruby_sdk/rest/errors.rb
64
+ - lib/parasut_ruby_sdk/rest/parasut.rb
65
+ - lib/parasut_ruby_sdk/rest/product.rb
66
+ - lib/parasut_ruby_sdk/rest/sales_invoice.rb
67
+ - lib/parasut_ruby_sdk/util/configuration.rb
68
+ - lib/parasut_ruby_sdk/util/request_type.rb
69
+ - lib/parasut_ruby_sdk/version.rb
70
+ - parasut_ruby_sdk.gemspec
71
+ homepage: https://github.com/lab2023/parasut-ruby-sdk
72
+ licenses: []
73
+ metadata: {}
74
+ post_install_message:
75
+ rdoc_options: []
76
+ require_paths:
77
+ - lib
78
+ required_ruby_version: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ required_rubygems_version: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - ">="
86
+ - !ruby/object:Gem::Version
87
+ version: '0'
88
+ requirements: []
89
+ rubyforge_project:
90
+ rubygems_version: 2.6.7
91
+ signing_key:
92
+ specification_version: 4
93
+ summary: Paraşüt SDK
94
+ test_files: []