sentimeta 0.1.2 → 0.1.3
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/.gitignore +1 -0
- data/lib/sentimeta/client/auth.rb +20 -6
- data/lib/sentimeta/client/data.rb +3 -0
- data/lib/sentimeta/rest_client.rb +8 -8
- data/lib/sentimeta/support.rb +74 -0
- data/lib/sentimeta/version.rb +1 -1
- data/lib/sentimeta.rb +1 -0
- data/sentimeta.gemspec +3 -1
- data/spec/client_spec.rb +14 -14
- data/spec/model_spec.rb +1 -1
- data/spec/spec_helper.rb +8 -5
- metadata +20 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 431cbeb69e0bf92505b1bf5687050247e9292233
|
4
|
+
data.tar.gz: da305f3372a3c2686abd905938102c339cf06a84
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45be246f83d067969cda6a4cb8e25be9c786308235543434d77d35777b3b5e4d8ce38f1a4099206443b49a67f0b6f3bb50b5f2cbc0c6a0d645cd9612571855c2
|
7
|
+
data.tar.gz: 4578f03407e0a64cc73c5249dfe8e4269f4d9e861a60f0fe37ab4b8c99bf82bc281d10c69c0712109a6f1e2d820b650e2064963913a6298c56f9c90545883922
|
data/.gitignore
CHANGED
@@ -2,19 +2,33 @@ module Sentimeta::Client::Auth
|
|
2
2
|
extend self
|
3
3
|
extend Sentimeta::RestClient
|
4
4
|
|
5
|
-
|
6
|
-
:auth
|
7
|
-
end
|
5
|
+
self.namespace = 'crowd/auth'
|
8
6
|
|
9
7
|
def user token
|
10
|
-
get
|
8
|
+
get 'users/token', id: token
|
11
9
|
end
|
12
10
|
|
13
11
|
def signup attrs
|
14
|
-
post :
|
12
|
+
post :signup, attrs
|
15
13
|
end
|
16
14
|
|
17
15
|
def signin attrs
|
18
|
-
post :
|
16
|
+
post :signin, attrs
|
17
|
+
end
|
18
|
+
|
19
|
+
def reset_password_token login
|
20
|
+
put 'users/create_reset_token', login: login
|
21
|
+
end
|
22
|
+
|
23
|
+
def reset_password params
|
24
|
+
put 'users/reset_password', params
|
25
|
+
end
|
26
|
+
|
27
|
+
def oauth attrs
|
28
|
+
post :oauth, attrs
|
29
|
+
end
|
30
|
+
|
31
|
+
def signout token
|
32
|
+
delete 'users/token', id: token
|
19
33
|
end
|
20
34
|
end
|
@@ -2,26 +2,29 @@ require 'json'
|
|
2
2
|
require "colorize"
|
3
3
|
require "rest_client"
|
4
4
|
|
5
|
-
|
6
5
|
module Sentimeta
|
7
6
|
module RestClient
|
8
7
|
require "sentimeta/error/unreachable"
|
9
8
|
# require "sentimeta/error/record_not_found"
|
10
9
|
|
10
|
+
attr_accessor :namespace
|
11
|
+
|
11
12
|
|
12
13
|
class ApiResponse
|
13
14
|
attr_accessor :status, :body
|
14
15
|
|
15
16
|
def initialize response
|
16
17
|
self.status = response.code
|
17
|
-
self.body = JSON.parse(response)
|
18
|
+
self.body = JSON.parse(response) rescue nil
|
18
19
|
end
|
19
20
|
|
20
21
|
def ok?
|
21
22
|
status < 300
|
22
23
|
end
|
23
24
|
|
24
|
-
|
25
|
+
def [] key
|
26
|
+
body[key] if body.respond_to?(:[])
|
27
|
+
end
|
25
28
|
end
|
26
29
|
|
27
30
|
|
@@ -59,14 +62,11 @@ module Sentimeta
|
|
59
62
|
end
|
60
63
|
end
|
61
64
|
|
62
|
-
|
63
|
-
private
|
64
|
-
|
65
65
|
def generate_uri endpoint, options={}
|
66
66
|
[].tap do |components|
|
67
67
|
components << Sentimeta.endpoint
|
68
|
-
components << (options.delete(:sphere) ||
|
69
|
-
components << namespace
|
68
|
+
components << (options.delete(:sphere) || try(:sphere)) unless endpoint == :spheres
|
69
|
+
components << namespace unless namespace.nil?
|
70
70
|
components << endpoint
|
71
71
|
components << options.delete(:filter) if endpoint == :attributes # TODO remove
|
72
72
|
components << options.delete(:provider) if endpoint == :prices # TODO remove
|
@@ -0,0 +1,74 @@
|
|
1
|
+
class Object
|
2
|
+
def try(*a, &b)
|
3
|
+
if a.empty? && block_given?
|
4
|
+
yield self
|
5
|
+
else
|
6
|
+
public_send(*a, &b) if respond_to?(a.first)
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
class String
|
12
|
+
def blank?
|
13
|
+
strip == ''
|
14
|
+
end
|
15
|
+
|
16
|
+
def present?
|
17
|
+
!blank?
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
class Array
|
22
|
+
def blank?
|
23
|
+
empty?
|
24
|
+
end
|
25
|
+
def empty?
|
26
|
+
self == []
|
27
|
+
end
|
28
|
+
|
29
|
+
def present?
|
30
|
+
!empty?
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
class Fixnum
|
35
|
+
def present?
|
36
|
+
true
|
37
|
+
end
|
38
|
+
|
39
|
+
def blank?
|
40
|
+
false
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
class NilClass
|
45
|
+
def present?
|
46
|
+
false
|
47
|
+
end
|
48
|
+
|
49
|
+
def blank?
|
50
|
+
true
|
51
|
+
end
|
52
|
+
|
53
|
+
def empty?
|
54
|
+
true
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
class Hash
|
59
|
+
def present?
|
60
|
+
!blank?
|
61
|
+
end
|
62
|
+
|
63
|
+
def blank?
|
64
|
+
empty?
|
65
|
+
end
|
66
|
+
|
67
|
+
def symbolize_keys
|
68
|
+
self.inject({}){|rslt, (k, v)| rslt.merge(k.to_sym => v) }
|
69
|
+
end
|
70
|
+
|
71
|
+
def reverse_merge(hash)
|
72
|
+
hash.merge self
|
73
|
+
end
|
74
|
+
end
|
data/lib/sentimeta/version.rb
CHANGED
data/lib/sentimeta.rb
CHANGED
data/sentimeta.gemspec
CHANGED
@@ -17,5 +17,7 @@ Gem::Specification.new do |s|
|
|
17
17
|
|
18
18
|
s.add_development_dependency "rake", "~> 10.4"
|
19
19
|
s.add_development_dependency "rspec", "~> 3.1"
|
20
|
-
s.add_development_dependency "
|
20
|
+
s.add_development_dependency "webmock", "~> 1.20"
|
21
|
+
s.add_development_dependency "vcr", "~> 2.9.3"
|
22
|
+
|
21
23
|
end
|
data/spec/client_spec.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe Sentimeta::Client do
|
3
|
+
describe Sentimeta::Client, :vcr do
|
4
4
|
|
5
5
|
subject { Sentimeta::Client }
|
6
6
|
|
@@ -13,21 +13,21 @@ describe Sentimeta::Client do
|
|
13
13
|
|
14
14
|
|
15
15
|
describe :generate_uri do
|
16
|
-
it "should return an instance of
|
17
|
-
expect(valid_url).to be_kind_of
|
16
|
+
it "should return an instance of String" do
|
17
|
+
expect(valid_url).to be_kind_of String
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
21
|
|
22
|
-
describe :send_request do
|
23
|
-
|
24
|
-
|
25
|
-
|
22
|
+
# describe :send_request do
|
23
|
+
# it "should be fine for a valid uri" do
|
24
|
+
# expect { subject.send_request valid_url }.not_to raise_error
|
25
|
+
# end
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
end
|
27
|
+
# it "should raise an error for invalid uri" do
|
28
|
+
# expect { subject.send_request "invalid" }.to raise_error Sentimeta::Error::Unreachable
|
29
|
+
# end
|
30
|
+
# end
|
31
31
|
|
32
32
|
|
33
33
|
describe :endpoints do
|
@@ -44,9 +44,9 @@ describe Sentimeta::Client do
|
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
|
-
it { should respond_to :prices }
|
48
|
-
it("#prices should call fetch once") { pending }
|
49
|
-
it("#prices should return an array") { pending }
|
47
|
+
# it { should respond_to :prices }
|
48
|
+
# it("#prices should call fetch once") { pending }
|
49
|
+
# it("#prices should return an array") { pending }
|
50
50
|
end
|
51
51
|
|
52
52
|
end
|
data/spec/model_spec.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -6,10 +6,13 @@ require 'yaml'
|
|
6
6
|
|
7
7
|
Sentimeta.sphere = :hotels
|
8
8
|
|
9
|
-
require '
|
9
|
+
require 'webmock/rspec'
|
10
|
+
require "vcr"
|
10
11
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
12
|
+
VCR.configure do |config|
|
13
|
+
config.cassette_library_dir = "fixtures/vcr_cassettes"
|
14
|
+
config.hook_into :webmock
|
15
|
+
config.configure_rspec_metadata!
|
15
16
|
end
|
17
|
+
|
18
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sentimeta
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Artem Shpakov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|
@@ -67,19 +67,33 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '3.1'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: webmock
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '1.
|
75
|
+
version: '1.20'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '1.
|
82
|
+
version: '1.20'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: vcr
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 2.9.3
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 2.9.3
|
83
97
|
description:
|
84
98
|
email: artyom.shpakov@sentimeta.com
|
85
99
|
executables: []
|
@@ -106,6 +120,7 @@ files:
|
|
106
120
|
- lib/sentimeta/observers.rb
|
107
121
|
- lib/sentimeta/railtie.rb
|
108
122
|
- lib/sentimeta/rest_client.rb
|
123
|
+
- lib/sentimeta/support.rb
|
109
124
|
- lib/sentimeta/version.rb
|
110
125
|
- sentimeta.gemspec
|
111
126
|
- spec/client_spec.rb
|