terrasms_api 0.1.0 → 0.1.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 34659603519006956e2ba6da3947c0930b8690fc7c5085b2fd7b0aee93b78ae1
4
- data.tar.gz: 8311cf5c84f1cd1db0c02c5794fc57bf9359d59a504279b0863c3918069a5639
3
+ metadata.gz: 8c3ffbfb465a7b101aa4f52890cb34214e16c761a444f0cef3546fc14fb8bf3e
4
+ data.tar.gz: eea11615bac5451fe348d3ee912f6154dcec2c67fcb46545597a4dee7273dddb
5
5
  SHA512:
6
- metadata.gz: 05b5f7c1685f45455ccc6c6fe6623563b7a2eccafc059221056bfcb0aee7b44d5c2280da80b745d25083faebf78127d6dcf908bb93d466191ebe02831492a389
7
- data.tar.gz: 042d09d9e936fb16dd23e3f0de35c0c2bdaba5ed6dc865b526300ffafe28f14b1bdc4e35721e309ef2847294d6f53c33988997002c300246ef07f4f4644f3cff
6
+ metadata.gz: 8524154c242a51d06b1b0ee34da52b061debbb6131e886cd5e6bfa415b496df785de41ceb0c99a9d1d2fd35faacae2462ada0eba18430592872b1f89689b20aa
7
+ data.tar.gz: e71edda8f5da5b928c357932c02438339181a3e8033768d00d17b02ec39c847218d026bf7b00971ce692de04845043de62e1c62b80ebd0ba9902d404961c9bc1
data/README.md CHANGED
@@ -1 +1,88 @@
1
- # terrasms_api
1
+ # TerrasmsApi
2
+
3
+ Ruby client for Terrasms API | Библиотека для API провайдера Terrasms
4
+
5
+ **Table of Contents**
6
+
7
+ - [Installation](#installation)
8
+ - [Usage](#usage)
9
+ - [Quick Demo](#quick-demo)
10
+ - [Exceptions](#exceptions)
11
+ - [Contributing](#contributing)
12
+ - [License](#license)
13
+
14
+
15
+ ## Installation
16
+
17
+ Add this line to your application's Gemfile:
18
+
19
+ ```ruby
20
+ gem 'terrasms_api'
21
+ ```
22
+
23
+ And then execute:
24
+
25
+ $ bundle
26
+
27
+ Or install it yourself as:
28
+
29
+ $ gem install terrasms_api
30
+
31
+ ## Usage
32
+
33
+ ### Quick demo
34
+
35
+ ```ruby
36
+ require 'terrasms_api'
37
+ ```
38
+
39
+ First, create client using your access token:
40
+
41
+ ```ruby
42
+ client = TerrasmsApi.new(access_token: 'your.token')
43
+ ```
44
+ After that simply do some request.
45
+
46
+ ```ruby
47
+ # send sms
48
+ # mandatory_attributes for mostly all requests:
49
+ # - login: your login for Terrasms auth
50
+ # - target: phone or email
51
+ # - sender: public name
52
+ # - message: sms body
53
+
54
+ client.post('send', mandatory_attributes)
55
+ ```
56
+
57
+ ## Exceptions
58
+
59
+ ```ruby
60
+ def send_sms
61
+ client.post('send', attrs)
62
+ rescue TerrasmsApi::RequestError, TerrasmsApi::ConnectionError => e
63
+ puts e.message, e.backtrace
64
+ end
65
+ ```
66
+
67
+ Name | Description
68
+ ---|---
69
+ `TerrasmsApi::RequestError` | Request didn't succeed
70
+ `TerrasmsApi::ConnectionError` | Connection didn't succeed
71
+
72
+ ## Testing
73
+
74
+ ```
75
+ bundle exec rspec
76
+ ```
77
+
78
+ ## Contributing
79
+
80
+ 1. Fork it
81
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
82
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
83
+ 4. Push to the branch (`git push origin my-new-feature`)
84
+ 5. Create new Pull Request
85
+
86
+ ## License
87
+
88
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
@@ -1,7 +1,12 @@
1
1
  class TerrasmsApi
2
2
  class Error
3
3
  def self.call
4
- yield
4
+ result = yield
5
+ if result.to_i&.negative?
6
+ raise "Internal error: #{result} see https://terasms.ru/documentation/api/http/errors"
7
+ else
8
+ result
9
+ end
5
10
  rescue RestClient::Exception, RestClient::ExceptionWithResponse => e
6
11
  raise TerrasmsApi::RequestError, e
7
12
  rescue SocketError => e
@@ -1,3 +1,3 @@
1
1
  class TerrasmsApi
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
data/terrasms_api.gemspec CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
26
26
  spec.add_runtime_dependency 'json', '~> 2.2'
27
27
  spec.add_runtime_dependency 'rest-client', '~> 2.1'
28
28
 
29
- spec.add_development_dependency "bundler", "~> 1.17"
29
+ spec.add_development_dependency "bundler", "~> 2.1.4"
30
30
  spec.add_development_dependency "rake", "~> 10.0"
31
31
  spec.add_development_dependency "rspec", "~> 3.9.0"
32
32
  spec.add_development_dependency "rspec-json_expectations", "~>2.2.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: terrasms_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - wowinter13
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-12-03 00:00:00.000000000 Z
11
+ date: 2020-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.17'
47
+ version: 2.1.4
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.17'
54
+ version: 2.1.4
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -147,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
147
  - !ruby/object:Gem::Version
148
148
  version: '0'
149
149
  requirements: []
150
- rubygems_version: 3.0.3
150
+ rubygems_version: 3.1.2
151
151
  signing_key:
152
152
  specification_version: 4
153
153
  summary: Terra SMS HTTPS API Wrapper