crystal_sdk 1.1.1 → 1.2.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 +4 -4
- data/Gemfile.lock +2 -2
- data/README.md +1 -0
- data/lib/crystal_sdk.rb +1 -0
- data/lib/crystal_sdk/email_sample.rb +18 -0
- data/lib/crystal_sdk/email_sample/errors.rb +16 -0
- data/lib/crystal_sdk/email_sample/request.rb +30 -0
- data/lib/crystal_sdk/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2693afc6e01dbd3701555cbb51711ea7c0feebd2
|
4
|
+
data.tar.gz: 869ad50b056891ca6ec29e2efae55f7b65ef0605
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 89eeb6aa8e32af5e7caa3275b914381704644a89d5bb674db1090c6b2093b11c6a651f2ee083a4ecc875e195bc0f3ed9361fd09435961b4fa5344fe1508e9d4a
|
7
|
+
data.tar.gz: 655aec7b9b3f79e7f9c251a5789332dc2a140866f3b4a10f42d27e7a4f8af513f3a67bc2861a84caa9778c0da733563662da6607afc4feb85c803a0a6a6bd2ec
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
crystal_sdk (1.
|
4
|
+
crystal_sdk (1.1.1)
|
5
5
|
nestful (~> 1.1)
|
6
6
|
recursive-open-struct (~> 1.0)
|
7
7
|
|
@@ -16,7 +16,7 @@ GEM
|
|
16
16
|
hashdiff (0.3.2)
|
17
17
|
nestful (1.1.1)
|
18
18
|
public_suffix (2.0.5)
|
19
|
-
recursive-open-struct (1.0.
|
19
|
+
recursive-open-struct (1.0.4)
|
20
20
|
rspec (3.5.0)
|
21
21
|
rspec-core (~> 3.5.0)
|
22
22
|
rspec-expectations (~> 3.5.0)
|
data/README.md
CHANGED
data/lib/crystal_sdk.rb
CHANGED
@@ -5,6 +5,7 @@ module CrystalSDK
|
|
5
5
|
autoload :Base, 'crystal_sdk/base'
|
6
6
|
autoload :Api, 'crystal_sdk/api'
|
7
7
|
autoload :Profile, 'crystal_sdk/profile'
|
8
|
+
autoload :EmailSample, 'crystal_sdk/email_sample'
|
8
9
|
|
9
10
|
crystal_env_key = ENV['CRYSTAL_KEY']
|
10
11
|
CrystalSDK.key = crystal_env_key if crystal_env_key
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'timeout'
|
2
|
+
require_relative 'email_sample/errors'
|
3
|
+
require_relative 'email_sample/request'
|
4
|
+
|
5
|
+
module CrystalSDK
|
6
|
+
class EmailSample
|
7
|
+
|
8
|
+
def initialize()
|
9
|
+
end
|
10
|
+
|
11
|
+
class << self
|
12
|
+
def all(request_id)
|
13
|
+
sample = EmailSample::Request.new(request_id)
|
14
|
+
sample.from_all
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module CrystalSDK
|
2
|
+
class EmailSample
|
3
|
+
class NotFoundError < StandardError; end
|
4
|
+
class UnexpectedError < StandardError; end
|
5
|
+
|
6
|
+
class NotAuthedError < StandardError
|
7
|
+
attr_reader :token
|
8
|
+
|
9
|
+
def initialize(token, msg = 'Organization Token was invalid')
|
10
|
+
@token = token
|
11
|
+
super(msg)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'recursive-open-struct'
|
2
|
+
require 'crystal_sdk/api'
|
3
|
+
|
4
|
+
module CrystalSDK
|
5
|
+
class EmailSample
|
6
|
+
class Request
|
7
|
+
|
8
|
+
def initialize(id)
|
9
|
+
@id = id
|
10
|
+
end
|
11
|
+
|
12
|
+
def from_all
|
13
|
+
begin
|
14
|
+
resp = Api.make_request(:get, "emails/#{@id}")
|
15
|
+
rescue Nestful::ResponseError => e
|
16
|
+
check_for_error(e.response)
|
17
|
+
raise e
|
18
|
+
end
|
19
|
+
|
20
|
+
body = JSON.parse(resp.body || '{}', symbolize_names: true)
|
21
|
+
end
|
22
|
+
|
23
|
+
def check_for_error(resp)
|
24
|
+
raise EmailSample::NotAuthedError.new(Base.key) if resp.code == '401'
|
25
|
+
raise EmailSample::NotFoundError if resp.code == '404'
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/lib/crystal_sdk/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crystal_sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cory Finger
|
@@ -86,6 +86,9 @@ files:
|
|
86
86
|
- lib/crystal_sdk.rb
|
87
87
|
- lib/crystal_sdk/api.rb
|
88
88
|
- lib/crystal_sdk/base.rb
|
89
|
+
- lib/crystal_sdk/email_sample.rb
|
90
|
+
- lib/crystal_sdk/email_sample/errors.rb
|
91
|
+
- lib/crystal_sdk/email_sample/request.rb
|
89
92
|
- lib/crystal_sdk/profile.rb
|
90
93
|
- lib/crystal_sdk/profile/errors.rb
|
91
94
|
- lib/crystal_sdk/profile/request.rb
|
@@ -117,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
117
120
|
version: '0'
|
118
121
|
requirements: []
|
119
122
|
rubyforge_project:
|
120
|
-
rubygems_version: 2.6.
|
123
|
+
rubygems_version: 2.6.6
|
121
124
|
signing_key:
|
122
125
|
specification_version: 4
|
123
126
|
summary: Access the largest and most accurate personality database!
|