oneview 0.0.4 → 0.0.6

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
  SHA1:
3
- metadata.gz: 6cf6bfab53f6829c6309a02e640d0232e06b73bd
4
- data.tar.gz: 3016192c9ea499f1f16eb09d44805520d7204772
3
+ metadata.gz: c037aa7aa4d73def6dd9f14d19dbbfdf8e9fcc65
4
+ data.tar.gz: f382a48faba155e1d30b04934093f0965441d71a
5
5
  SHA512:
6
- metadata.gz: fba39829a16584fd30f85067667a9365264fba729e7e0aa74ecf50d0b6ea6ff341af616d61b76364801357934200f8d975150fe75b5c950e5189e25d97b247ea
7
- data.tar.gz: 66f2867966193571c881a66927f5f557aad4244a6f562e3d69b5ee46d1d2465795e613819936d907374ea1d0cf88afada055f34ed966f4cccac466a08f18d4db
6
+ metadata.gz: 085b933c41fc11f260d9f7fd0efaa707f4f4893b9a7084f0d8e40b7b7e1600d5395fa5b5f0508653ee008dd024d84da781ea4273a9f4880af8f531fc23b32b4d
7
+ data.tar.gz: a4af6a313f1ddf301c0db34ad09ce33477790734ded5c80ced03ffb0da5b48b5e73f83ded82dd6d55f6448dbe3774a3e928b5dae12090befb8163c26125033f2
data/README.md CHANGED
@@ -31,7 +31,7 @@ Create a new instance of Oneview class passing your access token:
31
31
  With the client instance, you can access the following resources:
32
32
 
33
33
  * Contacts (client.contacts) **Only creation**
34
- * Sms Sending (client.sms) **Not Implemented Yet**
34
+ * Sms Sending (client.sms)
35
35
  * Email Sending (client.email)
36
36
 
37
37
  ## Using the resources
@@ -46,6 +46,7 @@ Currently the following entities are implemented:
46
46
  * [Phone](lib/oneview/entity/phone.rb)
47
47
  * [Dynamic Field](lib/oneview/entity/dynamic_field.rb)
48
48
  * [Email](lib/oneview/entity/email.rb)
49
+ * [SMS](lib/oneview/entity/sms.rb)
49
50
 
50
51
  ### Reading the response
51
52
  All methods return an Oneview::Client::Response object. This objects contains the following attributes:
@@ -0,0 +1,21 @@
1
+ module Oneview
2
+ module Api
3
+ class Sms < Client
4
+ require_all 'oneview/entity', 'sms'
5
+
6
+ base_uri "http://www.oneview.com.br/api/senders/send_sms"
7
+
8
+ def create(data)
9
+ return parse_response(self.class.post("/", :body => build_body(data), :headers => header)) if data.is_a?(Hash)
10
+ return parse_response(self.class.post("/", :body => build_body(data.as_parameter), :headers => header)) if data.is_a?(Oneview::Entity::Sms)
11
+ raise ArgumentError
12
+ end
13
+ alias :new :create
14
+
15
+ private
16
+ def build_body(parameters)
17
+ super(parameters)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -11,7 +11,7 @@ module Oneview
11
11
  extend Oneview::ClassMethods
12
12
  include HTTParty
13
13
 
14
- require_all 'oneview/api', 'contacts', 'emails'
14
+ require_all 'oneview/api', 'contacts', 'emails', 'sms'
15
15
 
16
16
  attr_accessor :access_token
17
17
 
@@ -27,6 +27,10 @@ module Oneview
27
27
  def emails
28
28
  Oneview::Api::Emails.new(@access_token)
29
29
  end
30
+
31
+ def sms
32
+ Oneview::Api::Sms.new(@access_token)
33
+ end
30
34
 
31
35
  protected
32
36
  def header
@@ -0,0 +1,7 @@
1
+ module Oneview
2
+ module Entity
3
+ class Sms < Base
4
+ attr_accessor :numbers, :message, :schedule
5
+ end
6
+ end
7
+ end
@@ -1,3 +1,3 @@
1
1
  module Oneview
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.6"
3
3
  end
@@ -0,0 +1,39 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe Oneview::Api::Sms do
4
+ describe "creating" do
5
+ let(:sms_params) {{:numbers => "55129985587", :message => "message", :schedule => "14/05/2014 15:30", :access_token => "abc"}}
6
+ let(:header) {{"Content-Type" => "application/json", "Accept" => "application/json"}}
7
+
8
+ before(:each) do
9
+ @sms = Oneview::Entity::Sms.new
10
+ @sms.numbers = "55129985587"
11
+ @sms.message = "message"
12
+ @sms.schedule = "14/05/2014 15:30"
13
+
14
+ stub_request(:post, "http://www.oneview.com.br/api/senders/send_sms/").to_return(:status => 200)
15
+ end
16
+
17
+ describe "with raw parameters" do
18
+ it "should post to the send sms url" do
19
+ expect(Oneview::Api::Sms).to receive(:post).with("/", :body => sms_params.to_json, :headers => header).and_call_original
20
+
21
+ Oneview.new("abc").sms.create(sms_params)
22
+ end
23
+ end
24
+
25
+ describe "with entity parameter" do
26
+ it "should post to the send sms url" do
27
+ expect(Oneview::Api::Sms).to receive(:post).with("/", :body => @sms.as_parameter.merge(:access_token => "abc").to_json, :headers => header).and_call_original
28
+
29
+ Oneview.new("abc").sms.create(@sms)
30
+ end
31
+ end
32
+
33
+ describe "with invalid parameter" do
34
+ it "should raise ArgumentError when passing neither a Hash nor an Sms" do
35
+ expect{Oneview.new("abc").sms.create(Array.new)}.to raise_error(ArgumentError)
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,16 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe Oneview::Entity::Sms do
4
+ describe "as_parameter" do
5
+ let(:sms_as_parameter) {{"numbers" => "5512998998798", "message" => "Bodys Test"}}
6
+
7
+ it "should return the sms as parameter" do
8
+ sms = Oneview::Entity::Sms.new
9
+
10
+ sms.message = "Bodys Test"
11
+ sms.numbers = "5512998998798"
12
+
13
+ expect(sms.as_parameter).to eq(sms_as_parameter)
14
+ end
15
+ end
16
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oneview
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gustavo Berdugo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-18 00:00:00.000000000 Z
11
+ date: 2015-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -55,21 +55,25 @@ files:
55
55
  - lib/oneview.rb
56
56
  - lib/oneview/api/contacts.rb
57
57
  - lib/oneview/api/emails.rb
58
+ - lib/oneview/api/sms.rb
58
59
  - lib/oneview/client.rb
59
60
  - lib/oneview/entity/base.rb
60
61
  - lib/oneview/entity/contact.rb
61
62
  - lib/oneview/entity/dynamic_field.rb
62
63
  - lib/oneview/entity/email.rb
63
64
  - lib/oneview/entity/phone.rb
65
+ - lib/oneview/entity/sms.rb
64
66
  - lib/oneview/version.rb
65
67
  - oneview.gemspec
66
68
  - spec/oneview/api/contacts_spec.rb
67
69
  - spec/oneview/api/emails_spec.rb
70
+ - spec/oneview/api/sms_spec.rb
68
71
  - spec/oneview/client_spec.rb
69
72
  - spec/oneview/entity/contact_spec.rb
70
73
  - spec/oneview/entity/dynamic_field_spec.rb
71
74
  - spec/oneview/entity/email_spec.rb
72
75
  - spec/oneview/entity/phone_spec.rb
76
+ - spec/oneview/entity/sms_spec.rb
73
77
  - spec/oneview_spec.rb
74
78
  - spec/spec_helper.rb
75
79
  homepage: https://github.com/coyosoftware/oneview
@@ -92,17 +96,19 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
96
  version: '0'
93
97
  requirements: []
94
98
  rubyforge_project:
95
- rubygems_version: 2.4.5
99
+ rubygems_version: 2.4.6
96
100
  signing_key:
97
101
  specification_version: 4
98
102
  summary: This gem provides integration with Oneview APIs (http://www.oneview.com.br/)
99
103
  test_files:
100
104
  - spec/oneview/api/contacts_spec.rb
101
105
  - spec/oneview/api/emails_spec.rb
106
+ - spec/oneview/api/sms_spec.rb
102
107
  - spec/oneview/client_spec.rb
103
108
  - spec/oneview/entity/contact_spec.rb
104
109
  - spec/oneview/entity/dynamic_field_spec.rb
105
110
  - spec/oneview/entity/email_spec.rb
106
111
  - spec/oneview/entity/phone_spec.rb
112
+ - spec/oneview/entity/sms_spec.rb
107
113
  - spec/oneview_spec.rb
108
114
  - spec/spec_helper.rb