oneview 0.0.4 → 0.0.6

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
  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