terrasms_api 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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