essential 0.9.0 → 0.9.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7fef856a4598b665b03c68baaf34c34eb79a8d8d
4
- data.tar.gz: 81c1e44539dfbe8b6dc59dd7f61165640247a2a7
3
+ metadata.gz: 0294238d2f9124a97f0c5c0c32f36a38280fc357
4
+ data.tar.gz: f26dba74bc362acf8f9cb59af12a6b7fb95ed560
5
5
  SHA512:
6
- metadata.gz: 2f81a83c772e1190736131d8c99444538b1451b2ce609625e4528474584e992eb78f9d2cb45ab0067ddedb15e3a8dafede902da1c3233cba1db48b0c3233d803
7
- data.tar.gz: 061610d3b785a2d8ee7d9dffa12605b93c9da1a59c6401b6668a170f420c534727a2480e3519b175450272160a3fe47d4f3c9e057003213572a11e5cd37da373
6
+ metadata.gz: 136ca9cff95bde947f462bd8c5a8f02a407868d1720c5cb47761cefb59e84ee19a889733ebb346d94dc4a8cd3c79d46071ca2c05f2923713bf1fa332e70995b0
7
+ data.tar.gz: 3c8d1bf4e9424b0a2c89b36552f357ba9872a615e536339174d4a2917447f2f45b54f4499dd6cdfb02915571a57348ca96a9261cbd83b2ff37aff7187c3adc7c
data/README.md CHANGED
@@ -88,20 +88,3 @@ message = Essential::Messaging::Message.create(
88
88
  body: 'explicit channel'
89
89
  )
90
90
  ```
91
-
92
- ### Properties
93
-
94
- ```ruby
95
- subscriber = channel.subscribers.create(phone_number: '2065551212')
96
-
97
- # set new properties
98
- subscriber.properties.create(name: 'external_id', value: 1234)
99
- subscriber.properties.create(name: 'name', value: 'Brendan Ribera')
100
- subscriber.properties.create(name: 'state', value: 'WA')
101
-
102
- # print them
103
- puts JSON.pretty_generate(subscriber.properties.as_json)
104
-
105
- # update one
106
- subscriber.properties.create(name: 'name', value: 'Nabnerb Arebir')
107
- ```
@@ -15,7 +15,6 @@ require 'essential/account'
15
15
 
16
16
  # Messaging Resources
17
17
  require 'essential/messaging/message'
18
- require 'essential/messaging/property'
19
18
  require 'essential/messaging/transport'
20
19
  require 'essential/messaging/subscriber'
21
20
  require 'essential/messaging/channel'
@@ -27,15 +27,6 @@ module Essential::Messaging
27
27
  )
28
28
  end
29
29
 
30
- def properties
31
- Essential::Resource::PaginatorProxy.new(
32
- Property,
33
- url: Property.url(self.sid),
34
- headers: @headers,
35
- attrs: {subscriber_sid: self.sid},
36
- )
37
- end
38
-
39
30
  def self.by_carrier(params: {}, headers: @headers)
40
31
  # permitted:
41
32
  # :start_date, :end_date, :carrier
@@ -62,18 +62,20 @@ module Essential
62
62
  end
63
63
 
64
64
  def inspect
65
+ innards = [:proxied_class, :total, :per_page, :headers, :params].map do |m|
66
+ attr = self.send(m)
67
+ if attr
68
+ format(' @%s=%s', m, attr.inspect)
69
+ else
70
+ nil
71
+ end
72
+ end
73
+
65
74
  format(
66
- '#<%s:0x%s %s>',
75
+ "#<%s:0x%s\n%s\n>",
67
76
  self.class.name,
68
77
  (self.object_id << 1).to_s(16),
69
- [:total, :per_page, :headers, :params].map do |m|
70
- attr = self.send(m)
71
- if attr
72
- format('@%s=%s', m, attr.inspect)
73
- else
74
- nil
75
- end
76
- end.compact.join(', ')
78
+ innards.compact.join(",\n")
77
79
  )
78
80
  end
79
81
 
@@ -98,7 +100,7 @@ module Essential
98
100
 
99
101
  json = JSON.parse(response)
100
102
  @fetched_pages[page || 1] = json.map do |json|
101
- # persist @attrs across returned objects, as when listing a Subscriber Property.
103
+ # persist @attrs across returned objects
102
104
  attrs = @attrs.merge(json)
103
105
  @proxied_class.from_attributes(attrs, headers: @headers)
104
106
  end
@@ -1,3 +1,3 @@
1
1
  module Essential
2
- VERSION = '0.9.0'.freeze
2
+ VERSION = '0.9.1'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: essential
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brendan Ribera
@@ -70,7 +70,6 @@ files:
70
70
  - lib/essential/errors/api_error.rb
71
71
  - lib/essential/messaging/channel.rb
72
72
  - lib/essential/messaging/message.rb
73
- - lib/essential/messaging/property.rb
74
73
  - lib/essential/messaging/subscriber.rb
75
74
  - lib/essential/messaging/transport.rb
76
75
  - lib/essential/resource.rb
@@ -85,7 +84,6 @@ files:
85
84
  - test/essential/account_test.rb
86
85
  - test/essential/messaging/channel_test.rb
87
86
  - test/essential/messaging/message_test.rb
88
- - test/essential/messaging/property_test.rb
89
87
  - test/essential/messaging/subscriber_test.rb
90
88
  - test/essential/messaging/transport_test.rb
91
89
  - test/integration/alternate_authentication_test.rb
@@ -118,7 +116,6 @@ test_files:
118
116
  - test/essential/account_test.rb
119
117
  - test/essential/messaging/channel_test.rb
120
118
  - test/essential/messaging/message_test.rb
121
- - test/essential/messaging/property_test.rb
122
119
  - test/essential/messaging/subscriber_test.rb
123
120
  - test/essential/messaging/transport_test.rb
124
121
  - test/integration/alternate_authentication_test.rb
@@ -1,27 +0,0 @@
1
- module Essential::Messaging
2
- class Property < Essential::Resource
3
- include Essential::Resource::Update
4
- include Essential::Resource::Delete
5
-
6
- undef_method :sid
7
- attr_property :subscriber_sid, :name, :value
8
-
9
- def self.retrieve(*args)
10
- raise NotImplementedError, 'must be retrieved from a Subscriber'
11
- end
12
-
13
- def self.url(subscriber_sid)
14
- format('%s/%s/properties', Subscriber.url, CGI.escape(subscriber_sid))
15
- end
16
-
17
- def url
18
- format('%s/%s', self.class.url(subscriber_sid), CGI.escape(name))
19
- end
20
-
21
- protected
22
-
23
- def loaded?
24
- @attributes.key?('name') && @attributes.key?('value')
25
- end
26
- end
27
- end
@@ -1,27 +0,0 @@
1
- require 'test_helper'
2
-
3
- class PropertyTest < EssentialTest
4
- def setup
5
- channel = Essential::Messaging::Channel.list.first
6
- @sub_a = channel.subscribers.create(phone_number: '2221110000')
7
- @sub_b = channel.subscribers.create(phone_number: '2221110001')
8
- refute_equal @sub_a, @sub_b, 'test requires at least two subscribers'
9
- end
10
-
11
- def test_set_props
12
- props_a = @sub_a.properties
13
- existing_names = Set.new(props_a.map(&:name))
14
-
15
- five_new = (5.times).map do
16
- props_a.create(name: SecureRandom.uuid, value: SecureRandom.uuid)
17
- end
18
-
19
- new_names = Set.new(five_new.map(&:name))
20
-
21
- assert (existing_names & new_names).empty?, 'new_names must be new'
22
-
23
- props_a.refresh
24
- existing_names = Set.new(props_a.map(&:name))
25
- assert_equal (existing_names & new_names), new_names, 'must contain all new_names'
26
- end
27
- end