velocify 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a3f8637807ba83f0fffa648a0672a075b4414a75
4
- data.tar.gz: 5ac014642b7032104cbd11d633f1ecc3fdf4397c
3
+ metadata.gz: cb9807a174a61d5c269b5a6c8c82a70518b1c1fd
4
+ data.tar.gz: fd1f26749f639632e8e76140e23d72b6fbe79dd7
5
5
  SHA512:
6
- metadata.gz: 7fd417d8fec9ec1ced275d3348cc09ebc07d52891fcab22475573edf0e16165f8e0cbecf8983c9240f2efb1b8f97177076ee268617a5c2db26b96a3c77fb83fa
7
- data.tar.gz: 51df44628159511a6130665b2c520a20cc56ca16363726a2825451ec9e93c83dffcce1f58c5c91a9e751289df27f25a023feaf3118ee2a8b33a5ebfc49f47eb0
6
+ metadata.gz: f6c4334483720f3e7e929b0fdd997b9a533b3000b7997377d1fdbcce9194240aba724c6fad3217f34ccdd8fe64020901269babcdf37f9314354622a0c2870bd1
7
+ data.tar.gz: 504b3bc13bbc1bffdce8be6d45f940846e0cb00f129112272aeb9364a1a431a46e0bc1f23ea88cb0be70c767b49c7a7989041b6ca78bc52a736ac22030938de2
@@ -0,0 +1,16 @@
1
+ # Changes in 0.1.3
2
+
3
+ * All model classes now support the optional keyword argument ```return_array:``` if you want to receive
4
+ a response that wraps the results in an array:
5
+
6
+ ``` ruby
7
+ leads = Velocify::Lead.find_by_email 'hi@example.org', return_array: true
8
+ # Every element in the array would contain a lead
9
+ # => [{ ... }, ... ]
10
+ ```
11
+
12
+ ## Breaking Changes
13
+
14
+ * ```Velocify::Lead.find_all``` by default returns a response like so ```{leads=>{lead=> ... }```
15
+ instead of ```{get_leads_response=>{get_leads_result=>{leads=>lead=> ... }```.
16
+
data/README.md CHANGED
@@ -21,14 +21,60 @@ Or install it yourself as:
21
21
  ## Usage
22
22
 
23
23
  Before getting started, you must export two environment variables: ```VELOCIFY_USERNAME``` and ```VELOCIFY_PASSWORD```.
24
+ This gem uses Dotenv, so you can add these variables to your ```.env``` file in the root folder of your project.
24
25
 
25
26
  ``` ruby
26
27
  require 'velocify'
27
28
 
28
29
  statuses = Velocify::Status.find_all
29
- dormant_id = Velocify::ResponseReader.read(kind: :status, statuses).find_id_by_title 'Dormant'
30
+ # => {statuses=>status=>[{...}, ...]}
31
+
32
+ dormant_id = Velocify::ResponseReader.read(kind: :status, response: statuses).find_id_by_title 'Dormant'
33
+ # => 31
34
+
35
+ statuses_with_name = Velocify::ResponseReader.read(kind: :status, response: statuses).search_by_title 'Name'
36
+ # => [{...}, ...]
37
+
38
+ leads = Velocify::Lead.find_last_created
39
+ # => {leads=>lead=>{...}}
40
+
41
+ # There's also support for destructuring
42
+
43
+ success, leads = Velocify::Lead.find_all from: '2000-01-01T00:00:00', to: '2000-02-01T00:00:00', destruct: true
44
+ # => [true, {leads=>lead=>[{...}]}]
45
+ success
46
+ # => true
47
+ payload
48
+ # => {leads=>lead=>[{ ... }]}
49
+
50
+ # You can even have your results returned as an array
51
+
52
+ success, leads = Velocify::Lead.find_all from: '2000-01-01T00:00:00', to: '2000-02-01T00:00:00', destruct: true, return_array: true
53
+ # => [true, [{...}, ... }]
54
+
55
+ # Pushing leads to Velocify
56
+ campaign_id = Velocify::ResponseReader.read(kind: :campaign, response: Velocify::Campaign.find_all).find_id_by_title 'Test Campaign'
57
+ status_id = Velocify::ResponseReader.read(kind: :status, response: Velocify::Status.find_all).find_id_by_title 'Active'
58
+ last_name_id = Velocify::ResponseReader.read(kind: :field, response: Velocify::Field.find_all).find_id_by_title 'Last Name'
59
+ first_name_id = Velocify::ResponseReader.read(kind: :field, response: Velocify::Field.find_all).find_id_by_title 'First Name'
60
+
61
+ lead = Lead.new
62
+ lead.campaign_id = campaign_id
63
+ lead.status_id = status_id
64
+ lead.add_field id: first_name_id, value: "Joe"
65
+ lead.add_field id: last_name_id, value: "Bo"
66
+
67
+ list = Velocify::LeadList.new
68
+ list.add_lead lead
69
+ xml_payload = list.render # Renders xml output
70
+
71
+ Velocify::Lead.add leads: xml_payload
30
72
  ```
31
73
 
74
+ ## Changes
75
+
76
+ For a list of changes in each release, read the CHANGELOG.
77
+
32
78
  ## Development
33
79
 
34
80
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -2,14 +2,20 @@ module Velocify
2
2
  class Campaign
3
3
  include Model
4
4
 
5
- operations :get_campaigns
6
-
7
- def self.find_all destruct: false
5
+ def self.find_all destruct: false, return_array: false
8
6
  verify_credentials!
9
7
 
10
- request(destruct: destruct) do
11
- response = get_campaigns(message: @credentials)
12
- response.body[:get_campaigns_response][:get_campaigns_result]
8
+ request do
9
+ enable_destructuring destruct
10
+ operation :get_campaigns
11
+ authenticate true
12
+ transform do |resp|
13
+ if return_array
14
+ arrayify resp[:campaigns][:campaign]
15
+ else
16
+ resp
17
+ end
18
+ end
13
19
  end
14
20
  end
15
21
  end
@@ -2,16 +2,22 @@ module Velocify
2
2
  class Field
3
3
  include Model
4
4
 
5
- operations :get_fields
6
-
7
5
  # @return [Hash] a list of fields
8
6
  #
9
- def self.find_all destruct: false
7
+ def self.find_all destruct: false, return_array: false
10
8
  verify_credentials!
11
9
 
12
- request(destruct: destruct) do
13
- response = get_fields(message: @credentials)
14
- response.body[:get_fields_response][:get_fields_result]
10
+ request do
11
+ enable_destructuring destruct
12
+ operation :get_fields
13
+ authenticate true
14
+ transform do |resp|
15
+ if return_array
16
+ arrayify resp[:fields][:field]
17
+ else
18
+ resp
19
+ end
20
+ end
15
21
  end
16
22
  end
17
23
  end
@@ -2,15 +2,21 @@ module Velocify
2
2
  class FieldType
3
3
  include Model
4
4
 
5
- operations :get_field_types
6
-
7
5
  # @return [Hash] a list of fields
8
- def self.find_all destruct: false
6
+ def self.find_all destruct: false, return_array: false
9
7
  verify_credentials!
10
8
 
11
- request(destruct: destruct) do
12
- response = get_field_types(message: authenticated_message({}))
13
- response.body[:get_field_types_response][:get_field_types_result]
9
+ request do
10
+ enable_destructuring destruct
11
+ operation :get_field_types
12
+ authenticate true
13
+ transform do |resp|
14
+ if return_array
15
+ arrayify resp[:field_types][:field_type]
16
+ else
17
+ resp
18
+ end
19
+ end
14
20
  end
15
21
  end
16
22
  end
@@ -2,16 +2,6 @@ module Velocify
2
2
  class Lead
3
3
  include Model
4
4
 
5
- operations :get_lead,
6
- :get_leads,
7
- :get_last_created_lead,
8
- :get_leads_by_email,
9
- :get_last_modified_lead,
10
- :get_leads_by_phone,
11
- :modify_lead_field,
12
- :modify_lead_status,
13
- :add_leads
14
-
15
5
  attr :fields
16
6
  attr_accessor :campaign_id, :agent_id, :status_id
17
7
 
@@ -36,12 +26,20 @@ module Velocify
36
26
  # @param leads [String] The string representation of the XML document
37
27
  # containing the new leads
38
28
  #
39
- def add leads:, destruct: false
29
+ def add leads:, destruct: false, return_array: false
40
30
  verify_credentials!
41
31
 
42
- request(destruct: destruct) do
43
- response = add_leads(message: authenticated_message({ leads: leads }))
44
- response.body[:add_leads_response][:add_leads_result]
32
+ request do
33
+ enable_destructuring destruct
34
+ operation :add_leads_response
35
+ message leads: leads
36
+ transform do |resp|
37
+ if return_array
38
+ arrayify resp[:leads][:lead]
39
+ else
40
+ resp
41
+ end
42
+ end
45
43
  end
46
44
  end
47
45
 
@@ -51,14 +49,21 @@ module Velocify
51
49
  # @param to [String] The end date
52
50
  # @return [Hash] The leads between the `from:` and `to:` dates
53
51
  #
54
- def find_all from:, to:, destruct: false
52
+ def find_all from:, to:, destruct: false, return_array: false
55
53
  verify_credentials!
56
54
 
57
- m = { from: from, to: to }
58
-
59
- request(destruct: destruct) do
60
- response = get_leads(message: authenticated_message(m))
61
- response.body
55
+ request do
56
+ enable_destructuring destruct
57
+ operation :get_leads
58
+ message from: from, to: to
59
+ authenticate true
60
+ transform do |resp|
61
+ if return_array
62
+ arrayify resp[:leads][:lead]
63
+ else
64
+ resp
65
+ end
66
+ end
62
67
  end
63
68
  end
64
69
 
@@ -67,12 +72,21 @@ module Velocify
67
72
  # @param email [String] The email address used to search for a lead
68
73
  # @return [Hash] The leads having the matching email address
69
74
  #
70
- def find_by_email email, destruct: false
75
+ def find_by_email email, destruct: false, return_array: false
71
76
  verify_credentials!
72
77
 
73
- request(destruct: destruct) do
74
- response = get_leads_by_email(message: authenticated_message({ email: email }))
75
- response.body[:get_leads_by_email_response][:get_leads_by_email_result]
78
+ request do
79
+ enable_destructuring destruct
80
+ operation :get_leads_by_email
81
+ authenticate true
82
+ message email: email
83
+ transform do |resp|
84
+ if return_array
85
+ arrayify resp[:leads][:lead]
86
+ else
87
+ resp
88
+ end
89
+ end
76
90
  end
77
91
  end
78
92
 
@@ -81,12 +95,21 @@ module Velocify
81
95
  # @param phone [String] The phone number used to search for a lead
82
96
  # @return [Hash] The leads having the matching phone number
83
97
  #
84
- def find_by_phone phone, destruct: false
98
+ def find_by_phone phone, destruct: false, return_array: false
85
99
  verify_credentials!
86
-
87
- request(destruct: destruct) do
88
- response = get_leads_by_phone(message: authenticated_message({ phone: phone.gsub(/[()\- ]/, '') }))
89
- response.body[:get_leads_by_phone_response][:get_leads_by_phone_result]
100
+
101
+ request do
102
+ enable_destructuring destruct
103
+ operation :get_leads_by_phone
104
+ message phone: phone.gsub(/[()\- ]/, '')
105
+ authenticate true
106
+ transform do |resp|
107
+ if return_array
108
+ arrayify resp[:leads][:lead]
109
+ else
110
+ resp
111
+ end
112
+ end
90
113
  end
91
114
  end
92
115
 
@@ -95,30 +118,73 @@ module Velocify
95
118
  # @param id [String] the id of the lead
96
119
  # @return [Hash] The lead with the matching id
97
120
  #
98
- def find_by_id id, destruct: false
121
+ def find_by_id id, destruct: false, return_array: false
99
122
  verify_credentials!
100
123
 
101
- request(destruct: destruct) do
102
- response = get_lead(message: authenticated_message({ lead_id: id }))
103
- response.body[:get_lead_response][:get_lead_result]
124
+ request do
125
+ enable_destructuring destruct
126
+ operation :get_lead
127
+ authenticate true
128
+ message lead_id: id
129
+ transform do |resp|
130
+ if return_array
131
+ arrayify resp[:leads][:lead]
132
+ else
133
+ resp
134
+ end
135
+ end
104
136
  end
105
137
  end
106
138
 
107
- def find_last_created destruct: false
139
+ def find_last_created destruct: false, return_array: false
108
140
  verify_credentials!
109
141
 
110
- request(destruct: destruct) do
111
- response = get_last_created_lead(message: authenticated_message({}))
112
- response.body[:get_last_created_lead_response][:get_last_created_lead_result]
142
+ request do
143
+ enable_destructuring destruct
144
+ operation :get_last_created_lead
145
+ authenticate true
146
+ transform do |resp|
147
+ if return_array
148
+ arrayify resp[:leads][:lead]
149
+ else
150
+ resp
151
+ end
152
+ end
113
153
  end
114
154
  end
115
155
 
116
- def find_last_modified destruct: false
156
+ def find_last_modified destruct: false, return_array: false
117
157
  verify_credentials!
118
158
 
119
- request(destruct: destruct) do
120
- response = get_last_modified_lead(message: authenticated_message({}))
121
- response.body[:get_last_modified_lead_response][:get_last_modified_lead_result]
159
+ request do
160
+ enable_destructuring destruct
161
+ operation :get_last_modified_lead
162
+ authenticate true
163
+ transform do |resp|
164
+ if return_array
165
+ arrayify resp[:leads][:lead]
166
+ else
167
+ resp
168
+ end
169
+ end
170
+ end
171
+ end
172
+
173
+ def remove id:, destruct: false, return_array: false
174
+ verify_credentials!
175
+
176
+ request do
177
+ enable_destructuring destruct
178
+ operation :remove_lead
179
+ authenticate true
180
+ message lead_id: id
181
+ transform do |resp|
182
+ if return_array
183
+ arrayify resp[:response][:removals] # also [:lead] ?
184
+ else
185
+ resp
186
+ end
187
+ end
122
188
  end
123
189
  end
124
190
 
@@ -132,15 +198,21 @@ module Velocify
132
198
  # @param status_id [String] The id of the status
133
199
  # @return [Hash] The response containing the updated lead
134
200
  #
135
- def update_status lead_id:, status_id:, destruct: false
201
+ def update_status lead_id:, status_id:, destruct: false, return_array: false
136
202
  verify_credentials!
137
203
 
138
- request(destruct: destruct) do
139
- response = modify_lead_status(message: authenticated_message({
140
- lead_id: lead_id,
141
- status_id: status_id
142
- }))
143
- response.body[:modify_lead_status_response][:modify_lead_status_result]
204
+ request do
205
+ enable_destructuring destruct
206
+ operation :modify_lead_status
207
+ authenticate true
208
+ message lead_id: lead_id, status_id: status_id
209
+ transform do |resp|
210
+ if return_array
211
+ arrayify resp[:leads][:lead]
212
+ else
213
+ resp
214
+ end
215
+ end
144
216
  end
145
217
  end
146
218
 
@@ -151,18 +223,26 @@ module Velocify
151
223
  # @param new_value [String] The new value of the field
152
224
  # @return [Hash] The response containing the updated lead
153
225
  #
154
- def update_field lead_id:, field_id:, new_value:, destruct: false
226
+ def update_field lead_id:, field_id:, new_value:, destruct: false, return_array: false
155
227
  verify_credentials!
156
-
157
- request(destruct: destruct) do
158
- response = modify_lead_field(message: authenticated_message({
159
- field_id: field_id,
160
- lead_id: lead_id,
161
- new_value: new_value
162
- }))
163
- response.body[:modify_lead_field_response][:modify_lead_field_result]
228
+
229
+ request do
230
+ enable_destructuring destruct
231
+ operation :modify_lead_field
232
+ authenticate true
233
+ message field_id: field_id, lead_id: lead_id, new_value: new_value
234
+ transform do |resp|
235
+ if return_array
236
+ arrayify resp[:leads][:lead]
237
+ else
238
+ resp
239
+ end
240
+ end
164
241
  end
165
242
  end
243
+
244
+ alias_method :last_created, :find_last_created
245
+ alias_method :last_modified, :find_last_modified
166
246
  end
167
247
  end
168
248
  end
@@ -1,65 +1,176 @@
1
1
  module Velocify
2
- module ModelHelpers
3
- attr :credentials
4
-
5
- def authenticate!
6
- @credentials = {
7
- username: ENV['VELOCIFY_USERNAME'],
8
- password: ENV['VELOCIFY_PASSWORD']
9
- }
10
- valid_credentials?
11
- end
2
+ module Model
3
+ class Client
4
+ WSDL = 'http://service.leads360.com/ClientService.asmx?WSDL'
12
5
 
13
- def authenticated?
14
- valid_credentials?
15
- end
6
+ attr :spec, :client, :credentials
7
+
8
+ def initialize spec, credentials: nil
9
+ @spec = spec
10
+ @credentials = credentials
11
+ @client = Savon.client wsdl: WSDL
12
+ end
13
+
14
+ def call
15
+ payload = {}
16
+
17
+ if spec.has_message?
18
+ payload = spec.__message
19
+ end
20
+
21
+ if spec.requires_auth?
22
+ payload.merge! credentials
23
+ end
16
24
 
17
- private
25
+ raw_response = client.call(spec.__operation, { message: payload }).body
26
+ response_tag = "#{spec.__operation.to_s}_response".to_sym
27
+ result_tag = "#{spec.__operation.to_s}_result".to_sym
28
+ response = raw_response[response_tag][result_tag]
18
29
 
19
- def verify_credentials!
20
- if @credentials.nil?
21
- raise Velocify::AuthenticationException, "You must export your credentials to the environment"
30
+ if spec.has_transform?
31
+ spec.__transform.call response
32
+ else
33
+ response
34
+ end
22
35
  end
36
+
37
+ private
38
+
39
+ def client; @client; end
40
+
41
+ def credentials; @credentials; end
23
42
  end
24
43
 
25
- def authenticated_message msg
26
- @credentials.merge(msg) unless @credentials.nil?
44
+ module RequestHelpers
45
+ def arrayify data
46
+ if data.instance_of? Array
47
+ data
48
+ else
49
+ [data]
50
+ end
51
+ end
27
52
  end
53
+
54
+ class RequestSpecification
55
+ include RequestHelpers
56
+
57
+ attr :destruct, :operation, :transform, :message, :credentials, :authenticate
58
+
59
+ def initialize
60
+ @destruct = false
61
+ end
62
+
63
+ def enable_destructuring is_on
64
+ @destruct = is_on
65
+ end
66
+
67
+ def destruct?
68
+ @destruct
69
+ end
70
+
71
+ def authenticate is_on
72
+ @authenticate = is_on
73
+ end
74
+
75
+ def message *msg
76
+ @message = Hash[ *msg ]
77
+ end
78
+
79
+ def operation op
80
+ @operation = op.to_sym
81
+ end
82
+
83
+ def transform &block
84
+ @transform = block
85
+ end
28
86
 
29
- def valid_credentials?
30
- return false if @credentials.nil?
31
- !@credentials[:username].empty? && !@credentials[:password].empty?
87
+ def has_message?
88
+ !@message.nil?
89
+ end
90
+
91
+ def requires_auth?
92
+ !@authenticate.nil?
93
+ end
94
+
95
+ def has_transform?
96
+ !@transform.nil?
97
+ end
98
+
99
+ def __message
100
+ @message
101
+ end
102
+
103
+ def __operation
104
+ @operation
105
+ end
106
+
107
+ def __transform
108
+ @transform
109
+ end
32
110
  end
33
111
 
34
- def request destruct: false, &block
35
- begin
36
- if destruct
37
- result = yield block
38
- [true, result]
39
- else
40
- yield block
41
- end
42
- rescue Savon::SOAPFault => ex
43
- if destruct
44
- [false, { message: ex.message }]
45
- else
46
- { message: ex.message }
112
+ module ModelHelpers
113
+ attr :credentials
114
+
115
+ def authenticate!
116
+ @credentials = {
117
+ username: ENV['VELOCIFY_USERNAME'],
118
+ password: ENV['VELOCIFY_PASSWORD']
119
+ }
120
+ valid_credentials?
121
+ end
122
+
123
+ def authenticated?
124
+ valid_credentials?
125
+ end
126
+
127
+ private
128
+
129
+ def verify_credentials!
130
+ if @credentials.nil?
131
+ raise Velocify::AuthenticationException, "You must export your credentials to the environment"
47
132
  end
48
- rescue Net::ReadTimeout => ex
49
- if destruct
50
- [false, { message: ex.message }]
51
- else
52
- { message: ex.message }
133
+ end
134
+
135
+ def authenticated_message msg
136
+ @credentials.merge(msg) unless @credentials.nil?
137
+ end
138
+
139
+ def valid_credentials?
140
+ return false if @credentials.nil?
141
+ !@credentials[:username].empty? && !@credentials[:password].empty?
142
+ end
143
+
144
+ def request destruct: false, &block
145
+ begin
146
+ spec = RequestSpecification.new
147
+ spec.instance_eval(&block)
148
+ client = Client.new spec, credentials: @credentials
149
+
150
+ if destruct || spec.destruct?
151
+ result = client.call
152
+ [true, result]
153
+ else
154
+ client.call
155
+ end
156
+ rescue Savon::SOAPFault => ex
157
+ if destruct || spec.destruct?
158
+ [false, { message: ex.message }]
159
+ else
160
+ { message: ex.message }
161
+ end
162
+ rescue Net::ReadTimeout => ex
163
+ if destruct || spec.destruct?
164
+ [false, { message: ex.message }]
165
+ else
166
+ { message: ex.message }
167
+ end
53
168
  end
54
169
  end
55
170
  end
56
- end
57
-
58
- module Model
171
+
59
172
  def self.included mod
60
- mod.extend Savon::Model
61
- mod.client wsdl: 'http://service.leads360.com/ClientService.asmx?WSDL'
62
- mod.extend Velocify::ModelHelpers
173
+ mod.extend ModelHelpers
63
174
  mod.authenticate!
64
175
  end
65
176
  end
@@ -2,14 +2,20 @@ module Velocify
2
2
  class Status
3
3
  include Model
4
4
 
5
- operations :get_statuses
6
-
7
- def self.find_all destruct: false
5
+ def self.find_all destruct: false, return_array: false
8
6
  verify_credentials!
9
7
 
10
- request(destruct: destruct) do
11
- response = get_statuses(message: authenticated_message({}))
12
- response.body[:get_statuses_response][:get_statuses_result]
8
+ request do
9
+ enable_destructuring destruct
10
+ operation :get_statuses
11
+ authenticate true
12
+ transform do |resp|
13
+ if return_array
14
+ arrayify resp[:statuses][:status]
15
+ else
16
+ resp
17
+ end
18
+ end
13
19
  end
14
20
  end
15
21
  end
@@ -1,3 +1,3 @@
1
1
  module Velocify
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
@@ -1,20 +1,19 @@
1
- <!-- sample XML payload for AddLeads webmethod -->
2
1
  <Leads>
3
2
  <% @leads.each do |lead| %>
4
3
  <Lead>
5
4
  <% if lead.status_id? %>
6
- <Status StatusId="<%= lead.status_id %>"/>
7
- <% end %>
8
- <% if lead.agent_id? %>
9
- <Agent AgentId="<%= lead.agent_id %>"/>
5
+ <Status StatusId="<%= lead.status_id %>"></Status>
10
6
  <% end %>
11
7
  <% if lead.campaign_id? %>
12
- <Campaign CampaignId="<%= lead.campaign_id %>"/>
8
+ <Campaign CampaignId="<%= lead.campaign_id %>"></Campaign>
9
+ <% end %>
10
+ <% if lead.agent_id? %>
11
+ <Agent AgentId="<%= lead.agent_id %>"></Agent>
13
12
  <% end %>
14
13
  <% unless lead.fields.empty? %>
15
14
  <Fields>
16
15
  <% lead.fields.each do |field| %>
17
- <Field FieldId="<%= field[:id] %>" Value="<%= field[:value] %>"/>
16
+ <Field FieldId="<%= field[:id] %>" Value="<%= field[:value] %>"></Field>
18
17
  <% end %>
19
18
  </Fields>
20
19
  <% end %>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: velocify
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Dyba
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-09-17 00:00:00.000000000 Z
11
+ date: 2015-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: savon
@@ -117,6 +117,7 @@ extra_rdoc_files: []
117
117
  files:
118
118
  - ".gitignore"
119
119
  - ".travis.yml"
120
+ - CHANGELOG.md
120
121
  - CODE_OF_CONDUCT.md
121
122
  - Gemfile
122
123
  - LICENSE.txt